2012-03-19 1 views
0

Je crée un jeu et j'ai besoin que le sprite saute (se déplace vers le haut et vers le bas) tout en se déplaçant sur un Bézier afin qu'il ne bouge que verticalement. Si je fais thids pendant son déplacement le long du chemin de Bézier:Sauter un sprite en bougeant dans une action de Bézier

[mySprite runAction:[CCJumpBy actionWithDuration:0.1 position:ccp(0,0) height:10 jumps:1]]; 

Il saute verticalement mais instantanément revenir à la position sur le chemin. Ce que je veux c'est sauter par rapport au chemin.

Quelqu'un en sait quelque chose?

Merci

Répondre

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

Pourriez-vous expliquer clairement. qu'est-ce que "delta_.x", "sauts_" et "delta_.y"? – Sudhakar

0

Une chose que je pourrais imaginer faire qui est

  • mis mySprite sur la couche vide
  • faire une action de haut en bas régulièrement pour le point mySprite.
  • Lorsque vous en avez besoin, exécutez l'action sur le calque vierge pour sauter.

Cela permet de mélanger deux actions différentes.

Questions connexes