Ios 更改节点方向

Ios 更改节点方向,ios,objective-c,sprite-kit,game-physics,Ios,Objective C,Sprite Kit,Game Physics,我正在开发一个类似突破的游戏,考虑到球击中球拍的位置,它应该改变它的方向 这里有一个杰作来解释我想要达到的功能。我已经能够得到球打在桨上的位置了。有什么想法吗?使用didBeginContact确定接触时球和桨的中心点 - (void)didBeginContact:(SKPhysicsContact *)contact { uint32_t collision = (contact.bodyA.categoryBitMask | contact.bodyB.categoryBitMa

我正在开发一个类似突破的游戏,考虑到球击中球拍的位置,它应该改变它的方向


这里有一个杰作来解释我想要达到的功能。我已经能够得到球打在桨上的位置了。有什么想法吗?

使用didBeginContact确定接触时球和桨的中心点

- (void)didBeginContact:(SKPhysicsContact *)contact
{
    uint32_t collision = (contact.bodyA.categoryBitMask | contact.bodyB.categoryBitMask);

    if (collision == (CategoryBall | CategoryPaddle))
    {
        if((contact.bodyA.node.position.x > contact.bodyB.node.position.x) && (contact.bodyA.node.position.x <= contact.bodyB.node.position.x+10))
        {
            // ball's center is a little to the right of paddle's center
        }

        if(contact.bodyA.node.position.x > contact.bodyB.node.position.x+10)
        {
            // ball's center is more to the right of paddle's center
        }

        if((contact.bodyA.node.position.x < contact.bodyB.node.position.x) && (contact.bodyA.node.position.x >= contact.bodyB.node.position.x-10))
        {
            // ball's center is a little to the left of paddle's center
        }

        if(contact.bodyA.node.position.x < contact.bodyB.node.position.x-10)
        {
            // ball's center is more to the left of paddle's center
        }
    }
}
-(void)didBeginContact:(skphysiccontact*)联系人
{
uint32_t collision=(contact.bodyA.categoryBitMask | contact.bodyB.categoryBitMask);
如果(碰撞==(类别球|类别球))
{
if((contact.bodyA.node.position.x>contact.bodyB.node.position.x)&(contact.bodyA.node.position.x contact.bodyB.node.position.x+10)
{
//球的中心更靠近桨的中心
}
if((contact.bodyA.node.position.x=contact.bodyB.node.position.x-10))
{
//球的中心在桨的中心偏左一点
}
if(contact.bodyA.node.position.x
我已经能够确定球拍和球的中心点,但我不知道如何改变球的方向。是否有一个属性,或者类似的东西?@LucasDomene-你需要使用球的速度属性。为什么不让物理引擎来做这项工作?我想让用户更好地控制球的方向我是球,就像突破赛一样。