Construct2 初學入門教程!

1

Index

Tagged

Contributors

Stats

131,584 visits, 169,175 views

Tools

Translations

License

This tutorial is licensed under CC BY 4.0. Please refer to the license text if you wish to reuse, share or remix the content contained within this tutorial.

Published on 6 Feb, 2016. Last updated 25 Feb, 2019

執行個體變數

Instance variables執行個體變數允許每個怪物存儲它自身的生命值。一個變數簡化了說就是一個可以改變的值。他們單獨存儲,分別帶他們相應的實例。

我們來為怪物添加health執行個體變數。在工程或物件面板選擇怪物monster(注意monster的意思就是怪物,本教程翻譯的時候好多地方都是這樣注釋的,因為實際製作中我們是用英文的)。亦或,在畫布中選取monster怪物物件。這樣屬性面板呈現的是怪物的相關屬性。在properties bar屬性面板的Instance variables分類下點擊Add/edit:

彈出執行個體變數對話方塊,類似於早前的行為對話方塊。本對話方塊允許你為對象添加或修改執行個體變數。點擊綠色+號按鈕來添加新變數。

在彈出的對話方塊中輸入變數名health,保持類型為Number(數字型),設置Initial value初始值為5。這使怪物擁有5個生命值。當他們被子彈射到時,生命值減1,直到為0,被消滅。

當我們點擊OK確定。變數就出現在執行個體變數對話方塊中以及屬性面板中,可以通過Add/Edit連結修改。

更改事件

切換到事件表(event sheet記得英文哦,教程中有些地方就寫中文了,軟體還是英文的,軟體是可以漢化,但是太費時間,等心情好再說)中,我們來更改怪物被消滅的事件。

找到事件Bullet-on collision with Monster.現在的動作是destroy monster,右擊該動作,選擇Replace。

彈出的對話方塊和新建動作的對話方塊一樣,選擇Monster->Subtract from(in the Instance variables catrgory)->Instance variable "health",並輸入值1。點擊Done確定。該動作呈現如下:

現在我們射擊怪物時,當子彈碰到怪物,怪物生命值減1,子彈爆炸消失,但我們得添加一個事件來檢測怪物的生命為0時,讓它消滅。添加如下事件:

條件:Monster->Compare instance variable->Health,Less or equal,0 //校對執行個體變數值是否<=0 不要用=0,連射可導致怪物生命值負數。

動作:Monster->Spawn another object->Explosion,layer1 //產生爆炸效果,你可以替換成怪物掛掉的效果

動作:Monster->Destroy //怪物消滅

運行遊戲,嘗試射擊

顯示分數並存檔

我們來添加分數顯示功能,讓玩家知道獵取了多少怪物,獲得了多少分數。我們需要另外一個變數,但此時我們熬添加一個全域變數global variable。假設我們的遊戲有好幾關,全域變數就可以累積分數。全域變數適用於整個遊戲,只有一個之存儲著。

右擊事件表底部,並選擇Add global variable。

輸入分數變數名Score。其他欄位默認即可,點擊OK確定。變數將從0開始計數。starting at 0.

現在全域變數呈現在事件表中:

注意:local variable區域變數限制於自身所在事件的作用範圍,現在我們不用考慮這個,本例不用。其實很多東西都是參考程式裡的,不過無所謂了,無視吧!

接著我們來添加動作,在Monster:health less or equal 0事件裡添加動作System->Add to(under Global & local variables)->Score,value 1.如下:

現在玩家就擁有分數了,每當怪物被殺掉,就可以增加1分,但現在我們運行遊戲依然看不到分數,我們需要一個文本物件。

  • 0 Comments

Want to leave a comment? Login or Register an account!