測試連接:http://1.fengjingjing01.applinzi.com/kydzz/index.html
開發工具:construct2html
遊戲介紹:鼠標控制人物方向,上下左右鍵控制玩家移動,鼠標左鍵發射針筒射擊病毒,消滅病毒七個以上游戲勝利,玩家有三條命,三次以後尚未消滅七個病毒,遊戲失敗。app
遊戲運行效果截圖:less
使用ps處理素材。dom
1. 建立工程 1.capxide
2. 添加背景,調節工程和背景至適當大小並將圖層命名爲bg(background)後鎖定工具
再彈出的對象框中選擊打開文件便可插入背景圖片 開發工具
3.新建一個層Layers ,建立Sprite對象,將玩家,病毒,針筒子彈分別導入。測試
建立病毒對象時只建立一個就好,可利用 ctrl+拖拽試下對物體的複製 。字體
4.添加keyboard,mouse,touch(這些對象不會在畫布中顯示)spa
1. 給玩家,病毒,針筒添加行爲
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時玩家消失會跳轉到開始遊戲頁面從新遊戲。
1. 註冊新浪雲服務帳號,並建立一個新的sae雲應用
2. 建立新版本後,上傳代碼包。即你以前導出的文件包壓縮包。注意不要有中文,不然就會像我第一遍時執行錯誤。
點擊在線編輯,找到index.html.右鍵點擊經過URL訪問便可得到測試連接。