首先把把FP大小設定為W450 * H500,要用到的物件、訊息框全部擺上FP,
除了遊戲中不會再變更位置的物件都要先放到預定的位置
這邊要稍微調整一下各物件階層關係,避免物件移動時意外被遮蓋
背景部份用兩張一樣的圖交替,圖必須設定為最下層
程式用sequence結構
sequence0用來設定物件的初始狀態及初值
另外把障礙物的reference群組化成array,方便後續處理物件移動及碰撞判定
其中背景剛剛把它移到最下面兩層,所以把AllObjs[ ] array翻轉後取最前兩個就是背景的Ref
sequence1設定會移動的物件初始位置以及展示上下飛的球
單純就是用property的Top和Left來控制
按start鍵後進入主要程式sequence2
sequence2是控制物件位置更新和碰撞檢查,每個loop流程如下
這邊while loop用了三個shift register
Frame是用來紀錄現在球是自由落下的第幾個時間單位,讓落下的行為更自然
每次按下空白鍵讓球往上之後Frame會重置為1
Score用來紀錄目前通過多少支障礙,每通過一支+1
布林的register用來紀錄額外障礙物是否啟動,因為額外障礙不是和一般障礙一樣不斷循環
當 i+1=150*n時觸發case,同時subvi會輸出true讓case一直處於啟動狀態
直到障礙物到返回點重置位置後,subvi會輸出False等下一次觸發。
如果要讓程式更加fancy而不是只能玩一次那就必須把結構改成state machine
以上的程式可在google driver下載
其他相關文章