我在SpriteKit项目中设置物理模拟,在节点上有碰撞体,也包含精灵 . 这部分到目前为止完美无瑕 . 无论如何,因为我想根据运动方向旋转我的精灵,所以当物体碰撞时,我想对精灵节点上的位置变化作出反应 .

因此,我覆盖了我的SKNode继承类中持有body和sprite的位置var . 但是这个处理程序只在开始时调用,我自己设置初始位置 . 当节点因物理碰撞而移动时,不会调用它 .

猜猜看,我对物理学如何改变节点属性的理解有些不对劲,但没有发现某些东西通过研究指向正确的方向 .