gpt4 book ai didi

ios - 在场景中为 SKLabel 设置动画?

转载 作者:行者123 更新时间:2023-11-28 18:19:29 25 4
gpt4 key购买 nike

如何为场景中 SKLabel 的位置设置动画?

我已经尝试了以下方法,但它似乎不起作用:

[SKView animateWithDuration:0.3
delay:0.0
options:UIViewAnimationOptionCurveEaseOut
animations:^{
newBestLabel.position = CGPointMake(CGRectGetMinX(self.frame)+70, CGRectGetMaxY(self.frame)-30);
}
completion:^(BOOL finished){}];

[UIView animateWithDuration:0.3
delay:0.0
options:UIViewAnimationOptionCurveEaseOut
animations:^{
newBestLabel.position = CGPointMake(CGRectGetMinX(self.frame)+70, CGRectGetMaxY(self.frame)-30);
}
completion:^(BOOL finished){}];

在 viewDidLoad 中它开始于:

newBestLabel.position = CGPointMake(CGRectGetMinX(self.frame)+70, CGRectGetMaxY(self.frame)+30);

这里有什么问题吗?

最佳答案

因为 SKLabelNodeSKNode 的子类,您可以使用名为 runAction: 的方法并传入 SKAction 这就是你所需要的。

// create an instance of SKAction
SKAction *moveLabel = [SKAction moveByX:0.0 y:30.0 duration:1.2];

// tell labelNode to run the action
[newBestLabel runAction:moveLabel];

还值得注意的是,SpriteKit 使用的坐标系统与 UIKit 的坐标系统不同。因此在上面的代码中,一个正的 x 值将向右移动,一个正的 y 值将向上移动!

有许多方法可以满足您的需要,还有更多,可在 SKAction Class Reference 中找到。

关于ios - 在场景中为 SKLabel 设置动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23180512/

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