Re: [討論] 2D橫向捲軸動作遊戲的動作樹
※ 引述《KawasumiMai (魔物を討つ者)》之銘言:
: 這次要問的是洛克人的動作樹
: 洛克人X中,有站,走,衝,跳,空衝,攀牆下滑,彈璧,撞天花板等動作
→
09/23 13:10,
09/23 13:10
這個動作樹看起來跟
之前我與Etrex參加巴哈姆特遊戲設計大賽的作品有像
http://prj.gamer.com.tw/bcgc_vote/play_01.html
我的作法基本上就如同Etrex建議的一樣,是用類似State Pattern的作法
另外搭配Box2D來做碰撞偵測與模擬
不太一樣的是,我的state不是每一種input對應到一個method
而是在一個abstract method裡面偵測input
然後決定是否變換state
每一個class定義一種state
這是我的State部分的原始碼,你可以參考看看
http://bit.ly/aUQwxr
base class為PlayerState class
PlayerState.setState()為設定新state的method
PlayerState.onTick()每一個frame都會被呼叫
按鍵偵測就是在這個method中執行
各state會依照不同input而有不同行為
我已經忘記當時的動作樹是怎麼設計的了(因為手稿不見啦...)
但是觀察各state偵測input而呼叫setState()的時機
把原本的動作樹重新畫出來應該不會很難
StandingState是一開始的state
剩下的state名稱也取得很白話了
有velocity字眼的code,就是跟Box2D模擬的物件速度有關係
變數名稱取得很明白了,應該是看看就知道在做什麼
至於有movie clip字眼的code可以忽略
那是跟控制角色view有關的code而已
理論上這種view的code應該要跟model分開
不過當時因為在趕工,所以不管那麼多了...
--
CJ Cat = Croa'J Cat = Cockroach Cat = 西街凱特 = 蜚蠊貓 = 蟑螂貓
Blog http://cjcat.blogspot.com
Gallery http://cjcat2266.deviantart.com
ptt2 Board CJWorkshop - 阿多比閃光(Adobe Flash)研討區
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.168.21.249
※ 編輯: cjcat2266 來自: 118.168.21.249 (09/25 03:05)
→
09/25 14:33, , 1F
09/25 14:33, 1F
推
09/25 22:32, , 2F
09/25 22:32, 2F
討論串 (同標題文章)
Flash 近期熱門文章
PTT數位生活區 即時熱門文章