Open hwk22 opened 1 year ago
目前来看block本身是没有血条的 可以做成一种特殊的单位。
应该要新增加一个treasure的object吧。obstacle的设定应该是永远不可破坏,永远不可逾越的。可以设置与unit相同的IsHit函数。由于子弹对象可以追溯到发射的玩家编号,所以可以在游戏时的开始时刻,对该玩家进行修改。
另外,如果多个玩家曾经击中同一个Treasure,只对最终使之消失的玩家进行修改。
我自己写吧
应该要新增加一个treasure的object吧。obstacle的设定应该是永远不可破坏,永远不可逾越的。可以设置与unit相同的IsHit函数。由于子弹对象可以追溯到发射的玩家编号,所以可以在游戏时的开始时刻,对该玩家进行修改。
好像不是,obstacle的isHit()函数可以精细设定碰撞体积,不一定要和obstacle的外观一致
效果大概这样:https://cloud.tsinghua.edu.cn/f/44e9f6faf7e9412bb35a/ 底层架构是寄生obstacle::Block的新型unit (1)Treasure的血量是随机值。 (2)Treasure颜色和位置在库存中随机挑选,保证任何时刻背景板上都有两个Treasure。 (3)视频的后半部分检验了寄生obstacle的效果。可以看到Tank有一半插入。事实上这是obstacle的一个bug,tank也能插入(-3.0f, 4.0f)的真正obstacle。 (4)Treasure的主体仍为unit,为保证代码统一性,就不另写奖励机制了。
在背景板上设置一定数量的静止物体(不会主动攻击,需要发射一定数量的子弹后将其击毁)。击毁后,玩家操控的units可能获得子弹速度或杀伤力增加的回报。