游戏开发 2
第 13-14 关
🌲

游戏事件:destroy

消除魔法与开路

💥 击败 (Defeat)
✨ 销毁 (Destroy)
🧩

世界由“对象”组成

游戏里的每个东西都是对象 (Object)

  • 🤠 player:主角
  • 🏭 munchkinSpawner:造怪机器
  • 🌲 passageForest1:挡路的树
// 对象有属性(.)和方法(.) hero.health; // 属性 forest.destroy(); // 方法
📦

Object

属性 方法
🆚

两种“消灭”方式

1. .defeat() (击败)
像被打晕了,还在场景里,只是血量归零。
适用:敌人、生成器
2. .destroy() (销毁)
魔法橡皮擦!直接从世界上彻底消失。
适用:墙壁、树木、障碍物
👾
点击 Defeat
🌳
点击 Destroy
🌲

#13: 消除障碍

任务: 当玩家击败足够多的敌人时,消除挡路的森林。

auto onDefeat(auto event) { game.defeated += 1; if (game.defeated == 3) { // 打败生成器,销毁森林 munchkinSpawner.defeat(); passageForest1.destroy(); } }
💀 x 3
⬇️ 触发条件
defeat() 生成器
destroy() 森林
✨ 路通了!
⛓️

#14: 打破牢笼

任务: 统计生成的怪物数量,达到一定数量后摧毁围栏。

auto onSpawn(auto event) { game.scoutsSpawned += 1; if (game.scoutsSpawned >= 3) { // 停止生成 scoutGenerator.defeat(); // 拆除围栏 rightFence.destroy(); } }
🚧 ➡️ ✨

围栏被 destroy() 后直接消失

🎮

实战模拟:打怪开路

点击出现的怪物来击败它们。
观察计数器和路障的变化。

  • 击败 3 只:第一棵树消失。
  • 击败 6 只:第二棵树消失。
Defeated: 0
Tree 1
Tree 2
🏭
🎓

通关口诀

defeat() 用于生物:
打倒它,算战绩,还在场上。
destroy() 用于死物:
清除它,变空气,彻底消失!
🌟