SpriteKit -旋转和跳跃同时结束



新的Sprite套件和游戏开发我正在学习以下教程@ Raywenderlich

WHAT I AM DOING ?

我已经实现了地图上的连续运动和玩家的重力,我知道旋转动作可以像这样添加到SKSpriteNode。

        SKAction *action = [SKAction rotateByAngle:M_PI duration:1];
        [myPlayer runAction:[SKAction repeatActionForever:action]];

我的Player与gravity的关系如下

MSPlayer.h

#import <SpriteKit/SpriteKit.h>
@interface MSPlayer : SKSpriteNode
@property (nonatomic, assign) CGPoint velocity;
- (void)update:(NSTimeInterval)delta;
@end

MSPlayer.m

#import "MSPlayer.h"
#import "SKTUtils.h"
@implementation MSPlayer
//2
- (instancetype)initWithImageNamed:(NSString *)name {
    if (self == [super initWithImageNamed:name]) {
        self.velocity = CGPointMake(0.0, 0.0);
    }
    return self;
}
- (void)update:(NSTimeInterval)delta {
    //3
    CGPoint gravity = CGPointMake(0.0, -10.0);
    //4
    CGPoint gravityStep = CGPointMultiplyScalar(gravity, delta);
    //5
    self.velocity = CGPointAdd(self.velocity, gravityStep);
    CGPoint velocityStep = CGPointMultiplyScalar(self.velocity, delta);
    //6
    self.position = CGPointAdd(self.position, velocityStep);
}
-(CGRect)collisionBoundingBox {
    return CGRectInset(self.frame, 2, 0);
}
@end

My Issue is

现在的问题是,我想要旋转的节点,并给予使其跳跃与重力和旋转结束之前,节点即将结束其跳跃。怎样才能使两个动画同时结束?

为跳跃编写另一个runAction

[myPlayer runAction:[SKAction repeatActionForever:runAction]];

此处定义runAction

最新更新