我正在开发相当完善的 SpriteKit 游戏,添加了一些代码以将新的 SKSpriteNode 添加到场景中,(与我在代码中的其他几十个地方所做的相同,但由于某种原因,这次它只是忽略了我为节点设置的位置,我已经通过显式尝试了 .position = CGPointMake(x,y) 并尝试了 [node setPosition:CGPointMake(x,y)]
两者都不起作用......节点确实被添加到场景中,但总是在 0,0,无论我做什么,都检查了 x 和 y 以确保它们有效并且在场景范围内,并尝试了使用显式浮点数等,不管我做什么,这个节点总是显示在 0,0,这绝对没有意义。在玩游戏的过程中,我所做的一切与我对数十个其他节点所做的相同,但无论我做什么,这个节点都不会出现在任何地方,除了 0,0:
int width = 64;
SKSpriteNode *node = [[SKSpriteNode alloc] initWithColor:[SKColor grayColor] size:CGSizeMake(width,25)];
node.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:node.size];
node.physicsBody.dynamic = NO;
node.physicsBody.categoryBitMask=nodeCategory;
node.name=@"node";
node.position = CGPointMake(200,250);
//Have also tried [node setPosition:CGPointMake(200,250);
[self addChild:node];
我在这里完全不知所措,我尝试将 .0 添加到 CGPointMake 的输入中,以确保它们被处理为浮点数...无论我对这个节点做什么,当它被添加到场景时它总是默认为 0,0 位置,我很沮丧,我添加了各种节点而没有发生任何事件,只是关于这个节点添加的一些东西不起作用并且无法弄清楚有什么不同或为什么。