事件
首先,在畫布區域上方的選項卡上切換到Event sheet1事件編輯器面板,一個列表的事件被成為Event sheet事件表。遊戲的不同部分可以擁有不同的事件表,事件表同樣可以"include"包含即導入(程式設計裡的概念,不懂就無視吧)其他事件表,這樣可以重複利用事件表,目前我們不需要這些功能。
關於事件
Construct 2整個系統運作是基於事件系統,大多數顯示器幀頻為60幀/秒,為了匹配顯示器達到平滑的顯示效果,Construct 2也設置了差不多畫面播放速率。所以事件表通常是一秒鐘運行60次。每次都會更新螢幕相應發生變化的區域。事件表運行時的順序為從上往下,所以靠上的事件先運行。
條件、動作、子事件
事件包含條件,測試某些條件是否滿足,例如,Is spacebar down?(檢測空白鍵是否按下)。如果條件滿足了,那麼事件的動作將會運行,例如,Create a bullet object創建一個子彈實例。當動作運行後,任何子事件也會運行,這樣可以測試更多條件,運行更多的動作和更多的子事件等。使用該系統,我們可以為遊戲或程式創建更多負責的功能。本例中,我們不需要該功能。
簡述如下:
Are all conditions met? //條件是否都滿足?
--->yes:run all the event's actions。 //是:運行所有事件的動作
--->no:go to next event(not including any sub-event) //否:往下運行下個事件,這裡沒有運用(包含)子事件
我們來創建第一個事件
我們將使player(發射口)一直看向滑鼠,這樣我們點擊發射子彈的時候,子彈將發往滑鼠方向。如下:
記住:每次螢幕被重繪的時候,tick(一個內部迴圈中,每秒幾幀螢幕重繪,百度一下吧,囧)將會運行(tick下的事件都會運行一次)。所以如果我們強制player每幀都朝向滑鼠,那麼player將一直朝向滑鼠。
我們開始製作該事件。在event sheet的空白位置按兩下,將打開添加事件對話方塊:
不同的物件根據他們要做的行為擁有不同的條件和動作,在對話方塊中按兩下System物件,對話方塊中列出了所有System物件的條件:
按兩下Every tick條件插入到事件表中。對話方塊將關閉,Every tick事件被創建,但沒有actions(動作)。如下:
接著我們添加一個動作來使角色看向滑鼠。點擊event右邊的Add action連結,打開對話方塊如下:
對話方塊中列出了可以添加動作的物件,按兩下player物件,對話方塊列出了player物件可添加的動作如下:
選取Set angle towards position動作。該動作會自動計算角色到給定的X,Y座標的角度。
接下來要指定X,Y座標值(動作的參數,條件同樣可以帶有參數)。我們輸入Mouse.X和Mouse.Y(也可以輸入運算式如:Mouse.X+100,雖然用的並不多)
此時,你運行就可以看到效果了。
如果提示錯誤:Mouse is not any object name,確保你已添加了Mouse object滑鼠物件!
你可能會擔心如何記住所有可用的運算式。別擔心,浮動在上邊的object panel,預設處於半透明狀態不會干擾你的注意力。移動滑鼠到該面板上,按一下,面板變完全可見。該面板起著字典的功能,可以幫你記住各類你可以使用的運算式。你可以按兩下運算式來插入,省的手動輸入。
還有,點擊對話方塊上的Done確定按鈕。該動作就被添加了!如下:
第一個事件添加完畢!嘗試運行遊戲,角色在移動的時候一直朝下滑鼠。