让炮塔根据状态选择弹药
把按钮、条件弹体和射击事件连成一个可观察的流程
定义两个不同的弹体
普通弹保留 18 点直接伤害,加强弹为 30 点并使用蓝色,让玩家通过颜色判断模式,先用视觉和伤害都明显的差异确认切换确实生效
[projectile_powered]
directDamage: 30
life: 1.5s
speed: 4
drawSize: 1.3
color: #80D8FF把选择交给炮塔条件
projectile 是默认弹体,altProjectile 是条件弹体,只有 altProjectileCondition 成立时才改用加强弹,条件读取上一章按钮修改的内存
[turret_main]
x: 0
y: 0
projectile: shell
altProjectile: powered
altProjectileCondition: memory.powered
onShoot_triggerActions: countShot在真正开火时计数
将计数动作挂在炮塔的开火事件上,避免只要点击切换按钮就加一次,赋值写成旧值加一,创建动作时要保证调用名称与动作后缀一致
[hiddenAction_countShot]
setUnitMemory: shots=memory.shots + 1设计一组能复现的测试
创建一辆战车,普通模式射击三次,切换后再射击两次,期望计数为 5,最后另建一辆车确认计数为 0,测试过程中避免多辆车混在一起导致观察不清
动手练习
为第三种弹药先画状态转换草图,再决定是否仍适合布尔变量