当前位置: 首页 > news >正文

涿州做网站少儿python基础教程

涿州做网站,少儿python基础教程,discuz 网站备案信息代码,秦皇岛黄金海岸旅游景点植物大战僵尸游戏开发教程专栏地址http://t.csdnimg.cn/ErelL 一、启动方式 鼠标左键单机VS2022上方工具栏中绿色三角按钮(本地Windows调试器)进行项目启动。第一次启动项目需要编译项目中所有代码文件,编译生成需要一定的时间。不同性能的电…

植物大战僵尸游戏开发教程专栏地址icon-default.png?t=N7T8http://t.csdnimg.cn/ErelL


一、启动方式

鼠标左键单机VS2022上方工具栏中绿色三角按钮(本地Windows调试器)进行项目启动。第一次启动项目需要编译项目中所有代码文件,编译生成需要一定的时间。不同性能的电脑需要消耗的时间差别可能较大,通常在几分钟到几十分钟之间。编译成功后会自动启动运行游戏。

qi

编译成功后自动启动运行游戏如下图。

 二、启动流程

1. main函数

首先找到项目的main函数。mian函数在Class文件夹下的PlantsVsZombies.cpp文件中。

int WINAPI _tWinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPTSTR    lpCmdLine,int       nCmdShow)
{HANDLE hMutex = ::CreateMutex(NULL, TRUE, L"LZPVZGAME");if (hMutex != NULL){if (GetLastError() == ERROR_ALREADY_EXISTS){CloseHandle(hMutex);hMutex = NULL;MessageBoxW(nullptr, L"此程序已经启动,禁止多次启动此程序!", L"error", MB_OK);return 0;}}UNREFERENCED_PARAMETER(hPrevInstance);UNREFERENCED_PARAMETER(lpCmdLine);// create the application instanceAppDelegate app;return Application::getInstance()->run();
}

在Main函数中首先判断进程实例是否已经存在,如果存在则不会创建新的进程。游戏只允许一个进程实例进行运行。例如Windows任务管理器也是只允许一个进程实例。 

// create the application instance
AppDelegate app;
return Application::getInstance()->run();

2. AppDelegate

这两行代码用于创建启动Cocos2d-x游戏实例。启动之后会进入AppDelegate.cpp文件中的applicationDidFinishLaunching()函数中。

bool AppDelegate::applicationDidFinishLaunching() 
{// initialize directorauto director = Director::getInstance();auto glview = director->getOpenGLView();if(!glview){
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32) || (CC_TARGET_PLATFORM == CC_PLATFORM_MAC) || (CC_TARGET_PLATFORM == CC_PLATFORM_LINUX)glview = GLViewImpl::createWithRect("PlantsVsZombies_1.2.0.3 (2020.06.19)", cocos2d::Rect(0, 0, designResolutionSize.width, designResolutionSize.height));
#elseglview = GLViewImpl::create("PlantsVsZombies_1.2.0.3 (2020.06.19)");
#endifdirector->setOpenGLView(glview);}// turn on display FPSdirector->setDisplayStats(true);// set FPS. the default value is 1.0/60 if you don't call thisdirector->setAnimationInterval(1.0f / UserInformation::getScreenDisplayFrequency());// Set the design resolutionglview->setDesignResolutionSize(designResolutionSize.width, designResolutionSize.height, ResolutionPolicy::EXACT_FIT);register_all_packages();// create a scene. it's an autorelease objectauto scene = LoadingScene::createLaodingScene();// rundirector->runWithScene(scene);return true;
}

 在applicationDidFinishLaunching()函数中创建了游戏窗口,设置游戏运行帧率,最后切换场景进入游戏加载场景。

3. LaodingScene

在游戏加载场景中会进入init函数中。在init函数会进行游戏版本检查,检测游戏是否有更新,如果有更新,则会进入游戏更新场景。然后计算文件总数,设置系统参数,以及加载游戏文件同时展示加载动画。游戏文件加载是异步操作,会启动一个新的线程进行文件加载,否则游戏加载时界面就不能展示动画,动画会卡住,直到文件加载完成。

当所有文件加载完成后进入游戏按钮就会设置为可点击状态。点击后进入游戏主界面场景。

点击开始游戏按钮,触发回调函数,进入游戏主界面。同样的然后会调用主界面场景的init函数来创建游戏主场景。

至此,从主函数开始,到游戏加载完成进入游戏主界面的流程大概讲解完成。

三、后续 

下一篇会详细讲解游戏文件加载场景中的细节。LoadScene.h和LoadingScene.cpp中详细的代码执行流程以及每个函数的作用。

http://www.yayakq.cn/news/386142/

相关文章:

  • 宿迁网站建设介绍公司html5网站模板怎么用
  • 芜湖建设工程质量监督站网站昆明建设厅网站
  • 网站建设培训厦门宝山网站建设
  • 汶上公司网站建设工艺礼品东莞网站建设
  • 做seo要明白网站内容乃重中之重苏州哪家做网站
  • 检查网站收录问题js 访问wordpress
  • 山东微商网站建设网站建设和托管哪家好
  • 南昌二手网站开发方案济南网站维护公司
  • wordpress怎么搜索中文主题微信seo排名优化软件
  • 赣州推广团队宜春seo
  • 广州天河区做网站的公司阿里云 网站空间
  • 静态网站怎么做有效页培训学校如何做网站宣传
  • 服务器网站建设软件有哪些天元建设集团有限公司济南第六建筑工程分公司
  • 太原网站优化培训百度搜图片功能
  • 昆明做网站vr淘宝网站建设手机版
  • 滨州网站建设铭盛信息网络系统管理与维护形考任务2
  • 可以免费做网站iosapp开发用什么语言
  • 建设阿里巴巴网站中国排名前十的建筑公司
  • 12306网站建设团队服装厂网站模板
  • 开发网站需要多久ios软件开发培训班
  • 福建外贸网站建设中华南大街网站建设
  • 网站开发课设心得体会wordpress机械模板下载
  • wordpress 整套模板下载seo网站三要素怎么做
  • 河南手机网站建设多少钱腾讯云 wordpress建站
  • 网站维护费用包括哪些做网站有什么平台
  • 做 爱 网站小视频在线观看做的好的网站着陆页
  • 网站建设公司企业网站管理系统seo网站优化工具大全
  • 国外哪个网站做c 挣钱南宁云尚网络有限公司
  • 搜索网站 模板网站底部模板代码
  • 抚顺网站开发自己买服务器建设网站