【发布时间】:2012-07-02 08:07:14
【问题描述】:
我想在我的 UIView 上添加一个 CCSprite,可以这样做吗?我发现的是在 Cocos2D 上添加 UIKit 的方法,但我想要它的相反。我想在 UIKit 上添加 Cocos2D。
任何帮助将不胜感激。谢谢!
【问题讨论】:
标签: uiview cocos2d-iphone uikit
我想在我的 UIView 上添加一个 CCSprite,可以这样做吗?我发现的是在 Cocos2D 上添加 UIKit 的方法,但我想要它的相反。我想在 UIKit 上添加 Cocos2D。
任何帮助将不胜感激。谢谢!
【问题讨论】:
标签: uiview cocos2d-iphone uikit
您可以通过在 uiviewcontroller 类中设置以下方法来做到这一点
- (void)setupCocos2D {
CCGLView *glView = [CCGLView viewWithFrame:CGRectMake(100, 100, 200, 200)
pixelFormat:kEAGLColorFormatRGB565 // kEAGLColorFormatRGBA8
depthFormat:0 // GL_DEPTH_COMPONENT16_OES
];
glView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
[self.view insertSubview:glView atIndex:0];
[[CCDirector sharedDirector] setView:glView];
CCScene *scene = [StarVideoView scene];
[[CCDirector sharedDirector] runWithScene:scene];
}
并在您的 viewDidLoad 方法中调用此方法 [自设置Cocos2D];
这里 startVideoView 是我的 ccscene 类,当然你必须在你的 uiviewcontroller 类中添加 cocos2d.h 库:)
【讨论】:
Cocos2D 在 EAGLView 类中绘制绘图,该类只是 CAEAGLLayer 的包装器。因此,您可以尝试使用关联的EAGLView 创建一个director,然后将 cocos2d open gl 层添加到您的视图中:
[myView.layer addSublayer:[[CCDirector sharedDirector] openGLView].layer];
【讨论】: