Cocos2d iphone cocos2d中的屏幕大小

Cocos2d iphone cocos2d中的屏幕大小,cocos2d-iphone,Cocos2d Iphone,我想改变屏幕大小,使精灵将消失之前,他们到达真正的屏幕边缘 但我仍然希望我的背景保持在所有屏幕大小上 想象一下我的屏幕上有一张纸,所以我想让游戏只存在于那张纸上,而在那张纸的周围仍然会有一些背景 那么,我该如何设置我的CCSprites,使其在纸张上进进出出,并在到达边缘时慢慢消失 我的精灵是移动的:(我需要放一些代码来发布,因为网站是“标准的”) 谢谢。您可以使用glscissor 只需将CCLayer子类化,即可制作“纸质屏幕”。然后在该层中添加精灵。 在此层上覆盖访问方法 - (void)

我想改变屏幕大小,使精灵将消失之前,他们到达真正的屏幕边缘

但我仍然希望我的背景保持在所有屏幕大小上

想象一下我的屏幕上有一张纸,所以我想让游戏只存在于那张纸上,而在那张纸的周围仍然会有一些背景

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

我的精灵是移动的:(我需要放一些代码来发布,因为网站是“标准的”)


谢谢。

您可以使用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将使用像素值而不是点,因此您的工作是在视网膜显示中使用双值(CC_CONTENT_SCALE_FACTOR()可以派上用场)

- (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();

}