转载自:http://disanji.net/2010/11/20/howto-create-a-cocos2d-mac-project/
我已经关注cocos2d小组一段时间了,他们最近的发布版本支持在Mac OS X系统上创建项目。也许是为即将上线的Mac App Store作准备,cocos2d团队正在努力使得从iPhone/iPad到Mac OS X上程序的移植更简单。
目前似乎并不能100%地支持Mac OS X系统,但是基础功能可以实现。你或许比较关心如何使自己iPhone上的项目转而支持Mac OS X,实话说我没找到简单的方法,因此倘若有人可以站出来帮我的话,我非常感激。但是这篇教程的目的将是创建一个新的应用程序。
下面让我们回顾一下为完成这个任务而需要的步骤。
这里可以下载最新的cocos2d版本。完成下载之后,解压到Mac上的文件夹中。
创建新的Cocoa工程。 将Cocos2d资源添加到项目中 编辑AppDelegate.h 和AppDelegate.m文件 引入架构 创建新的Objective-C的类 为MainMenu.xib更改Interface Builder中的设置 引入样例文件我还得说这不一定是在OS X上创建使用Cocos2d的项目的最好的或唯一的方式,有一些步骤可能是多余的或者是不对的。下面只是我采取的步骤,如果你们有更好的建议来使这篇教程更完善,请放心的告诉我。
创建新的Cocoa工程
首先我们需要打开Xcode之后开始新的项目。然而这一次,我们将用在Mac OS X->Application下的Cocoa Application模板而不是预定义的cocos2d模板。下面是屏幕截图:
一旦你创建了新的项目,你会看到Xcode界面出现。这篇教程中我的程序命名为Demo Mac Port。你的屏幕跟下面的截图看起来应该差不多。
在下一步将要添加cocos2d资源到项目中,确定你已经下载了支持Mac OS X的最新的cocos2d的版本。
将Cocos2d资源添加到项目中
这一步你需要cocos2d文件,如果你还没有下载,那么你可以在这里下载最新版本。下载后解压到你的硬盘上。
解压缩之后,打开cocos2d-iphone-0.99.5-beta3文件夹找到cocos2d文件夹。屏幕截图如下:
这个文件夹需要添加到工程中。我通常把它直接从文件查找窗口拖拽到工程中。只需拖拽到在程序名下工程中,与下面截图类似的一个对话框就会出现:
之后你的Xcode工程界面跟下面看起来相似:
下一个环节将引导你修改AppDelegate.h 和AppDelegate.m文件。
编辑AppDelegate.h 和AppDelegate.m文件
这一部分你会修改这两个文件使它们与Cocos2d相兼容。我在这里不会解释代码但是详细的代码我粘贴在下面:
AppDelegate.h
1234567891011121314151617181920212223 | #import "cocos2d.h" @class CCSprite; //CLASS INTERFACE#ifdef __IPHONE_OS_VERSION_MAX_ALLOWED@interface AppController : NSObject{ UIWindow *window;}@end #elif defined(__MAC_OS_X_VERSION_MAX_ALLOWED)@interface Demo_Mac_PortAppDelegate NSObject { NSWindow *window_; MacGLVIEw *glVIEw_;} @property (assign) IBOutlet *window;) IBOutlet MacGLVIEw *glVIEw; @end#endif // Mac |
AppDelegate.m
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
// 动作演示// a cocos2d example// http://www.cocos2d-iphone.org// //本地引入#import "cocos2d.h"#import "Demo_Mac_PortAppDelegate.h"#import "DemoScene.h" // CLASS IMPLEMENTATIONS #ifdef __IPHONE_OS_VERSION_MAX_ALLOWED #pragma mark AppController - iOS @implementation AppController - (voID) applicationDIDFinishLaunching:(UIApplication*)application{ // CC_DIRECTOR_INIT() // // 1. 初始化一个0bit深度的EAGLVIEw,和一个RGB565的渲染器 // 2. EAGLVIEw 多点触摸不使能 // 3. 创建一个UIWindow设置其为window变量 // 4. 将EAGLVIEw的父类设为新创建的window // 5. 创建显示链接指针 // 5a. 如果失败了,会使用一个NSTimer 指针 // 6. 运行在60fps // 7. 不现实fps // 8. 设备情况:细节描写(portrait) // 9. 将这个指针连到EAGLVIEw // CC_DIRECTOR_INIT(); // 获取共享指针... CCDirector *director = [CCDirector sharedDirector]; //设置景深模式 [director setDeviceOrIEntation:kCCDeviceOrIEntationLandscapeleft// 开启显示fps [director setdisplayFPS:YES// 开启高级资源模式 (Retina display) on iPhone 4 and maintains low res on all other devices if [UIScreen instancesRespondToSelector@selector(scale)]) [director setContentScaleFactor[[UIScreen mainScreen] scale// 为PNG/BMP/TIFF/JPEG/GIF 设置默认文本格式 // 可以是 RGBA8888,RGBA4444,RGB5_A1,RGB565 // 你可以随时改变. [CCTexture2D setDefaultAlphaPixelFormat:kCCTexture2DPixelFormat_RGBA8888]; CCScene *scene [CCScene node]; [scene addChild: [nextAction) node]; [director runWithScene: scene]; } // 发生调用,暂停游戏-) applicationWillResignActive(UIApplication { ] pause];// 调用被拒绝) applicationDIDBecomeActive] resume// 程序将结束)applicationWillTerminate{ CC_DIRECTOR_END);// 置于后台) applicationDIDEnterBackground] stopAnimation// 置于前台) applicationWillEnterForeground] startAnimation// 清理内存)applicationDIDReceiveMemoryWarning] purgeCachedData} ) dealloc[window release[super dealloc// next delta time will be zero) applicationSignificantTimeChange] setNextDeltaTimeZero#elif defined(__MAC_OS_X_VERSION_MAX_ALLOWED) #pragma mark AppController - Mac@implementation Demo_Mac_PortAppDelegate @synthesize window=window_,glVIEw=glVIEw_; )applicationDIDFinishLaunching(NSNotification )aNotification { CCDirector [director setopenGLVIEw:glVIEw_// Enable "moving" mouse event. Default no. [window_ setAcceptsMouseMovedEventsNO] runWithScene[DemoScene scene#endif
使用applicationDIDFinishLaunching方法,你会注意到[[CCDirector shardDirector] runWithScene:[DemoScene scene]]这一行。这一行定义了我们打算令工程开始的视图。在下一部分我会为一个新的Objective-C类列出更多的代码。
创建新的Objective-C的类
在此时我们需要创建新的Objective-C的类。右击你的Xcode工程界面上的Classes group,之后点击Add->New file.你会看到下面的对话框:
点击下一步你会看到:
我已经命名我的类为DemoScene.m ,注意检查创建相应的DemoScene.h的方框选中。点击finish,可以看到新的类。下面是这两个文件中的代码,如果你对cocos2d熟悉,那么下面的代码你不会陌生:
DemoScene.h
1234567891011121314151617181920212223242526272829
DemoScene.m
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
目前我们还是不能建造和运行这个工程。还有一些事情要处理,引入一些框架和图片并且作一些修改。下一部分将会涉及我们需要引入的框架。
引入额外的框架
这一部分设计我们需要添加的框架以及如何添加框架。我们需要添加的框架如下:
QuartzCore.framework OpenGL.framework applicationservices.framework libz.dylib在Framework上右击,然后点击Add->Existing Frameworks.之后下面的窗口会出现:
找到QuartzCore.framework然后点击添加,重复该步骤添加剩下的三个。
在你完成添加之后,Xcode工程界面应该跟下图类似:
之后我们需要做的就是引入一些图片然后做一些界面的修改。这篇教程比较长,但是我保证快到结尾了。下一部分我会快速讲述需要添加的图片。
将图片添加到工程中
在DemoScene.m中使用了CCprite,该CCprite使用了一个名为starBG.png的图片。你可以在这里下载该图片。
Cocos2d资源要求我们的资源文件夹中有一个称作fps_images.png的文件来渲染在底部左边角出现的图片。你可以在解压缩后的Cocos2d/Resources/Fonts 文件夹中找到这个文件。
之后你把这两个文件放到Xcode工程的资源文件夹中。
此时我们已经完成了对Xcode工程来说必需的步骤,唯一未完成的是使用界面编辑器(Interface Builder)来为我们的MainMenu.xib文件做一些改动。
MainMenu.xib 与Interface Builder
在Xcode 工程界面中找到MainMenu.xib。它应该位于你的资源文件夹中。双击这个文件,会启动界面编辑器。
界面编辑器启动后,首先需要确定程序窗口的大小。为了简化,我设置窗口为960*640大小,因为我的图片本来都是为iPhone4准备的。
在你调整完大小后,屏幕截图如下:
你需要在Window Attributes中改变设置。在底部找到One Shot的标志然后不勾选这一项:
在改变窗口大小和取消One Shot模式之后,我们需要添加一个OpenGL的视图。在library中向下滚动查找OpenGL VIEw。将它拖入你的窗口。你现在可以看到下面的图:
将该OpenGL视图的大小调整为窗口大小,窗口变化如下:
现在窗口和Open GL视图大小都是960*640,下面需要对该视图做一些改变。首先,要将该类变为MacGLVIEw。选中OpenGL视图在IDentity 标签下将它的名字改为MacGLVIEw。
下一步,点击Attributes 标签,具体设置如下图所示:
在你完成上面的修改之后,下面是最后的修改。我们需要在OpenGL VIEw的AppDelegate中创建一个到glVIEw的链接。因此创建这个链接的具体设置如下所示:
现在我们已经完成了界面编辑,保存退出界面生成器,返回Xcode工程。在此时为在Mac OS X上运行cocos2d程序的准备都完成了,启动你的程序之后你可以看到如下所示的截图:
恭喜,你已经完成了在Mac OS X上创建程序的基础模块。在创建这个教程的时候我努力使它周密并且希望没有遗漏什么东西。你可以在下面下载该工程文件。
Demo Mac Port (6.9M)
这个教程有用么?你已经利用该教程在Mac上创建基于cocos2d的程序了么?期待您的反馈。
原文作者:Chris Fletcher
原文链接:http://chris-fletcher.com/2010/10/24/howto-create-a-cocos2d-mac-project/
总结以上是内存溢出为你收集整理的如何在Mac上创建一个cocos2d的项目全部内容,希望文章能够帮你解决如何在Mac上创建一个cocos2d的项目所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)