#iphone #cocos2d-iphone
#iPhone #cocos2d-iphone
Вопрос:
Итак, я работаю над игрой в Cocos2d для iPhone. Я использую скрытый ввод для управления перемещением символа. Поскольку я хочу, чтобы персонаж все время оставался в центре экрана, для создания видимости движения я перемещаю все остальное в сцене, кроме персонажа.
Но вот моя проблема. Моей игре нужны враги, которые двигаются. Я думал о том, чтобы сделать что-то вроде:
id myAction = [CCMoveTo actionWithDuration:1.0f position:ccp(170, 0)];
[boss runAction:myAction];
И я бы поместил это в таймер. Хорошо, итак, я сделал это, и сначала не стал возиться с джойстиком, который все перемещает, и «босс» переместился туда, куда я и предполагал. Но потом я перепутал с джойстиком. Хорошо, в принципе, это все испортило, ничто не переместилось в нужное мне место и так далее. Я подозревал, что это произойдет, но все равно попробовал. Теперь я понятия не имею, что делать. Чтобы было немного понятнее, вот моя функция таймера:
-(void)tick:(float)delta {
// pressed
if (rightButton.active == YES){ //This is unrelated... its for something else in my game
[character stopAction:character_attack];
[character runAction:character_attack];
} //end unrelatedness
id bossMov = [CCMoveTo actionWithDuration:1.0f position:ccp(-170, 0)];
[boss runAction:bossMov];
[self applyJoystick:leftJoystick toNode:boss forTimeDelta:delta];
[self applyJoystick:leftJoystick toNode:background forTimeDelta:delta];
}
И мой метод timer вызывается в init следующим образом:
[self schedule:@selector(tick:)];
Если вам нужна дополнительная информация, просто спросите.
Ответ №1:
Разве вы не можете просто переместить слой, дочерним элементом которого являются все элементы вашей карты и враги, в направлении, противоположном направлению вашего персонажа?
например, если ваш персонаж перемещается на 1 на x, переместите слой -1 на x