第一个问题,给角色的 object 设置一个特定的 layer,比如 Player。
然后在 Edit -> Project Settings -> Physics 2D -> Layer Collision Matrix 里,取消 Player x Player 的勾选。即取消了 Player layer 之间的碰撞检测。
如果不希望角色出现重叠,可以考虑给 Player 对象创建子对象:layer 为 PlayerTrigger, BoxCollider2D 设为 isTrigger,在 Layer Collision Matrix 里只选上必要的碰撞检测对象。 然后用 OnTriggerEnter2D 检测进入再触发避开运动。
OnCollisionEnter 之所以没用估计是你后面忘加 2D ?应该是 OnCollisionEnter2D
个人建议是可以多看看官方文档,多去 http://answers.unity3d.com/ 搜答案,找一些现成的格斗游戏的代码来学习,我随便搜到一个比如 这个 ~
CYF 1年前
发布