Ios 在cocos2d for iPhone中使用reorderchild方法实现透明度

Ios 在cocos2d for iPhone中使用reorderchild方法实现透明度,ios,objective-c,cocos2d-iphone,Ios,Objective C,Cocos2d Iphone,在cocos2d中将动态添加对象的透明背景制作到等轴测tilemap时,我遇到了一些问题。我在appdelegate中启用了depth GL_depth_COMPONENT24_OES,并在使用此代码将新精灵添加到tilemap之后 CCSprite *zgrada1 = [CCSprite spriteWithFile:@"barakaTest.png"]; [zgrada1 setPosition:[tileMap convertToNodeSpace:touchLocation]]

在cocos2d中将动态添加对象的透明背景制作到等轴测tilemap时,我遇到了一些问题。我在appdelegate中启用了depth GL_depth_COMPONENT24_OES,并在使用此代码将新精灵添加到tilemap之后

CCSprite *zgrada1 = [CCSprite spriteWithFile:@"barakaTest.png"];
    [zgrada1 setPosition:[tileMap convertToNodeSpace:touchLocation]];
    float lowestZ = -(tileMap.mapSize.width + tileMap.mapSize.height);
    float currentZ = tilePos.x + tilePos.y;
    float z = lowestZ + currentZ - 1.5f;
    [tileMap addChild:zgrada1];
    [tileMap reorderChild:zgrada1 z:z];
我正确添加了一个对象,但没有透明度。Z顺序顶点Z工作正常,但背景为黑色。以下是截图:


我似乎记得GL_DEPTH和将投影设置为[director_usetprojection:kCCDirectorProjection2D]之间存在耦合;我不确定它是否与您的问题有关,但这听起来很有道理。我在appdelegate.m:[director_uuSetDepthTest:YES]中添加了这两行;[director_uuuuSetProjection:KCCD director Projection2D];它仍然是相同的,您使用的是什么版本的cocos2d?我使用的是cocos2d 2.0我现在使用的是vertexz,而不是reorderchild metod,在添加了这行代码之后:sprite.shaderProgram=[[CCShaderCache sharedShaderCache]programForKey:kCCShader\u PositionTextureColorAlphaTest];渲染效果更好,但仍有一些扭曲的部分。以下是截图: