2013-07-23 1 views
-1

Cocos2d предлагает два способа, позволяющих игроку вскочить, но с помощью jumpto() и jumpby() люди больше не могут изменять положение спрайта, когда он подпрыгивает.Как изменить положение игрока, используя левую и правую кнопку, когда игрок прыгает?

Как написать метод, чтобы спрайт мог прыгать, как «Супер Марио»?

ответ

-1

Вы должны проверить на два условия для того, чтобы ваш игрок мог прыгать, как и в Super Mario.

Условие 1) Только прыжок кнопка нажата в то время в действии CCJumpTo вы должны дать следующую позицию в качестве текущего местоположения, высоты и нет. прыгает как один.

Условие 2) Когда прыгать и кнопки вперед нажата в то время в действии CCJumpTo вы должны дать следующую позицию в качестве текущего position.x + расстояние, которое вы хотите, чтобы покрыть скачку, это будет статичным все время, высота и нет. прыгает как один.

id jump = [CCJumpTo actionWithDuration:1 position:ccp(player.position.x+20, player.position.y)) height:20 jumps:1]; 

И в конце концов, вы должны выполнить действие перехода на игрока, надеюсь, что вы нашли это как решение для вашего вопроса ... !!

+0

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

2

Некоторое время назад я внесла некоторый код cocos2d, который сделал CCMove и CCJump действия стекируемые. См. here. Начиная с cocos2d 2.1, вы можете применять действия CCJump одновременно с другими движениями.

Однако, если вы хотите глубоко настроить, как будут выглядеть элементы управления вашей игрой, я бы вообще не использовал CCActions, и я бы управлял sprite.position напрямую, обрабатывая вход проигрывателя.

+0

Правильно. CCActions хорош для анимации, но не для игрового процесса. Чтобы переместить игрока, лучший способ - изменить его sprite.position – Bivis

 Смежные вопросы

  • Нет связанных вопросов^_^