更多

    簡易編寫物理遊戲(三)

    若運用數學及物理知識,用來模擬遊戲角色中的動作,能使其更為逼真。接下來運用此概念要為過往製作組件進行編程。先選擇不同的組件角色,再按下 Scripts ,就可以在該組件角色中編程。在以下的編幅,我們展示了各個組件在編程部分的方塊圖樣式。

    設定各個組件的動作

    遊戲中,需要建立3個變數,他們的名字分別為「 speed 」、「 velocity 」及「 score 」。 在 Scratch 中建立變數方法,按「 Data 」→「 Make a Variable 」, 並且輸入各個變數的名稱便可以。

    首先處理是「雲」組件。在這個遊戲中,每隔三秒,在上空便會出現一片雲,它會由熒幕的右方邊緣移動至熒幕左方邊緣,而每次出現的那一片雲,大小都不一樣。讓我們先選擇「 cloud 」,進入 Script 的部分,並按下圖的方塊組合建立程式,就可以製造出上述的「飄雲」效果。

    17_program_clouda

    碎石路

    碎石路的設立,是要令遊戲進行的時候,地面看上來是正在移動著。選擇「 Road 」角色,進入 Script 的部分,並按下圖的方塊組合建立程式。

    18a

    符號仙人掌

    在遊戲進行的時候,電腦會不斷製造仙人掌,由畫面的右邊移動到左邊,移動的速度是按變數speed的值而改變。讓我們選擇Cacti角色,進入Script的部分,並按下圖的方塊組合建立程式。

    19a

    小恐龍的跳躍動作

    現在為遊戲的主角-小恐龍進行編程。首先,遊戲進行的時候,小恐龍的兩個造型會不斷循環地播放著,製造小恐龍在奔跑的效果。另外,電腦會開啟咪高峰,收集用家發出聲音,當聲量達至某一個水平的時候,就會觸發小恐龍的跳躍動作。

    在跳躍動作的編程工作中,我們設計了兩個版本。一個是沒有考慮重力加速度,此版本較為容易,適合小學生製作(版本 1 );另一個是有考慮重力加速度的,此版本較為複雜,適合中學生製作(版本 2 )。讓我們選擇「 Dino 」角色,進入 Script 的部分,並按下圖版本1或版本 2 的方塊組合建立程式。

    [row][double_paragraph]

    版本 1 :不考慮重力加速度
    版本 1 :不考慮重力加速度

    [/double_paragraph][double_paragraph]

    版本 2 :不考慮重力加速度
    版本 2 :不考慮重力加速度

    [/double_paragraph] [/row]

    下面以圖像顯示,小恐龍在跳躍時的高度隨時間改變的關係。在不考慮重力加速度(圖表一)的情況下,小恐龍在每一段時間的改變也是一個常數,故此圖像為兩條直線,代表小恐龍上升及下降。在考慮重力加速度(圖表二)的情況下,小恐龍在接近地面的時候,高度改變較為大,表示速度較快;而在接近最高點的時候,高度改變減少,表示速度較慢,故此圖像顯示為一條拋物線的形狀。

    [row][double_paragraph]

    圖表一:跳躍高度-時間關係(考慮重力加速度)
    圖表一:跳躍高度-時間關係(考慮重力加速度)

    [/double_paragraph][double_paragraph]

    圖表一:跳躍高度-時間關係(不考慮重力加速度)
    圖表一:跳躍高度-時間關係(不考慮重力加速度)

    [/double_paragraph] [/row]

    當小恐龍碰到仙人掌和建立分數顯示

    最後的部分,就是製作遊戲中小恐龍和仙人掌的撞擊測檢( Collide
    Detection ) ,及 遊戲的分數設定方法。請在小恐龍( Dino )角色的Script部分,加入下圖的方塊組合建立程式。

    23a

    現在各個部分已經完成好,只要使用電腦內置或外置的咪高峰,我們便可以利用聲音操控小恐龍的跳躍動作,現在就按下右上角的綠色小旗,享受自己製作的遊戲吧。

     

    您會感興趣的內容

    相關文章