【发布时间】:2013-11-27 10:40:20
【问题描述】:
如何让cocos3D场景透明(EAGLView有透明背景)?我知道这将是一个重复的问题。 但我已经尝试了各种来源的所有建议,但没有一个对我有用。
只是在这里列出它们作为参考:
1) 更改 CCDirector.m 中 setGLDefaultValues 方法中的不透明和透明颜色
openGLView_.opaque = NO;
glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
2) 在 EAGLView 中的 initWithCoder
CAEAGLLayer *eaglLayer = (CAEAGLLayer*)[self layer];
pixelformat_ = kEAGLColorFormatRGBA8;
depthFormat_ = 0; // GL_DEPTH_COMPONENT24_OES;
multiSampling_= NO;
requestedSamples_ = 0;
size_ = [eaglLayer bounds].size;
eaglLayer.opaque = NO;
glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
CGColorSpaceRef rgb = CGColorSpaceCreateDeviceRGB();
const CGFloat myColor[] = {0.0, 0.0, 0.0, 0.0};
eaglLayer.backgroundColor = CGColorCreate(rgb, myColor);
CGColorSpaceRelease(rgb);
eaglLayer.drawableProperties = eaglLayer.drawableProperties = [NSDictionary dictionaryWithObjectsAndKeys: [NSNumber numberWithBool:NO], kEAGLDrawablePropertyRetainedBacking, kEAGLColorFormatRGBA8, kEAGLDrawablePropertyColorFormat, nil];
if( ! [self setupSurfaceWithSharegroup:nil] ) {
[self release];
return nil;
}
3) 更改了我的 CCViewController 的 isOverlayingDeviceCamera 方法
viewController.isOverlayingDeviceCamera = YES;
我正在使用 EAGLView.h 版本 1.3 我尝试使用较新的版本(1.7),但我无法继续,因为它在此导入时会出现编译器错误
#import <OpenGL/OpenGL.h>
请帮帮我,因为我浪费了一整天的时间来玩这个
【问题讨论】:
标签: ios iphone objective-c cocos2d-iphone cocos3d