Прыжок спрайта в движении Безье - PullRequest
0 голосов
/ 20 марта 2012

Я создаю игру, и мне нужен спрайт, чтобы прыгать (двигаться в основном вверх и вниз), пока он движется по безье, так что он движется только вертикально, пока следует по пути. Если я сделаю тид, пока он движется по безьеру:

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

Он прыгает вертикально, но мгновенно возвращается на позицию на пути. То, что я хочу, это прыгнуть относительно пути.

Кто-нибудь знает что-нибудь об этом?

Спасибо

Ответы [ 2 ]

0 голосов
/ 29 октября 2012
-(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 голосов
/ 20 марта 2012

Одна вещь, которую я мог бы себе представить, это

  • положить mySprite на пустой слой
  • делать регулярные действия вверх и вниз для элемента mySprite.
  • когда вынужно, запустить действие на пустой слой, чтобы перейти.

Это будет смешивать два разных действия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...