我创造了一个游戏,我需要精灵跳跃(基本上上下移动),同时它在一个bezier路径上移动,所以它只在它跟随路径时垂直移动。如果我在沿着bezier路径移动的时候做了什么:
[mySprite runAction:[CCJumpBy actionWithDuration:0.1 position:ccp(0,0) height:10 jumps:1]];
它垂直跳跃但立即返回到路径上的位置。我想要的是相对于路径跳跃。
有人知道吗?
谢谢
答案 0 :(得分:0)
我能想到的一件事是
这会混合两种不同的行动。
答案 1 :(得分:0)
-(void) update:(ccTime) t
{
// parabolic jump (since v0.8.2)
ccTime frac = fmodf( t * jumps_, 1.0f );
ccTime y = height_ * 4 * frac * (1 - frac);
y += delta_.y * t;
ccTime x = delta_.x * t;
[target_ setPosition: ccp( ((CCNode*)target_).position.x + x, ((CCNode*)target_).position.y + y )];
}