教程:使用事件表给tilemap添加碰撞区



  • 1、逻辑说明

    在场景开始时,遍历地图格子,当地图格子为某编号时,在格子处生成一个透明碰撞体。之后对碰撞体优化,减少碰撞体数量。

    2、事件操作

    其中,64为我的地图格子大小,-1为空白格子的编号,整段就是比较每个位置,当图块不等于空白时,添加碰撞体。碰撞体需要添加刚体属性。undefined

    3、优化

    在上一步生成碰撞体后,大型地图会的对象数量会多得离谱,因此要优化碰撞体数量。再给碰撞体添加保持状态能力,在生成碰撞体前判断,如果场景已经存在一定数量碰撞体,就不在运行生成的事件。优化数量的动作组如下:
    undefined

    4、效果展示

    如下图
    undefined



  • 忘了写了,要给碰撞体建一个同类组,就是动作组中的"同_地图碰撞体“,不然不能对同样的对象进行比较删除操作


登录后回复