可以消耗10分,增加一條命。只要分數大於10分,按下B鍵即可回血。
選取 控制器 裡的 當A鍵被按住 並將A改成B
選取 邏輯 裡的 如果True那麼 並按下下方的 + 字號
選取 邏輯 裡的 且 0大於0 0小於0 並將 0大於0 0小於0 分別放於 且 的前後
選取 資訊 裡的 生命和得分
將 得分和生命 放於 0大於0 0小於0 的第一格中
將 0大於0 0小於0 的第二格中0 分別改成10跟5
選取 資訊 裡的 生命改變和得分改變 個複製一次 分別放於 如果 否則
將 如果 裡的 生命改變:1 得分改變:-10 否則 裡的 不變
戰機碰到隕石,除了損血還會扣分。最低扣到0分。
選取 邏輯 裡的 如果True那麼 否則 放在 當角色sprite類別player
選取 邏輯 裡的 0=0 並改成大於 放在True
選取 資訊 裡的 得分改變 放在 那麼 並把數字0改成-1
選取 資訊 裡的 得分 放在 0大於0 的第一格
選取 資訊 裡的 得分改變 放在 否則 數字不改
因場景加大,隕石生成不夠快,戰機也飛太慢,因此需要一併修改。
選取 場景 裡的 貼圖地圖 並放在 當啟動時
將左下角的 寬:16 長:16 改為 寬:50 長:50
將圖全用成黑色
刪除 將飛船下面 設為120
選取 角色 裡的 角色mysprite的位置 X:0 Y:0 並改成 飛船
選取 數學 裡的 0x0 並複製 分別放入 X Y
選取 場景 裡的 畫面寬度、高度 分別放於第一格 0 中
改變 第二格 0 畫面寬度x2.5 畫面高度x3.3
更改 當遊戲更新間格 1000到1500毫秒 改成 350到500
更改 當遊戲更新間格 500毫秒 改成 100
更改 將子彈X設為 隨機10到780
更改 控制器移動角色飛船速度 X:150 Y:150
### 第一部分:增加回血功能
controller.B.onEvent(ControllerButtonEvent.Pressed, function () {
if (info.score() > 10 && info.life() < 5) {
info.changeLifeBy(1)
info.changeScoreBy(-10)
} else {
info.changeLifeBy(0)
info.changeScoreBy(0)
}
})
### 第二部分:增加扣分機制
sprites.onOverlap(SpriteKind.Player, SpriteKind.Enemy, function (sprite, otherSprite) {
scene.cameraShake(4, 500)
otherSprite.destroy(effects.disintegrate)
sprite.startEffect(effects.fire, 200)
info.changeLifeBy(-1)
if (info.score() > 0) {
info.changeScoreBy(-1)
} else {
info.setScore(0)
}
})
### 第三部分:改變場景大小(並更改隕石生成速度 飛船速度)
飛船 = sprites.create(sprites.space.spaceRedShip, SpriteKind.Player)
飛船.setPosition(scene.screenWidth() * 2.5, scene.screenHeight() * 3.3)
controller.moveSprite(飛船, 150, 150)
info.setLife(3)
info.setScore(0)
飛船.setStayInScreen(true)
effects.starField.startScreenEffect()
scene.cameraFollowSprite(飛船)
tiles.setCurrentTilemap(tilemap`層級5`)
game.onUpdateInterval(randint(350, 500), function () {
子彈 = sprites.createProjectileFromSide(殞石[randint(0, 殞石.length - 1)], 10, randint(-10, 100))
子彈.x = randint(10, 780)
子彈.setKind(SpriteKind.Enemy)
})
game.onUpdateInterval(100, function () {
子彈 = sprites.createProjectileFromSide(殞石[randint(0, 殞石.length - 1)], 0, 75)
子彈.x = randint(10, 780)
子彈.setKind(SpriteKind.Enemy)
})