размер экрана в cocos2d - PullRequest
       5

размер экрана в cocos2d

0 голосов
/ 25 декабря 2011

Я бы хотел изменить размер экрана, чтобы спрайты исчезали до того, как они достигнут реальных краев экрана.

НО я все еще хочу, чтобы мой фон оставался на всех размерах экрана.

Представьте себе бумагу на моем экране, поэтому я хочу, чтобы игра существовала только на этой бумаге, а вокруг этой бумаги все еще будет какой-то фон.

Итак, как мне настроить мой CCSprites, чтобы он входил и выходил из этой бумаги и медленно исчезал при приближении к ее краям?

мои спрайты - это ходы: (мне нужно добавить код для публикации, потому что сайт "стандарт")

id moveclouds1 = [CCMoveTo actionWithDuration:30 position:ccp(420,380)];

спасибо.

1 Ответ

0 голосов
/ 26 декабря 2011

вы можете использовать glscissor для этого просто подкласс CCLayer, чтобы сделать ваш "бумажный экран".Затем добавьте свои спрайты внутри этого слоя.на этом слое переопределите метод посещения

- (void) visit
{
    glPushMatrix();
    glEnable(GL_SCISSOR_TEST);

glScissor(x,y, width, height); //here put the position and the size of the paper/screen

[super visit];
    glDisable(GL_SCISSOR_TEST);
    glPopMatrix();

}

, спрайт, достигший границы бумаги / экрана, будет обрезан.ПОМНИТЕ: glScissor будет использовать значения PIXEL, а не точки, поэтому ваша задача - использовать двойные значения для отображения сетчатки (CC_CONTENT_SCALE_FACTOR () может пригодиться)

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