如何部署cocos2d-x for xna的VS模板,可以参考一下
当我们新建一个Project后,Visual Studio会创建两个工程,一个用做程序,另一个用做程序的内容Content(称内容管道)。
很显然,这就是XNA的基本框架。
第一个工程文件主要是游戏的代码逻辑部分,另一个主要是存放游戏的资源(文字、图像、音频等媒体文件)。
Cocos2d-x创建的初始模版,运行一下,会出现经典的Hello World。
如果初始模版编译不成功,可以参考上面提及的相关文章。
既然cocos2d-x for xna是在xna框架的基础上开发的,那么XNA中窗口程序文件Game.cs在引擎中同样存在。下图很清晰地描述了XNA的框架流程。
即使你不是很了解,对你后面学习引擎的使用,影响也不是很大,当然熟悉更好。注意的是XNA框架可以看作是一个无限循环程序,就是一个图帧动画地不断呈现的过程。
XNA由窗口程序和主程序组成,XNA的窗口程序在Game1.cs文件中,类名为Game1,主程序在Program.cs文件中Program类中。
Program.cs文件中,主要建立Game1类对象并运行方法Run。Run方法将反复调用Update和Draw方法。
using System;namespace LearningCocos2d_xForXNA{#if WINDOWS || XBOX static class Program { ///< summary> /// The main entry point for the application. ///< /summary> static void Main(string[] args) { using (Game1 game = new Game1()) { game.Run(); } } }#endif}
实例化Game1,当前类中只有主要的三个方法:构造函数Game1()、
内容管道加载LoadContent()和修改渲染参数Update()。Draw方法让游戏组件Component实现,在构造函数Game1()中实现了。
其中要注意的是其中的AppDelegate类,在文件夹Classes中,引擎希望我们将代码写到这个文件中。AppDelegate类继承CCApplication,而且CCApplication继承DrawableGameComponent,继而继承GameComponent类。GameComponent类为所有XNA Framework游戏组件的基类。
AppDelegate类还是挺重要的,默认下有五个方法。
applicationDidFinishLaunching方法终于看到了Cocos2d-x熟悉的两个角色(CCDirector和CCScene)。
applicationDidFinishLaunching方法中可实现游戏的起始页面。
不难解释,根据上节中成员关系图中,CCDirector和CCScene实现了。
其中LearningCocos2d_xForXNAScene为新建项目的名称,该类默认下在文件HelloWorldScene.cs中。在LearningCocos2d_xForXNAScene类中,该类继承CCLayer类。
其中scene()方法在AppDelegate类中实现了调用,实现CCScene对象,将LearningCocos2d_xForXNAScene(CCLayer)对象addChild到CCScene对象场景中。
在LearningCocos2d_xForXNAScene中init()方法中实现CCLayer层的内容。
HelloWorld最终在CCLayer层中实现。
HelloWorld实现基本流程最后用一张图总结
著作权声明:本文由 原创,欢迎转载分享。请尊重作者劳动,转载时保留该声明和作者博客链接,谢谢!