使用碰撞检测块来检查子弹和植物是否与僵尸相交,在碰撞检测的代码区域中添加判定是否击中的代码。




柳重言
最后编辑于2025-03-02 16:39:02151关注118浏览游戏中每个僵尸都是一个独立的单元,包含着它的存活,位置等。玩家可以添加事件代码以响应按键输入,实现移动和攻击功能,例如使用“当按下X键”或“当此角色被点击时”的事件块,让植物发射子弹或武器攻击僵尸。因为植物元素和僵尸元素都是动态的,地图中的草地也是一格一格的,所以可以建立一个二维数组的结构体,来表示地图上当前格子的状态。

首先把游戏分为几个元素:地图格子元素,卡片元素,僵尸元素,推车元素,僵尸方的墓碑靶子元素,植物的子弹元素,动画效果播放元素。其次,把游戏分为几个处理:子弹碰到僵尸处理,僵尸碰到植物处理,推车碰到僵尸处理,子弹碰到墓碑靶子处理等。每个处理完后立马接上动画播放效果。
子弹碰到僵尸处理
子弹是一个结构体数组,僵尸也是结构体数组,用两个for循环扫描这两个数组,当子弹的坐标与僵尸的坐标满足相碰关系时,子弹激活标志清零,即子弹消失,同时僵尸的生命值减一。直到僵尸清零,僵尸死亡。
僵尸碰到植物处理
For循环扫描每个僵尸,通过僵尸的位置判断出它此时所对应地图上的前一个格子。通过当前格子的状态,判断接下来发生的事情。例如:格子里没植物,僵尸通过;僵尸碰到豌豆射手,坚果墙,向日葵就停下来开吃,同时,格子的生命值不停地减,直到吃掉植物,向前通行,当是撑杆僵尸有一个杆子,碰到它们后要跳过它们;僵尸碰到炸弹,窝瓜,食人花就被吃掉或炸死,同时播放动画效果。
推车碰到僵尸处理
For循环扫描每个僵尸,当僵尸走到最左端的时候,激活推车的标志,并且推车向右行驶。推车在这条路上碰到僵尸,僵尸就死亡,当推车到达最右端时,推车死亡。


《最终幻想 VII 重生》(FINAL FANTASY VII REBIRTH)、Deathground 等游戏支持DLSS 4,全新GeForce Game Ready驱动推出


《inZOI》性能优化更新!同时修复万圣节活动多项Bug


技嘉Z890小雕携手Ultra 7 265K:进击高端新选择


万顺叫车app账号注销教程


Steam新一周销量榜出炉:《ARC Raiders》登顶榜首!


高通骁龙8 Elite Gen6曝光:两种版本 小米18首发!


《暗黑4》副总监回应系统调整 优化体验而非频繁重做


马斯克承诺若掌握外星人证据将公开 并称“不会自杀”


全球最低价!《极限竞速:地平线5》Steam国区价格永降


《生化危机9》典藏版“翻车”?吐槽其内容缺乏诚意!


《铁血战士:杀戮之地》IGN评分解禁 盛赞创新视角


任天堂希望与玩家建立长期关系:从孩子到成为祖父母
我的世界寻找特定方块坐标的指令是什么?
魔兽世界战士t0.5的套装任务怎么完成?
光遇向其他好友玩家传递能量的任务怎么做?
梦三国提示服务器未连接什么意思?
文明6获得考古学家的条件是什么?
王者盾山有历史原型吗?还是虚构的?
steam可以免费玩守望先锋2吗?
女娲很厉害为什么那么冷门没人玩?
铠技能的连招顺序是怎么样的?213还是231?
王者荣耀怎么获得金币购买姬小满?