用Construct 2製作遊戲《是男人就上1000分》


前言

Construct 2是一款2d遊戲製作的工具,它猶如一個黑箱子將實現遊戲的代碼轉化成明瞭易懂的形式,讓無編程基礎的小白也可以迅速上手這款工具,而這點我也是有很深的體會的,擁有一個想法,一款工具,便能簡單實現遊戲的製作,這真是極好的呢!


遊戲最終效果

3D3od.md.png

3DGFA.md.png


遊戲機制

  1. 玩家作爲紅色小方塊,可以8方位移動但不能移動出邊界,具有初始的三點生命值,與藍色方塊觸碰便會扣除一點生命。
  2. 藍色小方塊作爲所謂的怪物,會不斷移動,每次超出邊界便會以玩家坐在位置爲方向返回,同時每兩秒會隨機改變一次運動的方向。
  3. 綠色小方塊作爲生命塊,玩家與之接觸便能回覆一點生命,移動機制與藍色方塊類似,沒有每兩秒改變方向的設定。
  4. 得分系統,每1秒增加三點積分,玩家每吃到一次生命塊增加10點積分,玩家每與藍色方塊觸碰便會扣除5點積分。
  5. 整體,隨着時間的進行遊戲也會增加難度,每4秒會在地圖上的隨機位置生成一個藍色方塊。每次吃掉一個生命塊,會地圖上的隨機位置生成另一個生命塊。
  6. 界面,遊戲直接開始,在界面中央顯示得分與生命值,遊戲結束後,界面中央顯示“GAMEOVER”字樣以及重新開始按鈕。

事件單展示

3DUQf.md.png
3DjmD.png


遊戲機制的實現過程

Tips:以下每點對應上文中的遊戲機制中的每點

1

紅色小方塊的移動

先在界面右下角的object欄中右鍵之前創建的紅色小方塊,選擇behavior爲其添加行爲。
3DDoj.png
爲了實現8方位移動,以及無法超出邊界,可以添加以下2個行爲。
3DBwQ.png

生命值系統

爲了給玩家賦予初始值爲3的生命值,需要在event sheet 中設置一個全局變量health
3DyYn.png
設置事件:當紅色方塊與藍色方塊接觸時
3DL6K.png
health變量扣除一點3Dql6.png

2

藍色小方塊的移動

  • 要實現移動這一目標,要在上文所說的object欄位右鍵藍色方塊對象,選擇behavior,爲其添加bullet行爲。
  • 要實現超出邊界往玩家方向返回這一行爲,需要設置事件:
    3rEnS.png
    並添加事件發生時產生的行爲,如下
    3rV0g.png
  • 要實現沒兩秒隨機改變移動方向,需要設置事件,並添加行爲如下
    3rmkj.png

3

綠色方塊回覆生命

要實現這一點需要設置紅色方塊與綠色方塊接觸的事件,這裏與之前和藍色方塊接觸有不同的地方,與綠色方塊接觸之後,綠色方塊需要消失,所以在依葫蘆畫瓢的基礎上要在事件發生時添加一個新的行爲:destroy行爲3rQ10.png

綠色方塊的移動

與藍色方塊別無二致,在此不贅述。

4

得分系統

  • 首先要想上文般添加一個全局變量score
    3rd91.png
  • 每秒加3分的實現,需要設置一個每1秒事件,並添加行爲:
    3rUhR.png
  • 其他,需要在上文已設置的,紅色方塊與藍色以及綠色方塊接觸的事件中添加爲score變量減或加上一個數的行爲,類似生命值系統中那樣。

5

物品的生成

  • 藍色方塊的生成,爲了達到每4秒在地圖上隨機生成一個藍色方塊,並且使這個藍色方塊像其他方塊一樣朝向隨機方向運動,需要設置一個每4秒事件,並添加以下行爲:
    3rrnO.png

    此處的random(854),random(480)的意思便是隨機在縱座標0到480,橫座標0到854的範圍內生成方塊,而這個480和854便是我們的窗口大小。
    而通過事件單展示中我們可以看到我們已經設置了全局事件,並添加了給藍色方塊一個隨機angle的行爲,再加上藍色方塊自身具有bullet行爲,因此生成出來的藍色方塊也會像其他方塊一樣運動。

  • 綠色方塊的生成則需要在紅色與綠色方塊相碰的事件中添加與上文類似的行爲即可。

6

字體顯示

添加字體:雙擊圖層界面,選擇text便能在圖層中添加字體,同時能在軟件界面左邊欄中改變選擇對象的屬性,比如設置字體,以及設置字體的可見性之類的。
字體的消失與出現:在event sheet中的相應事件中添加行爲,類似:
3rgNd.png
其中,visible爲可見,invisible爲不可見
而字體在得分的改變,以及生命值的改變的同時也要改變,因此需要在有關的事件中添加行爲如類似下圖
3rf3t.png
使得每改變一次數據就會即時通過文本展現出來

這裏還要提醒一點,由於字體顯示機制的原因,若顯示的字體比文本框要大,字體便不會顯示,因此在設置字體的時候還要注意將文本框預留出足夠大的位置,否則可能會出現當得分的位數過高,超出文本框而導致文本消失的情況。

重新開始按鈕

按鈕爲replay字樣,用鼠標點擊就會使遊戲重新開始,要實現這一點,首先要爲遊戲假如鼠標模塊,雙擊圖層界面3r24A.png
並在彈出的窗口中選擇mouse並insert。此時遊戲便假如了鼠標模塊。
這是就可以在event sheet中添加有關鼠標的事件,並添加行爲使得遊戲重置,如下圖
3rW9I.png

在這裏我們添加了2個行爲,一個是將圖層重新開始,即使畫面回到最開始的樣子,一個是重置全局變量,倘若此時沒有重置全局變量,我們會發現即便重新開始了遊戲,得分也會接着上次遊戲的得分。


尾聲

當然在這短短的博客中無法將製作遊戲過程中的所有細節展示出來,比如圖層的運用與元素要放置在哪個圖層效果最好這樣的問題,在文章中都沒有展示。但這並不代表它不重要,一款好的遊戲需要注重的正是這樣的小細節,而這也是讓一款遊戲脫穎而出的關鍵點。

最後的最後

附上一張證明我是男人的圖片
3rhgP.png

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章