創作內容

0 GP

9/23,RPG障礙物實作,程式碼詳細實作與想法留待明天或以後補上

作者:李兒諳│2015-09-23 17:10:39│巴幣:0│人氣:170
最近我遷移住所,到了個交通較不便的地方
所以畢業前(最快105年6月底)應該是不太需要考慮求職了
不過我還是調整了下電動時程表
總算是有些時間處理網頁遊戲程式設計(或遊戲程式設計)了

約花了5小時來寫RPG地圖障礙物實作
會寫那麼久的原因是實作時我原先採用的做法有個問題一時想不出來原因
也因此我這次作品就放兩個版本留作紀念
(較好的說法應該是供各位參考,不過實質上就是紀念意義)
作品網址依然是http://1drv.ms/1EX2Ux0

因為安全性問題
OneDrive已經停止短網址功能
所以之前短網址連結一律修正為
https://onedrive.live.com/redir?resid=B90617D056EA2F32!124&authkey=!AKj_OaqXtM7Rjc8&ithint=folder%2cpng

檔案是:obstacle.html跟obstacle_debug.html
obstacle.html在某狀況下人物會太空漫步(漂浮)
後來為了找原因,做了個有顯示座標值的偵錯版本,也就是obstacle_debug.html
不過obstacle_debug.html現在是找出問題改寫後的版本了
若沒有找到致命的問題的話可能也是最終版本
雖然我不確定這麼寫效率上是否會有些問題
(或者說就算有問題,我暫時也想不到如何改良)

obstacle.html的障礙物示意圖如下:

也就是人物只能夠在外圍繞一圈

obstacle_debug.html則是:

雙障礙物的實作,人物不但只在外圍繞,還有個角落走不通

在談RPG障礙物實作前
首先要先修正下之前檔案的問題
雖然那時我操作也覺得怪怪的,但不是很確信自己的感覺
但在修正RPG障礙物實作過程時
很肯定的感到那問題就是:座標上限值設錯
之前的檔案若人物移動到邊界(右邊或下方)
之後再往邊界方向按移動鍵一陣子後再切回方向的話
會花些時間才開始踏出第一步
說得更具體些就是,原先的座標值設定忘記減掉角色圖檔大小(96*96)
也就是以前設座標上限值的程式碼要從這樣

if(w<=0) w=0;
else if(w>=1366) w=1366;
if(h<=0) h=0;
else if(h>=768) h=768;

改成這樣

if(w<=0) w=0;
else if(w>=1366-96) w=1366-96;
if(h<=0) h=0;
else if(h>=768-96) h=768-96;

由於打這篇文時剩下的時間不是很充足
就先停在這邊
程式碼說明留待明天或以後再補
其實自己看應該也能看得懂啦!!
畢竟我的思維也蠻單純的

那obstacle.html程式碼改的地方是
增加了個 map_obstacle陣列
格式是 [左上角x座標,左上角y座標,障礙物佔的長度,障礙物佔的寬度]
然後在draw_hp底下的if(move_character==0)底下
多了個條件判斷式跟些判別方向的switch case做相應的操作

至於obstacle_debug.html
也是增加 map_obstacle陣列,但是雙障礙物,所以元素個數是兩倍
(因為第一個html單障礙物就有些問題了,因此還沒做雙障礙物)
格式跟前述自然是一樣的
接著是在move_in_maze
按上下左右鍵的程式多了個判斷
(也就是先判斷再決定要不要移動,前個檔案是採事後修正的做法)
然後新增了個副程式,也就是function detect_obstacle

嗯,大致上就這樣
剩下的等明天或以後再談吧
也要想下接著要實作什麼功能(人物跟隨還是劇情觸發或地圖切換)
(囧,我上述是不是把之後要講的也講掉了啊?唔...應該還是有些細節要補充下啦!!)

哦,對,若覺得我程式碼寫得好像哪邊怪怪的
可能是因為有個功能是:
切換成橘色蛇時(上個作品用A鍵切換角色),可無視地圖障礙物

引用網址:https://home.gamer.com.tw/TrackBack.php?sn=2969414
All rights reserved. 版權所有,保留一切權利

相關創作

同標籤作品搜尋:RPG網頁設計

留言共 0 篇留言

我要留言提醒:您尚未登入,請先登入再留言

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

前一篇:9/18,電動(幽界之門... 後一篇:9/24,RPG障礙實作...

追蹤私訊切換新版閱覽

作品資料夾

s6902151所有人
新作品 https://home.gamer.com.tw/artwork.php?sn=5933689看更多我要大聲說7小時前


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

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