最近接觸了Scratch這款軟體,花了一些時間熟悉之後,發覺在製作2D平面遊戲時還滿方便的,網路上也有豐富的資源可以應用、參考,基於對遊戲的熱愛,便想做一款格鬥遊戲。講到格鬥遊戲,我腦中第一個浮現的不是Street Fighter,而是KOF,畢竟玩KOF的時間較長,技能也較華麗。
首先從人物下手,網路免費資源豐富,圖檔隨手可得,本篇的人物圖檔為GIF,GIF的特色為一連串的連續動作圖片所組成的單張動畫圖,會選擇GIF是想讓人物增加可玩性和可看性。
本篇要做到能夠控制人物左右移動、原地跳躍和蹲下的基本動作,首先開啟Scratch2.0,在下方角色欄點擊上傳角色檔案,將五個基本動作圖都匯入。(Scratch2.0的好處為中文檔名不會有亂碼,且當匯入GIF時,在造型區會列出該圖的連續動作圖片,非常方便)
接下來進入到程式區,定位起始點,選擇角色區裡的等待,拖曳角色至左下角適當的位置,點選動作,並將X、Y座標勾選,便可看到該圖片的座標位置,最後放入程式積木,概念是:執行程式時,顯示角色並移到起始位置,後面的四個動作圖片也以同樣的方式放入程式。
接著要讓圖片先在原地動起來,除了等待外,其他四張圖片分別在按上、下、左、右鍵時能動起來。在背景裡的程式區定義四個動作的變數並設為0,按下特定按鍵讓特定動作的變數變為1。然後在角色裡的程式區設定變數為1就換「下一個造型」。
再來讓我們的角色能夠往前移動,加入「移動10步」(後退則「移動-10步」),並放入IF…ELSE設定在接近邊緣時,將X座標設為200,這樣可以做到不超出邊緣的效果。
到這邊會發生一個問題,也就是當同時按下二個按鍵時會有分身的情況,要解決這個問題,需將條件設定嚴格一點「如果其中一個變數為1且其它變數為0時,才顯示造型」,背景程式區也要更改為「按下按鍵時,該變數為1,其它為0」。
在等待的設定,人物不動的時候顯示等待,如果前進、後退、蹲下、跳躍才隱藏。前進和後退都會改變圖片的位置,所以當前進或是後退時,等待的圖片都要移到該位置才行。
最後,跳躍的設定較為特殊,因為當按一下按鍵時,就要播放完整的跳躍動畫,而在這過程當中,跳躍變數都要設為1,直到動畫結束才將變數設為0。
到這邊您的人物已經可以前進、後退、跳躍、蹲下了!!並附上sb2檔供參考下載。
我用scratch2.0寫程式.當我寫到一個重複且非常龐大的程式.內容大概為那個腳色程式用滑鼠移動就當當的甚至沒有回應.請問發生了甚麼事.要如何解決.
我想這就是 Scratch 本身的限制吧,他本來就不適合寫非常龐大的程式