Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocos2d iphone 通过矩形显示图层的内容;“断流器”;用cocos2d?_Cocos2d Iphone - Fatal编程技术网

Cocos2d iphone 通过矩形显示图层的内容;“断流器”;用cocos2d?

Cocos2d iphone 通过矩形显示图层的内容;“断流器”;用cocos2d?,cocos2d-iphone,Cocos2d Iphone,我正在寻找一种方法来屏蔽一个层,并通过一个矩形显示层的内容(实际上我需要多个矩形来显示底层的内容) 我遇到了类似的问题: 它有一个解决方案: 然而,当尝试使用这个类时,我得到警告:“函数'glPushMatrix'的隐式声明在C99中无效”。。。我还得到错误:“在“CCDirector*”类型的对象上找不到属性“deviceOrientation” 我需要做什么才能让它与最新版本的cocos2d一起工作 。。。不管怎样,我注释掉了deviceOrientation的东西,只是为了测试它是否会

我正在寻找一种方法来屏蔽一个层,并通过一个矩形显示层的内容(实际上我需要多个矩形来显示底层的内容)

我遇到了类似的问题:

它有一个解决方案:

然而,当尝试使用这个类时,我得到警告:“函数'glPushMatrix'的隐式声明在C99中无效”。。。我还得到错误:“在“CCDirector*”类型的对象上找不到属性“deviceOrientation”

我需要做什么才能让它与最新版本的cocos2d一起工作

。。。不管怎样,我注释掉了deviceOrientation的东西,只是为了测试它是否会工作,但它似乎不起作用

我有一个CCBatchNode:

    sheet = [CCSpriteBatchNode batchNodeWithFile:@"bg.png" capacity:500];
然后我在上面加了很多精灵

    [sheet addChild:sprite1];
    [sheet addChild:sprite2];
    [sheet addChild:sprite3];
然后我制作剪辑节点层

ClippingNode *clipNode = [ClippingNode node];
clipNode.clippingRegion = CGRectMake(50, 50, 200, 200);
然后,我添加精灵表和剪辑节点:

[layer addChild:sheet];
[layer addChild:clipNode];
然后我将其添加到CCSprite对象中

[self addChild:layer];

结果是,我从工作表中看到了许多精灵,但没有剪辑遮罩。。我的控制台显示了一百万条信息:“OpenGL错误0x0502 in-[CCTextureAtlas drawNumberOfQuads:fromIndex:]556”

所以。。。。。我不确定我做错了什么——或者这一切是否都和openGL警告和设备方向错误有关


更新:我在ClippingNode.m中添加了#include,它去掉了glpush/pop警告。。但是,一旦我将clipNode子对象添加到图层中,仍然会导致相同的OpenGL错误…

您可以使用CoCoS2D2.0中的着色器来执行此操作。请看一下本教程