Сделать экран 'краями' (Cocos2D) - PullRequest
0 голосов
/ 22 октября 2011

Я новичок в Cocos2D и хочу знать, как сделать ребро экрана / границу для моей игры, чтобы персонаж не выпал из экрана. Я где-то читал, что вы можете сделать это либо Cocos2D или Box2D, и мне все равно, какой я использую, но я просто не уверен, с чего начать. Мне нужен только край сверху и снизу устройства. Также было бы неплохо, если бы эти значения не были жестко запрограммированы, поскольку это будет универсальное приложение.

Также, когда я на самом деле делаю границу, каков реальный путь к остановке выхода персонажа из экрана? Должен ли я просто установить гравитацию или 0?

Кто-нибудь знает, как я могу продолжать это делать?

Я действительно изо всех сил пытаюсь понять это!

Спасибо !!!

1 Ответ

1 голос
/ 22 октября 2011

Если в вашей игре используется кварц, то у каждого объекта пользовательского интерфейса должна быть ограничительная рамка.Это может быть доступ, подобный следующему коду:

UIImage *hero = [[UIImage alloc]initWithImage:image];

CGRect heroBoundingBox = hero.frame;

Контроллер UIViewControl, в котором находится игра, также будет иметь ограничивающий прямоугольник.Самый простой способ проверить, находится ли герой на экране, - это использовать CGRectContainsRect.

UIImage *hero = [[UIImage alloc]initWithImage:image];

CGRect heroBoundingBox = hero.frame;

CGRect screenBoundingBox = viewController.frame;

bool heroOnScreen = CGRectContainsRect(screenBoundingBox, heroBoundingBox);

Затем просто установить такой код:

if (heroOnScreen) {
    //continue moving hero
} else {
    //move hero back on screen
}

Трудно сказать,Вы должны сделать это, не видя пример кода или зная, как это работает.Надеюсь, это поможет.

...