創作內容

9 GP

2016 02~04月進度

作者:龍恩│2016-04-29 17:51:32│巴幣:18│人氣:217
這三個月的製作遊戲
基本上想得比做的多
花了好幾天去思考要怎麼做
不過實際動手做只有一小時
當然啦!也要加上活動太多個性太懶等因素
才會導致進度永遠好像沒進度
進度如下

角色移動
  1. 鍵盤移動
  2. 滑鼠移動
  3. 支援斜坡
  4. 障礙物判斷
如果只是做鍵盤移動,我想我幾分鐘就可以結束這個功能
但再加上了要做後面3個功能以後,難度變大了很多

因為最早之前上Unity課程時只有使用鍵盤移動
基本是用transform.Translate讓角色移動
加上Unity內建的鋼體和Collider來做障礙物判斷
但這會導致兩個問題就是
1.人物速度過快會穿牆
2.玩家一直想穿牆時會震動


所以後來我聽從其他前輩的建議
不用鋼體,在人物要穿牆的時候
讓人物退回之前的點並鎖住該方向的鍵
舉例來說,如果玩家往下走時有牆壁,
在要穿越牆壁時程式會自動將玩家退回牆邊
並鎖住向下的鍵以避免震動


但後來要支援滑鼠時,發現判斷障礙物的方法行不通
所以我就開始想到自己是不是要寫一個跟RM判斷地形一樣的方法
就是把地圖劃分成好幾個格子後,在定義這些格子變數,
例如1代表通過,0代表障礙物等

但這個方法又有一個問題
就是要讓人物走斜坡的話該怎麼辦?
於是我上網看了一些文章
有看到例如算斜坡的角度之類的

突然之間我想到,如果我甚麼都要自己寫,那我為什麼不乾脆直接
用RM開發遊戲算了,還有用Unity這麼麻煩...
所以我就看了官方的2D教學視訊和原始專案檔
發現官方的人物移動速度快時不會穿牆也沒有震動的問題
又可以走斜坡
所以就決定拿官方的改了


最後剩下滑鼠移動
寫這個寫到快發瘋了
因為人物一直沒移動到我要到達的點
上網查了一堆網站都沒有
最後發現我卡在...
1.滑鼠點下去的位置要轉成攝影機看得懂的座標才能用
2.因為我是用NGUI寫的所以要轉成NGUI座標
所以要這樣轉
//使用UI攝影機將滑鼠座標轉換到NGUI的世界座標
mouse_target = UICamera.currentCamera.ScreenToWorldPoint(Input.mousePosition);
3.按下滑鼠後角色停不下來
最後是我判斷在兩點之間的X或Y的距離小於某個值後
直接把該方向的速度設成0

勉強可以用,不過之前我有看到好像還是有一些問題
如果再不行,恐怕又要換一個方法了...

事件編輯器
主要就把一些像是角色移動、對話、取得道具、選項等
都寫成一行行指令來執行
有關這個功能,我也想了很久,
我是要直接在寫在程式上就算了
還是先將這些指令寫在檔案上,之後再讀呢?

光是要讀取這些指令要用哪一種格式也是花了不少時間比較
像是XML、EXCEL、JSON都有試過
最後決定用JSON,除了我比較常用外,他的格式也比較自己
只是看的時候會很複雜就是了呀!


之後要把這些指令讀進遊戲內,一開始我是打算不用顯示這些指令在inspector上
但這樣不方便看,而且其實每個事件也都沒有共通性
所以最後我決定寫可以隨時Load和Save機制
這樣之後不管是更新資料在物件上還是檔案上都可以同步
先將這兩項功能放在Unity的選單上

之後按下這兩個功能後就可以把資料寫入讀取事件

PS:如果你想要顯示CLASS裡的全域變數,請在CLASS前加入
[System.Serializable]

利用JSON讀取事件和劇本台詞
這功能還好,主要是使用LitJson裡面有一個可以直接
將JSON的結構轉成CLASS的API花了些時間實驗罷了!
//這一行可以將JSON的資料轉成CLASS,不過JSON的Key要跟CLASS的變數一樣
//不然會轉失敗
List<XXX> ep = JsonMapper.ToObject<List<XXX>>(jsonData[""].ToJson());

讀取劇本台詞部分想好了,因為台詞太長,所以是寫在另一個檔案上,
再需要用到台詞時,只需要輸入關鍵字找即可
我個人覺得劇本寫在EXCEL還滿方便,比較有條理,不像寫在Word人物、動作、台詞呀!都擠在一起,可以分開
還可以直接讀取台詞就好,不需要額外再貼台詞到程式上或另外寫一個檔案
只是我還在想用EXCEL讀就好了還是匯出JSON...

其他的像是攝影機控制、攝影機跟隨玩家(用舊的)也有寫
官方提供的攝影機跟隨不好用

下次的話應該會研究一下SPINE PRO吧!
畢竟買了不用也很可惜
引用網址:https://home.gamer.com.tw/TrackBack.php?sn=3175137
All rights reserved. 版權所有,保留一切權利

相關創作

留言共 2 篇留言

Hua
excel轉csv

04-30 22:11

龍恩
對呀!這個也是可以04-30 22:20
藍筆猴魚
辛苦你了。加油![e19]

05-01 21:59

龍恩
謝謝~~希望遊戲能生出來05-01 23:40
我要留言提醒:您尚未登入,請先登入再留言

9喜歡★a1856707 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:許桑梓古厝4/2-4/5... 後一篇:自製遊戲公會成員報到單2...

追蹤私訊切換新版閱覽

作品資料夾

wse93035大家
更新黏土人文章!歡迎大家入內澆水OWO看更多我要大聲說昨天20:52


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】