Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/103.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 更改xscale会影响碰撞检测_Ios_Collision Detection_Xscale - Fatal编程技术网

Ios 更改xscale会影响碰撞检测

Ios 更改xscale会影响碰撞检测,ios,collision-detection,xscale,Ios,Collision Detection,Xscale,当我使用“向左旋转”时,玩家无法检测来自enemy2的碰撞,但可以检测来自enemy1的碰撞,即使两者的位掩码相同。 我遇到了类似的问题,最后不得不为向左移动的敌人和向右移动的敌人创建两个不同的功能。 xScale到底在做什么来防止碰撞?我假设这是spriteKit。。。。如果创建一个SKNode作为self.player的父对象,则可以将碰撞器附加到SKNode,并在播放器上使用xScale=-1。大概是这样的: self.player.xScale = fabs(self.player.xS

当我使用“向左旋转”时,玩家无法检测来自enemy2的碰撞,但可以检测来自enemy1的碰撞,即使两者的位掩码相同。 我遇到了类似的问题,最后不得不为向左移动的敌人和向右移动的敌人创建两个不同的功能。

xScale到底在做什么来防止碰撞?

我假设这是spriteKit。。。。如果创建一个SKNode作为self.player的父对象,则可以将碰撞器附加到SKNode,并在播放器上使用xScale=-1。大概是这样的:

self.player.xScale = fabs(self.player.xScale)*multiplierForDirection2;
类似于有一个空的游戏对象来把所有东西放在一起。不幸的是,您的一些代码可能需要更改以适应新的父节点

    SKNode *parent = [SKNode new];
    parent.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:self.player.frame.size];
    [parent addChild:self.player];
    self.player.xScale = -1;