2012-03-19 36 views
0

我在创建一个游戏,我需要精灵跳跃(基本上下移动),而它在贝塞尔路径上移动,因此它只沿着路径垂直移动。如果我做thids,而它的沿贝塞尔路径移动:在贝塞尔动作中跳跃的精灵

[mySprite runAction:[CCJumpBy actionWithDuration:0.1 position:ccp(0,0) height:10 jumps: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)]; 
} 
+0

你能否清楚解释一下。什么是“delta_.x”,“jumps_”和“delta_.y”? – Sudhakar 2014-02-20 10:38:30

0

有一件事我能想象这样做是空白图层

  • 做mySprite上项目定期上下行动

    • 放mySprite上。
    • 当你需要的时候,运行动作到空白层跳转。

    这会混合两种不同的动作。