gpt4 book ai didi

objective-c - 使用 Cocos2D-iphone 自定义缓动 Action

转载 作者:太空狗 更新时间:2023-10-30 03:54:32 25 4
gpt4 key购买 nike

如何在 Cocos2D 中创建一个能够随时间执行“回调”的自定义操作,使每次调用回调的时间逐渐长于最后一次调用它的时间(使用类似于已经提供的 EaseExponentialOut 操作的东西使用 Cocos2D。

类似于此的东西:(不起作用)

id sequence = [Sequence actions: [CallFunc actionWithTarget: self selector: @selector(spinTick)], [DelayTime actionWithDuration: 0.034f], nil];
id repeat = [Repeat actionWithAction: [sequence copy] times: 18];
id ease = [EaseExponentialOut actionWithAction: [repeat copy]];
[ease setDuration:4];

id play = [CallFunc actionWithTarget:self selector:@selector(play)];
[self runAction: [Sequence actions: [ease copy], [play copy], nil]];

上面的代码执行整个“序列”18 次,然后在最后一个序列结束时执行“播放”回调。

但是,EaseExponentialOut 似乎对创建的“重复” Action 没有任何影响——我曾预计它会调整“序列” Action 内的“DelayTime” Action 的持续时间,但它似乎没有这样做。

我还尝试基于 IntervalAction 创建我自己的自定义操作,但惨遭失败。

最佳答案

显然,上面的代码是有效的,只是我在持续时间中使用了计时。也没有必要使用“复制”,因为操作可以按原样使用。

如果我将计时从 0.034 增加到 0.25 左右,那么结果会更接近我希望看到的结果。现在我只需要调整 duration 的值就可以让它“恰到好处”。

关于objective-c - 使用 Cocos2D-iphone 自定义缓动 Action ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/745781/

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