cocos2d中的屏幕大小

时间:2011-12-25 08:23:59

标签: cocos2d-iphone

我想更改屏幕尺寸,以便精灵在到达真正的屏幕边缘之前消失。

但我仍然希望我的背景能够保持所有的屏幕大小。

想象一下我的屏幕上有一篇论文,所以我想让游戏只存在于那篇论文中,而那篇文章仍然会有一些背景。

那么,我如何设置我的CCSprites进出该纸张并在到达边缘时慢慢消失?

我的精灵正在移动:(我需要放一些代码才能发布原因网站“标准”)

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

感谢。

1 个答案:

答案 0 :(得分:0)

你可以使用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()可以派上用场)