Cocos2d-x虽然很火,但是相关的学习资料还是很少的。在看完《Cocos2d-x权威指南》的基础内容之后,我跟着学习过“老G的博客”,也看过一些“地球人也阻止不了程序猿们学习Cocos2d-x了”之类的帖子。总感觉介绍和讲解的内容是零零散散的。这非常不利于对于Cocos2d-x引擎的整体理解和掌握。(求大爷们不要灭我,只是个人观点额)
我相信,那些写帖子的同学们、老师们...大神们,都有自己的学习方法,必定不是通过看帖子来学习新东西的。
好了,不废话了。希望和大家一起学习,一起进步。为了给自己鼓劲,在此也为自己附上一句话。
有梦想,并坚持,人生就有希望。
------ 北大校长
-------------------------------------------------------------------美丽的分割线-------------------------------------------------------------------
任何一个程序都有一个开始执行的入口,这个入口通常叫做“main”。那么Cocos2d-x在Win32平台下的入口是int APIENTRY _tWinMain:
int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);
// create the application instance
AppDelegate app;
CCEGLView* eglView = CCEGLView::sharedOpenGLView();
eglView->setViewName("TestCpp");
eglView->setFrameSize(480, 320);
return CCApplication::sharedApplication()->run();
}
AppDelegate:
程序源码中的注释:The reason for implement as private inheritance is to hide some interface call by CCDirector。(这句话如何理解,看各位自己的功力了,我就不做坑爹的翻译了^ ^)
包含三个方法:
1、virtual bool applicationDidFinishLaunching();
应用程序相关资源加载完成后执行此方法。可以简单的认为,这个就是程序的初始化函数。
功能:
(1)初始化应用程序中唯一的CCDirector导演。
(2)设置OpenGL的相关参数等。
(3)创建场景,创建布景层,并将布景层放入场景中,作为子节点。
(4)pDirector->runWithScene(pScene); 设置运行的第一个场景。
2、void AppDelegate::applicationDidEnterBackground()
原文中的注释:This function will be called when the app is inactive。表示应用程序当前状态是“不活跃”(来电话)时,这个方法将被执行。
功能:
(1)停止游戏当中的动画。
(2)暂停游戏的