cocos2d programming guide翻译(12)

http://bbs.tairan.com/thread-807-1-1.html

导演
缓冲
信息支持cocos2d v0.99.4和更新的版本
颜色缓冲
这个默认的缓冲时RGB565.它是一个16位的缓冲器,没有alpha(应该是一种cpu架构).为了使用RGBA8颜色换chogn,你需要创建并初始化EAGLView
EAGLView *glView = [EAGLView viewWithFrame:[window bounds]
                                                                   pixelFormat:kEAGLColorFormatRGBA8];
kEAGLColorFormatRGBA8:创建一个RGBA8颜色缓冲(32位)
kEAGLColorFormatRGB565:创建一个RGB565颜色缓冲(16位)。更快的,但是没有alpha

深度缓冲
默认情况下,cocos2d不使用深度缓冲,但是你可以创建一个当你初始化EAGLView用一个16位或者24位深度缓冲
EAGLView *glView = [EAGLView viewWithFrame:[window bounds]
                                               pixelFormat:kEAGLColorFormatRGBA8
                                           depthFormat:GL_DEPTH_COMPONENT24_OES];
GL_DEPTH_COMPONENT24_OES:24位深度缓冲
GL_DEPTH_COMPONENT16_OES:16位深度缓冲
0:没有深度缓冲被创建

高资源
自从v0.99.4开始,导演可以设置颜色来呈递缓冲再高资源模型里:
// Enables High Res mode (Retina Display) on iPhone 4 and maintains low res on all other devices
if ([UIScreen instancesRespondToSelector:@selector(scale)])
        [director setContentScaleFactor:[[UIScreen mainScreen] scale]];
从v0.99.5开始,开始支持视网膜屏幕显示:
// Enables High Res mode (Retina Display) on iPhone 4 and maintains low res on all other devices
if( ! [director enableRetinaDisplay:YES] )
        CCLOG(@"Retina Display Not supported");
它是怎么工作的:
如果你有一台iphon4,显示方案是960*640

多点抽样,或者全屏Anti_Aliasing
多点抽样可以执行在所有的设备上,但是在MBX设备中表现的冲击力更剧烈
怎么使用它
不要使用CC_DIRECTOR_INIT() macro。可以用下面的例子作为一个简单的模型
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
        // Init the window
        window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

// must be called before any other call to the director
        [CCDirector setDirectorType:kCCDirectorTypeDisplayLink];

// before creating any layer, set the landscape mode
        CCDirector *director = [CCDirector sharedDirector];

// landscape orientation
        [director setDeviceOrientation:kCCDeviceOrientationLandscapeLeft];

// set FPS at 60
        [director setAnimationInterval:1.0/60];

// Display FPS: yes
        [director setDisplayFPS:YES];

// Create an EAGLView with a RGB8 color buffer, and a depth buffer of 24-bits
        EAGLView *glView = [EAGLView viewWithFrame:[window bounds]
                   pixelFormat:kEAGLColorFormatRGBA8                // RGBA8 color buffer
                   depthFormat:GL_DEPTH_COMPONENT24_OES   // 24-bit depth buffer
                   preserveBackbuffer:NO
                   sharegroup:nil //for sharing OpenGL contexts between threads
                   multiSampling:NO //YES to enable it
                   numberOfSamples:0 //can be 1 - 4 if multiSampling=YES
        ];

// attach the openglView to the director
        [director setOpenGLView:glView];

// Enables High Res mode (Retina Display) on iPhone 4 and maintains low res on all other devices
        if( ! [director enableRetinaDisplay:YES] )
                CCLOG(@"Retina Display Not supported");

// make the OpenGLView a child of the main window
        [window addSubview:glView];

// make main window visible
        [window makeKeyAndVisible];

// Default texture format for PNG/BMP/TIFF/JPEG/GIF images
        // It can be RGBA8888, RGBA4444, RGB5_A1, RGB565
        // You can change anytime.
        [CCTexture2D setDefaultAlphaPixelFormat:kCCTexture2DPixelFormat_RGBA8888];

// create the main scene
        CCScene *scene = [...];

// and run it!
        [director runWithScene: scene];

return YES;
}

 
时间: 2024-10-31 05:26:45

cocos2d programming guide翻译(12)的相关文章

cocos2d programming guide 翻译 引导页(完结)

http://bbs.tairan.com/article-25-1.html Cocos2d官方入门指导 原文地址:http://www.cocos2d-iphone.org/wiki/doku.php/prog_guide:index翻译:sile(泰然翻译组)sile:在子龙的鼓励下翻译了这个系列的文章,也算是为自己和初学者提供一个方便学习的机会,自己一直是搞acm的,第一次接触项目之类的文章,翻译不好的地方还希望大家指出,我好改正,谢谢大家了,因为没有网盘,所以就直接发布出来吧,明天应该

cocos2d Programming Guide

http://python.cocos2d.org/doc/programming_guide/index.html The cocos2d Programming Guide provides in-depth documentation for writing applications that use cocos2d. Many topics described here reference the cocos2d API reference, provided separately. I

《OpenGL ES 2.0 Programming Guide》第12章“最简单的ReadPixels并保存为BMP”示例代码【C语言版】

由于<OpenGL ES 2.0 Programming Guide>原书并没有提供第12章的示例代码,书上的代码也只提到关键的步骤,而网上大多是Android/iOS版本的示例,C/C++的大都基于OpenGL或OpenGL ES 3.0,为了加深理解,遂自己实现了一份C语言版本的,希望能够帮助到同样喜欢OpenGL ES 2.0的同学. 废话不多说,直接上代码 #include "stdafx.h" #include "esUtil.h" #incl

Objective-C Runtime Programming Guide 中文翻译

介绍 Objective-C将许多决策从便宜时期和链接时期延后到运行时期.只要可能,它都动态的做很多事情.这意味着它不仅需要一个编译器,还需要一个运行时系统来执行编译好的代码.对于Objective-C来说,这个运行时系统就好像一个操作系统,使objective-c能够正常工作. 本文探究NSObject类,以及Objective-C程序如何和运行时系统交互. 通过阅读本文,你应该理解Objective-C的运行时系统如何工作,以及如何利用它.尽管对于写一个Cocoa程序而言,你可能并不需要理解

Spark1.1.0 Spark SQL Programming Guide

Spark SQL Programming Guide Overview Getting Started Data Sources RDDs Inferring the Schema Using Reflection Programmatically Specifying the Schema Parquet Files Loading Data Programmatically Configuration JSON Datasets Hive Tables Performance Tuning

Audio Queue Services Programming Guide(音频队列服务编程指南)

Audio Queue Services 的苹果官方文档: https://developer.apple.com/library/ios/documentation/MusicAudio/Conceptual/AudioQueueProgrammingGuide/Introduction/Introduction.html#//apple_ref/doc/uid/TP40005343-CH1-SW1 网友对上面的苹果官方文档的部分翻译: 音频队列服务编程指南(Audio Queue Servi

Spark Programming Guide 中文版

Spark Guide Programming Guide 中文翻译 : Git地址:https://github.com/ChenZhongPu/SparkGuideGitBook GitBook 地址:http://chenzhongpu.gitbooks.io/sparkguide/

笔记:View Programming Guide for iOS -1

原文:View Programming Guide for iOS View and Window Architecture Views and windows present your application’s user interface and handle the interactions with that interface. UIKit and other system frameworks provide a number of views that you can use a

Quartz 2D Programming Guide

Quartz 2D Programming  Guide 官方文档: Quartz 2D Programming Guide 译文: Quartz 2D编程指南(1) - 概览 Quartz 2D编程指南(2) - 图形上下文(Graphics Contexts) Quartz 2D编程指南(3) - 路径(Paths)[上] Quartz 2D编程指南(3) - 路径(Paths)[下] Quartz 2D编程指南(4) - 颜色和颜色空间 Quartz 2D编程指南(5) - 变换 Quar