construct2製做小遊戲——抗疫大做戰

construct2製做小遊戲——抗疫大做戰

 

測試連接:http://1.fengjingjing01.applinzi.com/kydzz/index.html
開發工具:construct2html

遊戲介紹:鼠標控制人物方向,上下左右鍵控制玩家移動,鼠標左鍵發射針筒射擊病毒,消滅病毒七個以上游戲勝利,玩家有三條命,三次以後尚未消滅七個病毒,遊戲失敗app

遊戲運行效果截圖:less

遊戲開發製做步驟

  1. 製做背景
  2. 製做素材(玩家、針筒子彈、病毒怪物)
  3. 導入素材,場景佈置
  4. 給玩家,針筒子彈,病毒添加行爲
  5. 建立HUD圖層,建立事件、實現交互
  6. 測試發佈

1、製做素材

使用ps處理素材。dom

2、導入素材,佈置場景

1. 建立工程 1.capxide

2. 添加背景,調節工程和背景至適當大小並將圖層命名爲bg(background)後鎖定工具

再彈出的對象框中選擊打開文件便可插入背景圖片 開發工具

3.新建一個層Layers ,建立Sprite對象,將玩家,病毒,針筒子彈分別導入。測試

建立病毒對象時只建立一個就好,可利用 ctrl+拖拽試下對物體的複製字體

4.添加keyboard,mouse,touch(這些對象不會在畫布中顯示)spa

3、添加病毒、針筒、效果,並給病毒、針筒、效果添加行爲

1. 給玩家,病毒,針筒添加行爲

        

 

4、添加病毒、針筒、效果,並給病毒、針筒、效果添加事件

1. 事件1咱們將使player(發射口)一直看向鼠標,這樣咱們點擊發射子彈的時候,子彈將發往鼠標方向。

2.讓角色能夠射擊。當玩家點擊的時候,能夠發射子彈。這能夠經過Spawn an object動做來實現,子彈的Bullet movement屬性將會使它向前飛出。

條件:Mouse->On click->Left clicked(the default) //鼠標->點擊->左擊(默認)

動做:Player->Spawn another object->For Object,choose the Bullet

//Play對象->產生另外的對象->對象,選擇子彈層,輸入1(「Main」圖層),Image point(子彈的發射起點)保持默認爲0。以下

3.添加怪物AI;當下怪物只會向右移動。咱們來讓他們產生在隨機的位置。

條件:System->On start of Layout //系統->畫布啓動時

動做:Monster->Set angle->random(360) //怪物->設置角度->0-360隨機度數

Condition: System -> On start of Layout

Action: Monster -> Set angle -> random(360) 

4.  此時,怪物會移出畫布,再也看不到,接着咱們再來修改,讓怪物移動邊緣處的時候,自動往回移動,而且添加智能,讓怪物朝着玩家角色移動。

條件:Monster->Is outside layout //判斷怪物是否要離開畫布

動做:Monster->Set angle toward position->For X,Player.X - for Y,Player.Y

//設置怪物朝向角色的座標。 再次運行遊戲。此時你能夠看到怪物在畫布裏朝着不一樣的方向移來移去,最終都會朝着角色圍過來。

5. 添加實例變量。Instance variables實例變量容許每一個怪物存儲它自身的生命值。他們單獨存儲,分別帶他們相應的實例。

咱們來爲怪物添加health實例變量。number是指爲3,意思是指咱們將怪獸的生命中設置爲3.須要子彈設計3次之後病毒纔會消失。

6. 設置事件Bullet-on collision with Monster.。選擇Monster->Subtract from(in the Instance variables catrgory)->Instance variable "health",並輸入值1。點擊Done肯定。 如今咱們射擊怪物時,當子彈碰到怪物,怪物生命值減1。同時一顆子彈打到病毒之後要消失,因此咱們添加子彈Destroy動做。

7.顯示分數並存檔。 右擊事件表底部,並選擇Add global variable。 輸入分數變量名Score。其餘字段默認便可,點擊OK肯定。變量將從0開始計數。

starting at 0.

如今全局變量會呈如今事件表中:

接着咱們來添加動做,在Monster:health less or equal 0事件裏添加動做System->Add to(under Global & local variables)->Score,value 1.

如今玩家就擁有分數了,每當怪物被殺掉,就能夠增長1分, 怪物被殺掉之後就得消失,因此咱們還得給病毒添加Destroy動做

8.添加HUD元素。

HUD是遊戲界面最上面固定不動的界面元素,顯示玩家生命值,分數等其餘信息。接着咱們來添加一個HUD,只有一個文本對象text object。

由於咱們要讓HUD界面的對象保持固定不動,而Main圖層咱們是須要跟隨角色滾動的。因此新建一個圖層HUD,設置parallax屬性爲0,這樣該層就再也不滾動

在圖層面板layers bar中新建一個層HUS。請確保該層在最頂上位置,並選中,而後在屬性面板中設置Parallax屬性值X,均Y爲0,0。

在畫布空白處雙擊插入對象,選擇Text Object,放置於畫布的左上角,咱們去更改字體大小,顏色等讓文本看得很清楚。並經過調整杆拉伸文本足夠寬來顯示分數。以下:

切換到事件表中。咱們來添加動做讓分數每幀能夠更新。點擊Every tick事件,添加動做Text->Set Text。

使用&文本鏈接操做符,咱們能夠轉換數字爲文本並和文本字符串鏈接。輸入以下:

"擊敗病毒數:" & Score //文本字符串 用雙引號括起來,變量則不要。

9.設置當分數達到5的時候,彈出「戰役成功」提示框。

添加系統事件點擊Compare two values.進行以下操做。

   

在這個事件下,添加動做,給咱們的提示框設置Set visible.

  

10. 設置一個開始遊戲頁面。

新建一個畫布Layout2。添加背景和對象。

開始遊戲 按鈕 我是用Sprite對象。由於系統自帶按鈕太醜了!爲了實現點擊這個按鈕就能夠跳到遊戲界面咱們在Event sheet 2中添加以下事件

 

11. 設置當玩家碰到病毒會出現從新遊戲提示。

新建一個畫布Layout3。添加背景和提示框對象。在Event sheet 3中添加以下事件

回到Event sheet 1中添加以下事件玩家的生命值與前面病毒生命值設置同樣。

這個事件的設置的意思是當玩家生命值≤0時玩家消失會跳轉到開始遊戲頁面從新遊戲。

 

5、測試發佈

 

6、上傳發布

1. 註冊新浪雲服務帳號,並建立一個新的sae雲應用

2. 建立新版本後,上傳代碼包。即你以前導出的文件包壓縮包。注意不要有中文,不然就會像我第一遍時執行錯誤。

點擊在線編輯,找到index.html.右鍵點擊經過URL訪問便可得到測試連接。

相關文章
相關標籤/搜索