Самый простой способ сделать это - создать подкласс CCNode
для вашего объекта игрока, а затем манипулировать им, как и любым другим CCNode
. Для начала вы можете изменить структуру position
игрока следующим образом:
player.position = ccp( player.position.x + [joystick xValue],
player.position.y + [joystick yValue]);
Это делает некоторые предположения о том, как вы хотите, чтобы ваш джойстик и игрок вел себя, а также о некоторых свойствах класса джойстика, но, надеюсь, вы поняли мой дрейф. Если неясно, [joystick xValue]
и [joystick yValue]
будет некоторым ограниченным значением (скажем, от -1 до 1), представляющим позицию касания на джойстике. В зависимости от диапазона значений вы можете затем масштабировать его до некоторой константы, чтобы перемещать игрока быстрее или медленнее.
На сайте cocos2d есть отличное руководство для начинающих , которое я очень рекомендую. Возможно, вы захотите ознакомиться с классом CCAction
и для более сложных маневров.