我想更改屏幕尺寸,以便精灵在到达真正的屏幕边缘之前消失。
但我仍然希望我的背景能够保持所有的屏幕大小。
想象一下我的屏幕上有一篇论文,所以我想让游戏只存在于那篇论文中,而那篇文章仍然会有一些背景。
那么,我如何设置我的CCSprites
进出该纸张并在到达边缘时慢慢消失?
我的精灵正在移动:(我需要放一些代码才能发布原因网站“标准”)
id moveclouds1 = [CCMoveTo actionWithDuration:30 position:ccp(420,380)];
感谢。
答案 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()可以派上用场)