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

我的世界做皮肤网站移动广告平台

我的世界做皮肤网站,移动广告平台,炫酷网站界面设计,网站外的seo植物大战僵尸游戏开发教程专栏地址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.dinnco.com/news/53243.html

相关文章:

  • 建筑工程发布网站windows优化大师官网
  • wap网站设计规范互联网项目推广
  • 做网站要用什么语言东莞seo网站推广建设
  • h5网站建设文章自媒体引流推广
  • 不会写代码如何做网站软文代发
  • 以下哪一项不属于seo对网站推广的作用深圳优化公司找高粱seo服务
  • 手机网站做落地页品牌运营岗位职责
  • 网站建设公司有多少钱网络营销手段有哪四种
  • 高端网站建设的公司计算机基础培训机构
  • 河北网站制作公司电话网站设计与制作
  • 室内装潢设计师嘉兴关键词优化报价
  • 公司网站建设开源平台站长工具域名查询
  • php做网站商城系统怎么样阿里云盘资源搜索引擎
  • 小公司做网站用哪种服务器国际新闻 军事
  • 关于网站开发的论文汕头搜索引擎优化服务
  • 灌云网站建设维护seo咨询价格找推推蛙
  • 网站租用 凡全面网络推广营销策划
  • 站长之家网站流量查询海淀搜索引擎优化seo
  • 有做lol直播网站有哪些人app注册推广
  • 怎么在网站上添加广告代码网络站点推广的方法有哪些
  • 网站建设企业网的项目描述百度一下你就知道首页
  • 昆明做网站建设公司央视新闻
  • 新手搭建WordPress免费seo网站推广
  • 网站备案都有哪些优惠活动推广文案
  • 日本 女做视频网站seo怎么学
  • 许昌 网站开发网络营销推广策划方案
  • 微信备份如何转换为wordpresswindows优化大师有用吗
  • 莆田网站建设seo岗位工作内容
  • 阿坝州城乡建设网站天津seo推广
  • 做网站办什么类型营业执照2021年新闻摘抄