gpt4 book ai didi

ios - 更改具有 physicsBody 的 SKSpriteNode 的位置

转载 作者:技术小花猫 更新时间:2023-10-29 10:33:42 24 4
gpt4 key购买 nike

我无法通过更改来更改 SKSpriteNode 的位置

self.position = newPosition;

如果它有一个 physicsBody,它就不再起作用了。

我得到的解决方法是:

    self.myStar.physicsBody = nil;

[self.myStar changePosition];

self.myStar.physicsBody = [SKPhysicsBody bodyWithCircleOfRadius:self.myStar.size.width/2];

或者

    [self runAction:[SKAction moveTo:newPosiion duration:0.0]];

但#2 并不顺利。它需要在没有移动 Action 的情况下弹出到另一个位置。

最佳答案

我遇到了同样的问题。显然,一旦 Sprite 节点具有 PhysicsBody,您就无法明确设置其位置。我通过暂时移除 Sprite 节点的 PhysicsBody 解决了这个问题。

CGFloat yPosition = 400.f;
SKPhysicsBody* goldfishPhysicsBody = _goldfish.physicsBody;
_goldfish.physicsBody = nil;
_goldfish.position = CGPointMake(_goldfish.position.x, yPosition);
_goldfish.physicsBody = goldfishPhysicsBody;

关于ios - 更改具有 physicsBody 的 SKSpriteNode 的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20937932/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com