最近在做一个2D的小游戏,碰撞方面由于懒,就直接使用cocos自带的物理组件RigidBody了。
但是在父节点挂载RigidBody之后,会导致设置rotationY时失效,具体原因没有深查,估计是在渲染的流程里,刚体的优先级更高,而刚体不存在以Y轴为轴线的旋转而导致的。
几经抉择,还是决定直接新增一个node用来挂载sprite或animation。这样就能愉快的旋转了。
let node: cc.Node; node = await G().Res.GetRes(Constants.PRE_OBJECT) as cc.Node; // 渲染节点,只能跟父节点分离开了 let sprite = new cc.Node(); sprite.addComponent(SpriteItem).SetSpriteName(asset.asset); node.addChild(sprite, -1, loc + "sprite");