利用Scale实现角色的翻转, 为何碰撞体范围没发生翻转

  • Creator 版本:
    3.8.1

  • 目标平台:
    Chrome

  • 编辑器操作系统:Mac OS

  • 重现概率: 100

问题描述

是这样的 , 新手一枚 , 最近模仿个小游戏练练手 , 遇到两个问题:

问题一

以设置Scale的方式实现角色的方向变更. 但是问题是 , 精灵和动画的方向都变了 , 碰撞体的位置还是在原来的位置 (后面也试了其他方式转向 , 比如Rotation.Y , 但是加了刚体组件后 , Y轴旋转就失效了).
举个例子: 碰撞体设置的是角色的右下角 , 当转向后 , 碰撞体还在右下角 , 按理说 , 方向变了 , 碰撞体应该在镜像位置
image

  • 转向后
    image

问题二

角色节点下有个子节点(那把剑) , 作为武器的碰撞体节点
当角色移动后 , 子节点并未跟着移动 , 甚至当角色转向后 , 直接跑老远了;
image
每次转向就会跑远 , 越转越远:
image
如果不转向 直接移动 , 并不会跟着角色移动 , 当角色跑远了 , 来个转向, 子元素会根据角色当前的位置来个镜像翻转,就像这样:
image
image
如果不加rigidbody倒是不会跑远 , 它甚至不会跟随角色移动和翻转 .

emmm … 这我要是去攻击敌人的话 , 一刀不得隔空秒boss啊

也不知道是不是我哪儿做错了.

物理就是这样的,大部分情况下不受节点影响。你修改节点缩放需要强制刷新,放在子节点下需要手动同步坐标

1赞

好吧 , 看来cocos 不太适合做太复杂的动作游戏