cocos2d场景仅显示特定宽度

时间:2010-12-08 17:36:32

标签: iphone uiviewcontroller cocos2d-iphone

我在UIViewController中启动我的cocos场景调用跟随函数(是的,我必须从UIViewController调用它),其视图大小为425x320。

-(void) runCocos2d
{
   EAGLView *glview = [EAGLView viewWithFrame:CGRectMake(0, 0, 320, 320)];

   CCDirector *director = [CCDirector sharedDirector];
   [director setDisplayFPS:YES];
   [director setOpenGLView:glview];

   CCScene *scene = [CCScene node];
   id node = [LayerExample node];
   [scene addChild: node];

   [director runWithScene:scene];

   [self.view addSubview:glview];

}

它在模拟器上完美显示但在设备上没有显示(我只在那里得到黑色视图)。如果我改变第一行 EAGLView *glview = [EAGLView viewWithFrame:CGRectMake(0, 0, 425, 320)];(仅更改EAGLView的宽度) 它不再出现在模拟器上了。

我没有使用模板,我在此post中配置了它。

Cocos2d输出:

  

2010-12-08 17:45:01.905 [16537:207] cocos2d:GL_VENDOR:Apple Computer,Inc。   2010-12-08 17:45:01.905 [16537:207] cocos2d:GL_RENDERER:Apple软件渲染器   2010-12-08 17:45:01.906 [16537:207] cocos2d:GL_VERSION:OpenGL ES-CM 1.1 APPLE   2010-12-08 17:45:01.906 [16537:207] cocos2d:GL_MAX_TEXTURE_SIZE:2048   2010-12-08 17:45:01.906 [16537:207] cocos2d:GL_MAX_MODELVIEW_STACK_DEPTH:16   2010-12-08 17:45:01.907 [16537:207] cocos2d:GL支持PVRTC:是   2010-12-08 17:45:01.907 [16537:207] cocos2d:GL支持BGRA8888纹理:NO   2010-12-08 17:45:01.909 [16537:207] cocos2d:GL支持NPOT纹理:是   2010-12-08 17:45:01.909 [16537:207] cocos2d:GL支持discard_framebuffer:是   2010-12-08 17:45:01.910 [16537:207] cocos2d:用NPOT支持编译:NO   2010-12-08 17:45:01.910 [16537:207] cocos2d:在TextureAtlas中使用VBO支持编译:是   2010-12-08 17:45:01.910 [16537:207] cocos2d:在CCNode中使用仿射矩阵变换编译:是   2010-12-08 17:45:01.911 [16537:207] cocos2d:用Profiling Support编译:NO   2010-12-08 17:45:01.912 [16537:207] cocos2d:cocos2d v0.99.4   2010-12-08 17:45:01.912 [16537:207] cocos2d:使用Director类型:CCTimerDirector

提前致谢!

2 个答案:

答案 0 :(得分:0)

我刚发现问题here

但我没有解决方案,因为我需要425x320分辨率

答案 1 :(得分:0)

由于视图需要是32的倍数,为什么不将它设为480x320,然后将其偏移,使其从屏幕边缘悬挂55个像素?

你得到了你的观点,然后可以在绘画时考虑“死亡空间”。