01 · 守卫的职责
先读关卡目标,观察地图,再运用本课知识。
扣哒世界 · 游戏开发2 · C++ · 第1–2关
先读关卡目标,观察地图,再运用本课知识。
先读关卡目标,观察地图,再运用本课知识。
学习路线:读目标 → 看图解 → 写代码 → 运行检查
在游戏开发中,我们不需要每时每刻都盯着单位。
我们只需要告诉系统:"当这个单位出生(Spawn)时,它应该做什么。"
这就像给演员剧本:只有当聚光灯亮起(事件发生),演员才开始表演(执行代码)。
Spawn!
我们需要将单位、事件和行为函数绑定在一起。
任务: 创建一个士兵,并给他下达防守指令。
如果看到敌人就攻击,否则回到防守点。
如果你有一支军队,一个一个设置 .on() 太麻烦了。
setActionFor 就像广播命令:
"所有这类单位,都听这个指令!"
game.setActionFor("类型", "事件", 函数)
这需要一个更通用的函数,能处理任何单位,而不仅仅是特定的 soldier 变量。
全体弓箭手听令!
在通用函数中,我们不知道具体是哪个士兵在执行。
event.target 代表"触发事件的那个单位"。
任务: 创建士兵和弓箭手,并统一指挥他们战斗。
扣哒世界 · 游戏开发2 · C++ · 第1–2关
在游戏开发中,我们不需要每时每刻都盯着单位。
我们需要将单位、事件和行为函数绑定在一起。
任务: 创建一个士兵,并给他下达防守指令。
auto soldier = game.spawnXY("soldier", 42, 48);如果你有一支军队,一个一个设置 .on() 太麻烦了。
在通用函数中,我们不知道具体是哪个士兵在执行。
任务: 创建士兵和弓箭手,并统一指挥他们战斗。
game.spawnXY("soldier", 35, 20);本节课关卡:1. 守卫的职责;2. 军事训练2