Scratch在做簡單的2D平面小游戲時非常方便。格斗游戲是其中一大類,而人物的移動又是基本的要素。本篇要做到能夠控制人物左右移動、原地跳躍和蹲下的基本動作。
首先開啟Scratch,在下方角色欄點擊上傳角色檔案,將五個基本動作圖都匯入。(Scratch的好處為中文檔名不會有亂碼,且當(dāng)匯入GIF時,在造型區(qū)會列出該圖的連續(xù)動作圖片,非常方便。)
接下來進(jìn)入到程序區(qū),定位起始點,選擇角色區(qū)里的等待,拖曳角色至左下角適當(dāng)?shù)奈恢?,點選動作,并將X、Y坐標(biāo)勾選,便可看到該圖片的坐標(biāo)位置,最后放入程序積木,概念是:執(zhí)行程序時,顯示角色并移到起始位置,后面的四個動作圖片也以同樣的方式放入程序(圖1)。
接著要讓圖片先在原地動起來,除了等待外,其他四張圖片分別在按上、下、左、右鍵時能動起來。在背景里的程序區(qū)定義四個動作的變量并設(shè)為0,按下特定按鍵讓特定動作的變數(shù)變?yōu)?。然后在角色里的程序區(qū)設(shè)定變量為1就換「下一個造型」(圖2)。
再來讓我們的角色能夠往前移動,加入「移動10步」(后退則「移動-10步」),并放入IF…ELSE設(shè)定在接近邊緣時,將X坐標(biāo)設(shè)為200,這樣可以做到不超出邊緣的效果(圖3)。
到這里會發(fā)生一個問題,也就是當(dāng)同時按下兩個按鍵時會有分身的情況,要解決這個問題,需將條件設(shè)定嚴(yán)格一點「如果其中一個變量為1且其他變量為0時,才顯示造型」,背景程序區(qū)也要更改為「按下按鍵時,該變量為1,其他為0」。
在等待的設(shè)定,人物不動的時候顯示等待,如果前進(jìn)、后退、蹲下、跳躍才隱藏。前進(jìn)和后退都會改變圖片的位置,所以當(dāng)前進(jìn)或是后退時,等待的圖片都要移到該位置才行。最后,跳躍的設(shè)定較為特殊(圖4),因為當(dāng)單擊按鍵時,就要播放完整的跳躍動畫,而在這過程當(dāng)中,跳躍變量都要設(shè)為1,直到動畫結(jié)束才將變量設(shè)為0。
到這里您的人物已經(jīng)可以前進(jìn)、后退、跳躍、蹲下了!