我正在尝试做一个简单的自动倒车动画。
SKAction *a = [SKAction moveToX:10 duration:0.5];
a = [SKAction repeatActionForever:a];
[car runAction:a];
但行动并没有逆转。你如何获得类似于Core Animation的类似自动反转效果?
答案 0 :(得分:10)
Andrey Gordeev的回答足够接近,
float x = car.position.x;
SKAction *a = [SKAction moveToX:(x+10) duration:0.5];
SKAction *b = [SKAction moveToX:x duration:0.5];
SKAction *seq = [SKAction sequence:@[a,b]];
[car runAction:[SKAction repeatActionForever:seq]];
moveToX:(x + 10)将使其摆动10(而不是在X = 10处)。
答案 1 :(得分:1)
repeatActionForever :方法可以撤消操作。
问题是 moveToX :不可逆的动作
每个操作的Apple文档显示是否可逆。
PS: moveByX:y:持续时间:操作是可逆的
答案 2 :(得分:1)
手动添加反向操作:
float x = car.position.x;
SKAction *a = [SKAction moveToX:10 duration:0.5];
SKAction *b = [SKAction moveToX:x duration:0.5];
SKAction *sequence = [SKAction sequence:@[a,b]];
[car runAction:[SKAction repeatActionForever:sequence]];