Перемещение фонового экрана, а также отслеживание траектории движения мяча в приложениях для Iphone Game - PullRequest
1 голос
/ 22 ноября 2010

У меня есть игровое приложение (cocos2d), в котором, из пушки нужно стрелять, этот шар проходит по траектории и приземляется на здание. Теперь проблема заключается в том, что в соответствии с требованием я должен увеличить размер фонового изображения, из-за которого мое изображение здания не видно на первом обзоре, а с перемещением мяча я должен перетаскивать фоновое изображение без нарушения траектории траектории движения. мяч. Может ли кто-нибудь помочь мне в этом отношении. Чтобы прояснить вопрос немного больше, я также прилагаю изображение. Заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 22 ноября 2010

В cocos2d самый простой способ сделать это - переместить весь слой.Если вы делаете вещи обычным способом cocos2d, у вас есть класс, который подклассов CCLayer.

Внутри этого класса вы можете просто изменить его положение и получить желаемый эффект.

В вашем примере, поскольку вы хотите переместить «камеру» вправо, вы можете простопереместите слой влево.например:

-(void) centerOnBuilding {
    CGPoint distanceToMove = ccp(-120, 0);
    self.position = ccpAdd(distanceToMove, self.position);
}

Эта функция в CCLayer будет иметь эффект центрирования камеры на 120 пикселей вправо от того места, где она была раньше.Если вы хотите получить эффект прокрутки, сделайте то же самое, но запустите действие MoveTo или MoveBy в слое.

2 голосов
/ 22 ноября 2010

у вас есть два разных координатных пространства, которые должны быть независимы друг от друга.Мяч должен двигаться в «мировом» координатном пространстве независимо от «экранного» координатного пространства.Конечно, «мир» должен отображаться на «экране», поэтому вы должны преобразовать «мировое» координатное пространство в «экранное» координатное пространство, что в вашем случае представляет собой простой перевод, который можно сделать, добавив смещение.

На iPhone вы можете просто поместить все «объекты мира» в UIView и переместить этот «UIView» влево и вправо, в то время как объекты мира перемещаются относительно «мира» внутри этого представления, ипреобразование из «мирового координатного пространства» (координатного пространства вида) в экранное координатное пространство будет выполнено за вас, когда вид будет отображен на экране.

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