陳新龍
新年要到了,我們來做一個集齊所有新年禮物才能勝利的小游戲,本文介紹的如何判斷集齊道具的技巧可以用在很多游戲里面哦。為了增加游戲的難度,我們的主角“紅包”還要受到重力的影響。談起重力,大家肯定都知道物體由于地球的吸引受到的力叫做重力,重力的方向總是豎直向下的。但作為主角它的特技就是反重力,當按下空格時重力方向變為向上。
游戲中需要控制“紅包”拿到全部禮物(元寶、錦鯉、糖葫蘆、春),然后才能勝利到達終點(門口)。游戲過程中只能處于“Fly Bird”游戲中的小鳥一樣的懸浮狀態,不能掉落地上或者觸碰到天花板(圖1)。

首先我們來完成主角“紅包”的代碼:上傳合適的造型,設置合適的大小,固定好出發位置。為了控制設置兩個變量:“方向”用于控制方塊上下移動,用正負1表示;“速度”初始值為1,為了體現重力的感覺,隨著運動方向保持的時間延長數值不斷地增加,數值越大速度越快。程序開始后重復執行(Y坐標軸增加=方向×速度),并且速度一直持續增加(如圖2)。

為了能夠實現反重力的效果,當按下空格鍵的時候,速度回到初始值1,方向設置為(-1×方向),簡單來說就是實現了調轉方向。為了防止卡Bug,我們還可以增加一個一直按下空格鍵不成立的條件(如圖3)。

當按下左右方向鍵的時候只需要將紅包的X坐標增加或減少相應的數值便可以了。完成以上這些步驟,基本上簡單的反重力的效果已經呈現了(如圖4)。

接下來再加上五毛錢的特效——拖影。拖影效果是游戲或者電影中炫酷的表現形式之一。用Scratch也可以表現出來,將需要拖影的物體克隆,當克隆體啟動時,重復10次增加一定的虛像特效值,同時設置大小減少,等待數秒鐘后,刪除克隆體。就會發現紅包神奇地出現了拖影的效果(如圖5)。

當紅包拿完全部禮物后才可以到達終點,觸發“Success”廣播。如果過程中觸碰舞臺邊緣則會觸發“Fail”廣播。到達終點后給紅包設一個漸變消失的過場動畫(如圖6)。

需要集齊4個禮物,我們設置變量“剩余禮物數量”=4,每次碰到一個禮物時變量-1。當該變量=0時,碰到門就可以發出“Success”廣播。對“門”角色編程(如圖7)。

對禮物編程,每個禮物只是外形和位置不同,代碼相同(如圖8)。碰到紅包時變量減1,并隱藏。

這個游戲要點一是通過變量獲取剩余道具數,當道具數達到條件時可以過關。二是展示如何制作拖影特效。為了增加游戲難度,還可以在移動的過程中增加一些障礙物。