gpt4 book ai didi

ios - 停止对 Sprite 施加力

转载 作者:行者123 更新时间:2023-11-28 22:06:39 27 4
gpt4 key购买 nike

在我的 spritekit 游戏中,我正在努力将风力应用到我的游戏中。我已经通过多种方式实现了这一点。

我尝试的第一种方式是这样的:尝试一个在这段代码中, Sprite 首先按原样被推送,但我无法让它停下来。

-(void)update:(NSTimeInterval)currentTime {

NSLog(@" %d",_time);
if (_time == 200 /* | _time==400 */ ) {

[self startPush];


}
-(void)startPush
{

SKAction *startPush = [SKAction runBlock:^{
[_player.physicsBody applyForce:CGVectorMake(50, 0)];
}];


SKAction *wait = [SKAction waitForDuration:1];
SKAction *stopPush = [SKAction runBlock:^{

// [_player.physicsBody applyForce:CGVectorMake(-50, 0)];
[_player.physicsBody applyForce:CGVectorMake(0, 0)];


}];
SKAction *sequence = [SKAction sequence:@[startPush, wait,stopPush]];
[self runAction:sequence];



}

尝试二我试图更改我的代码,因为我看到了 LearnCocos2d 的这篇文章,他说 AKActions 不利于运动。

Constant movement in SpriteKit

所以我试过了

即使 pushOn 设置为 No,推送也不会停止。在做最后的调整时会喜欢一些帮助。

谢谢

-(void)update:(NSTimeInterval)currentTime {

NSLog(@" %d",_time);
if (_time == 200 /* | _time==400 */ ) {


windOn=NO;
}else if (_time==300)
{
pushOn=NO;
}

if (pushOn)
{

{

[_player.physicsBody applyForce:CGVectorMake(0.1, 0)];
}

最佳答案

施加零力等同于……什么都不施加。你基本上离开了这个代码的 body :

[_player.physicsBody applyForce:CGVectorMake(0, 0)];

相反,您可能想将速度矢量归零:

_player.physicsBody.velocity = CGVectorMake(0, 0);

不同之处在于 applyForce 充当“添加向量”操作,而上面的行是“设置向量”操作。

关于ios - 停止对 Sprite 施加力,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23784153/

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