gpt4 book ai didi

sprite-kit - 使用 Sprite Kit,如何让对象跳跃?

转载 作者:行者123 更新时间:2023-12-04 22:31:49 26 4
gpt4 key购买 nike

我正在使用 Sprite 套件制作游戏,现在我想知道让对象“跳跃”的最佳方法是什么。所以它将以几个像素垂直启动。
这是我要跳转的对象的代码:

SKSpriteNode *sprite = [SKSpriteNode spriteNodeWithImageNamed:@"bal.png"];
sprite.position = CGPointMake(self.frame.size.width/4 + arc4random() % ((int)self.frame.size.width/2), (self.frame.size.height/2 + arc4random() % ((int)self.frame.size.height/2)));
sprite.color = [self randomColor];
sprite.colorBlendFactor = 1.0;
sprite.xScale = 0.2;
sprite.yScale = 0.2;
[self addChild:sprite];
sprite.physicsBody = [SKPhysicsBody bodyWithCircleOfRadius:sprite.size.width/2];
self.physicsWorld.gravity = CGVectorMake(0.0f, -4.0f);

最佳答案

我会尽量避免直接设置对象的速度。相反,我会对物体施加力和冲动。对于大多数情况,这效果更好,因为它不会破坏物理模拟。例如,这就是我如何让我的对象跳跃:

- (void) jump:(SKSpriteNode*)obj
{
if (obj.isTouchingGround)
{
CGFloat impulseX = 0.0f;
CGFloat impulseY = 25.0f;
[object.physicsBody applyImpulse:CGVectorMake(impulseX, impulseY) atPoint:obj.position];
}
}

关于sprite-kit - 使用 Sprite Kit,如何让对象跳跃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19407756/

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