看板 GameDesign 關於我們 聯絡資訊
關於像洛克人或Mario那種遊戲 有幾個問題想要請教 1.平台: C+似乎是比較多人推薦的,可是對於有物件的東西一開始的宣告不太友善 Flash可直接進行物件建立,可是作出來的遊戲就是會保有Flash的痕跡,選單之類的 GM的話很多東西似乎很死,要作到洛克人X攀牆的技術似乎不太容易,成品也有GM痕跡 那個比較好?還是有推薦的? 2.判定: 上次似乎有問過,拿一個方塊狀物體進行判定 然後將人物貼圖跟蹤那個方塊製造人物假象 這樣判定似乎會好一些? 不過這代表所有的狀態都得另外宣告? 3.狀態: 承上題 以洛克人來說,行走,衝刺,攀牆,發射等等 有各種動作和變化 如果是先用方塊來進行動作的話 意思是得用一個變數來宣告他的狀態,然後進行選擇肢? 像是原地跳,向前跳等等 是要用狀態進行if還是利用按鍵的巢狀if進行判定比較方便? 而且像是撞到牆停止,攀牆下滑,牆壁彈跳 還有彈跳中放開而下墜,或是彈跳中撞到天花板等等 if的先後順序都有點亂 只要寫反了就可能會造成穿牆..... 4.場景: 有一點問題是大多人物在左方開始,走到中間之後換成場景移動 回到某個點時則又變成人物移動 是宣告另外一個變數進行距離記錄? 還是有其他方法? 感覺這東西技術不難 可是光是動作選擇肢的世界樹就令人頭大 有沒有範例可以參考之類的? 還是有經驗的大大可以說一下秘訣? -- /﹊ // \ ╲ ◥◣ ── ノ /▄▄▄◣ 川澄 舞˙兔子mode — ~ ◢◤ @binshaunMKII -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.62.150.86
chenglap:我想如果你要問這些問題, 這個 project 應該是不會完成的 09/22 14:04
Splash5:你拿c+ (?) 跟flash比 就是個很大的問題了... 09/22 14:18
NDark:你們不要這麼酸咩... (其實我要推的被搶走了) 09/22 14:20
KawasumiMai:WHY....為什麼這些東西不能問? 09/22 14:21
KawasumiMai:只是來問一下秘訣,也沒犯版規,還是純粹覺得我太懶? 09/22 14:23
NDark:這就好像看過電影之後問"魔戒的瑪猛怎麼長的跟大象一樣?"... 09/22 14:31
NDark: 好爛的比喻XD 09/22 14:32
Bencrie:如果原po是說 C++ ,那真的是很突兀 orz 09/22 15:03
KawasumiMai:不然還有什麼推薦的嗎? 09/22 15:11
asleisureto:動作遊戲製作大師? 09/22 15:38
AmosYang:我想如果你要問這些問題, 這個 project 應該是不會完成的 09/22 15:49
KawasumiMai:那就不要完成啊,我只要知識和經驗 09/22 16:12
KawasumiMai:來這裡問問題都是要考慮是否有錢賺和有成品嗎? 09/22 16:13
NDark:先去做吧.其實你想了很多.做下去就會慢慢得到問題的答案. 09/22 16:20
BSpowerx:平台不是重點。如何運用這工具實現想法比較重要 09/22 16:22
KawasumiMai:樓上說得中肯,我只是想知道前輩的想法避免碰太多壁 09/22 17:57
KawasumiMai:如果都要從0開始然後得到答案就不用來發問了... 09/22 17:58
littleshan:你不去碰壁 怎麼累積知識和經驗 怎麼去理解背後的道理 09/22 18:29
littleshan:這些都是你動手做馬上就可以得到答案的問題 09/22 18:30
syntex:一開始先試著寫站立、行走、跳躍,等到這三種都寫好了,剩 09/22 21:00
syntex:下的也難不倒你了。一開始的規劃是很好沒有錯 09/22 21:00
syntex:但是看的太遠,往往就會怯於踏出第一步。 09/22 21:01
chenglap:其實重點正是你應該從零開始才知道自己要的是甚麼. 09/22 21:16
chenglap:這些問題全都沒答案, 因為這全部都是選擇而沒最優解. 09/22 21:18
chenglap:但這些問題卻是想先要一個最優解才開始做. 09/22 21:19
chenglap:如果有人告訴你答案你跟著做, 你就失去了做下去的能力. 09/22 21:20
chenglap:那是喪失了從判斷需要中學習的機會. 09/22 21:20
chenglap:因為, 你要實行的話, 你是不需要別人幫你選語言的. 09/22 21:23
chenglap:你該先確定你是否真的想去實行. 09/22 21:25
chenglap:如果你想做理想的遊戲, 你應該先學好寫程式. 09/22 21:36
chenglap:學了之後你自然能知道用甚麼語言可實行. 09/22 21:37
chenglap:而問這些問題是因為你打算用捷徑, 那一定會產生瓶頸. 09/22 21:37
Splash5:會什麼工具就用什麼工具作 工具都不會只會空想 09/22 23:45
Splash5:那遊戲只能在你的腦袋裡玩.. 09/22 23:46
Splash5:player根本不會在意你用什麼東西作出遊戲 重點是遊戲好玩 09/22 23:47
Splash5:board game也是遊戲 它不需要會c++/flash 但它好玩 09/22 23:48
KawasumiMai:我可以接受這種說法 09/23 01:15
KawasumiMai:如果一開始就像syntex這樣的回答我認為說服力更夠 09/23 01:16
KawasumiMai:要求別人學會釣魚OK,但不是想來尋求前輩經驗的新手 09/23 01:17
KawasumiMai:馬上就得到這麼一巴掌,我就是用AS2.0寫到一半卡住 09/23 01:17
KawasumiMai:才打算來這問的,而這又不是AS問題而是邏輯問題 09/23 01:18
KawasumiMai:才來GD版,看樣子我來錯了 09/23 01:18
KawasumiMai:我AS也是寫到了攀牆發現bug一堆又不知怎麼修改動作 09/23 01:19
KawasumiMai:才想問是不是依賴物件導向的我太天真了,結果卻..... 09/23 01:19
BSpowerx:剛好我最近也在寫攀牆呢 ̄▽ ̄|| 09/23 01:22
BSpowerx:我覺得比想像中簡單說XD 移動的物件分速度Vx跟Vy 09/23 01:23
BSpowerx:先依Vx做左右移動,碰到物件的話就是接觸到牆 09/23 01:23
BSpowerx:然後Vy移動沒碰到東西就表示在空中,即攀牆中 09/23 01:24
BSpowerx:雖然還是微調了很久才弄出比較理想的成果就是XD 09/23 01:24
KanoLoa:攀牆出現問題? Flash版主的遊戲可以參考看看 09/23 06:37
KawasumiMai:攀牆還OK,重點是彈璧,撞到天花板要阻擋 09/23 07:54
KawasumiMai:結果這一來一往還OK,一直來回彈到角落時有了先後順 09/23 07:55
KawasumiMai:序問題,然後就穿牆了....因為天花板也算地板 09/23 07:55
KawasumiMai:也許是移動數值該微調,卻沒有任何修正的方向 09/23 07:56
eye5002003:我很多問題都是自己去想的,而且寫完也不知道是否是最 09/23 09:20
eye5002003:佳解,只知道別人的答案不一定適合我的情況 09/23 09:22
KawasumiMai:不一定適合,但也許可以抓一段來取代原本自己的 09/23 10:39
virkful:直接跟他講個人見解就好了...講那些沒建設性的.. 09/23 12:09
franknine:這該不會是寫成 if(碰到側面牆) "else if"(碰到上面) 吧 09/23 13:05
haryewkun:覺得樓主的問題ok吧,他只是想問問看有沒有這樣的心得。 09/23 18:34
KawasumiMai:>franknine:因為我不知道怎麼去取捨動作的先後判定 09/23 20:03
KawasumiMai:所以有時候多重if有時候巢狀,而自己亂了... 09/23 20:03
madturtle:印象中GM和FLASH都有洛克人類的遊戲阿 09/23 21:15
ddavid:自己先把State Machine建出來就不會亂了 09/23 21:15
ddavid:再怎樣,同一個時間點都應該只有一個State存在。 09/23 21:15
ddavid:既然天花板也算地板,你就應該讓它們繼承同樣的特性,用同 09/23 21:17
ddavid:一個判定跟公式。會因為是天花板或是地板而跑出不同的情況 09/23 21:18
ddavid:代表你這個統整的工作沒有做好,你應該整理一下你的物件繼 09/23 21:18
ddavid:承樹(不是指語言寫作中的OOP繼承,是指概念上的) 09/23 21:19
ddavid:另外角落穿牆很明顯代表你並沒有檢查所在位置的合理性,而 09/23 21:24
ddavid:是每動完一次才檢查一次,這樣做在簡單的運動模型中是OK的 09/23 21:25
ddavid:,但是複雜的模型中(單單一次運動可能連鎖先後多次改變運 09/23 21:26
ddavid:動形式)就不OK了,你要改為觸發式的方式來處理 09/23 21:27
KawasumiMai:樓上大大請受我一拜,受教了 09/23 21:47
KawasumiMai:所以比起enterframe的hittest,似乎要動用到監聽器 09/23 21:48
ddavid:不一定要用真的監聽器,你只要裝得有監聽的樣子就好。 09/23 21:50
ddavid:比如說,在一個動作進行中,它必然有起點終點跟中間變動的 09/23 21:51
ddavid:函數,然後你就可以用這些東西算出過程中是否會觸發別的行 09/23 21:52
ddavid:動。若否,就可以直接更新到底。會觸發新動作的話,就先更 09/23 21:52
ddavid:新到觸發點,然後重新算新的動作函數及終點。 09/23 21:53
ddavid:當然用哪種作法是不一定,依架構而定也有可能真的監看反而 09/23 21:53
ddavid:易作,這要看你的動作距離單位如何定的。說是監看,其實也 09/23 21:54
ddavid:不過是把那些計算包起來藏在監看器裡一併處理就是。 09/23 21:55
ddavid:如果這些處理有很好的統一性,很容易整合成幾條規則,就用 09/23 21:57
ddavid:監看的方式。不然太多的規則堆在監看器內只會造成效率很恐 09/23 21:58
ddavid:怖的降低──每個Frame都做多到可怕的一大堆運算,結果大多 09/23 21:58
ddavid:數時間是什麼都不會碰到或只有一兩條rule真的會被用到之類 09/23 21:59
yoco315:原po你應該蠻需要這個 http://tinyurl.com/n9r9t4 09/23 22:48
yoco315:沒有不好的意思,但是如果你可以更精確的描述問題,別人會 09/23 22:49
yoco315:比較容易抓到問題的癥結回答你 @"@ 09/23 22:50
fasthall:閱 09/24 00:08
runtimeerror:閱 我找上你了啾咪^.< 09/24 07:31
justben: 原Po 用Action Script的邏輯問C++問題不覺得有些奇怪嗎? 09/24 10:57
justben:固然 as ~= java ,物件導向的觀念跟C++也很相似 09/24 11:01
justben:但是在實作的細節上還是有很多差異的 @@" 09/24 11:02
justben:建議你可以稍微google一下 AS,Java,C++ 之間的差異 09/24 11:03
ChampYen:閱 09/24 23:22
Homer5566:GOOGLE了一下你說的料理鼠王銘言(怎麼會有人引用這種..) 09/25 04:14
Homer5566:原意是說評論家的心情 不是讓你拿來反擊別人的指教 09/25 04:15
gareth:如擬 09/25 10:17
xxxx9659:原本想講...但是題目太大了 不想打這麼多字@@ 09/26 18:12
xxxx9659:4年沒碰flash 很久以前寫的 看看對你有沒有用 有錯請見諒 09/26 18:33
softwind:技術不難? so是邏輯比較難摟? 09/26 21:54
ssize:大開眼界 11/14 02:52