quick-cocos2dx AppBase

2024-06-23 09:08
文章标签 quick cocos2dx appbase

本文主要是介绍quick-cocos2dx AppBase,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

local AppBase = class("AppBase")AppBase.APP_ENTER_BACKGROUND_EVENT = "APP_ENTER_BACKGROUND_EVENT"
AppBase.APP_ENTER_FOREGROUND_EVENT = "APP_ENTER_FOREGROUND_EVENT"function AppBase:ctor(appName, packageRoot)-- 使App的对象能够附加组件。cc.GameObject.extend(self)-- 添加组件EventProtocol,将其中的函数导出到app上。self:addComponent("components.behavior.EventProtocol"):exportMethods()self.name = appNameself.packageRoot = packageRoot or "app"-- 在通知中心注册进入前台、后台的响应函数local notificationCenter = CCNotificationCenter:sharedNotificationCenter()notificationCenter:registerScriptObserver(nil, handler(self, self.onEnterBackground), "APP_ENTER_BACKGROUND_EVENT")notificationCenter:registerScriptObserver(nil, handler(self, self.onEnterForeground), "APP_ENTER_FOREGROUND_EVENT")self.snapshots_ = {}-- set global app-- 若想使用此app,可用全局变量 “app”app = self
endfunction AppBase:run()
end-- 结束游戏
function AppBase:exit()CCDirector:sharedDirector():endToLua()os.exit()
end-- 进入某场景,实际调用display.replaceScene
function AppBase:enterScene(sceneName, args, transitionType, time, more)local scenePackageName = self. packageRoot .. ".scenes." .. sceneNamelocal sceneClass = require(scenePackageName)local scene = sceneClass.new(unpack(totable(args)))display.replaceScene(scene, transitionType, time, more)
end-- 创建view
function AppBase:createView(viewName, ...)local viewPackageName = self. packageRoot .. ".views." .. viewNamelocal viewClass = require(viewPackageName)return viewClass.new(...)
endfunction AppBase:makeLuaVMSnapshot()self.snapshots_[#self.snapshots_ + 1] = CCLuaStackSnapshot()while #self.snapshots_ > 2 dotable.remove(self.snapshots_, 1)endreturn self
endfunction AppBase:checkLuaVMLeaks()assert(#self.snapshots_ >= 2, "AppBase:checkLuaVMLeaks() - need least 2 snapshots")local s1 = self.snapshots_[1]local s2 = self.snapshots_[2]for k, v in pairs(s2) doif s1[k] == nil thenprint(k, v)endendreturn self
endfunction AppBase:onEnterBackground()self:dispatchEvent({name = AppBase.APP_ENTER_BACKGROUND_EVENT})
endfunction AppBase:onEnterForeground()self:dispatchEvent({name = AppBase.APP_ENTER_FOREGROUND_EVENT})
endreturn AppBase

这篇关于quick-cocos2dx AppBase的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1086729

相关文章

Cocos2dx 3.0 过渡篇(五) 随机数的获取

1、简单的随机数用法:CCRANDOM_0_1 示例如下: [cpp] int HelloWorld::getRand(int start,int end)  {   float i = CCRANDOM_0_1()*(end-start+1)+start;  //产生一个从start到end间的随机数   return (int)i;  }   2、上述的方法虽然简便,但是运行

Cocos2dx 3.0 过渡篇(三) 触摸机制

尊重原创,转载请注明来自:star特530的CSDN博客 http://blog.csdn.net/start530/article/details/18325493 本来在中午休息时间打算大展拳脚,好好写一篇新触摸机制相关的博文,结果,等真正下手的时候才发现无从下手,很多地方自己都说不清,赶紧看了下testCpp,才发现原来是这样,还可以这样,哦?这样都行?哎,我还是太年轻了。   咱也只能

Cocos2dx 3.0 过渡篇(二) 事件回调

尊重原创,转载请注明来自:star特530的CSDN博客 http://blog.csdn.net/start530/article/details/18216679 3.0 后的事件回调函数接口都不一样了,例如按钮的menu_selector(),update的 schedule_selector等,都已成明日黄花。而新的回调接口,则由四个CC_CALLBACK取代。 下面先举例一些

Find Kth题目类型总结 (quick Select 类型总结)

首先quick select算法的模板要倒背如流,这个是通过quick sort里面提炼得到的算法;两个while一个if,condition相同;后面再递归 Kth Largest Element in an Array (是找从大到小的第k大;注意左边是大的,右边是小的,quick select的模板要熟记) class Solution {public int findKthLarges

Sorting (Merge Sort, Rainball Sort, quick select) 总结

Merge k Sorted Lists (这题是用PQ,或者merge sort都可以做,关于第K大的问题,参考: Find Kth 题目类型总结) Sort an Array (重点掌握merge sort和quick sort,因为两者可以演变为,divide conquer, quick select, 参考: Find Kth 题目类型总结) Sort Colors 思路:三指针,i

cocos2dx场景切换中init、onEnter、onEnterTransitionDidFinish的调用顺序

这些方法调用的先后顺序如下(使用 replaceScene 方法): 1. 第2个场景的 scene 方法 2. 第2个场景的 init 方法 3. 第2个场景的 onEnter 方法 4. 转场 5. 第1个场景的 onExit 方法 6. 第2个场景的 onEnterTransitionDidFinish 方法 7. 第1个场景的 dealloc 方

Cocos2dx 3.0游戏开发找小三之容器篇:Vector、Map、Value 及 网络通信

重开发者的劳动成果,转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/27705613 通信方式 主要有以下三大类: (一)SERVER/CLIENT方式: 1.一个Client方连接一个Server方,或称点对点(peer to peer)。 2.多个Client方连接一个Server方,这也是通常的

cocos2dx与OpenGL渲染知识

1 顶点和片段介绍 2 why不同纹理会需要重新渲染 纹理优化--------- 3 通俗易懂的 OpenGL ES 3.0 和2.0区别 –参考文档: https://blog.csdn.net/u013654125/article/details/79698469 ~ https://blog.csdn.net/sun___shine/article/details/48313749 Coc

cocos2dx加快游戏速度

游戏的速度可以由导演来控制。 float multi = 1.0f; CCDirector::sharedDirector()->getScheduler()->setTimeScale(multi); 参数multi是倍率的意思,默认是1,倍率越高速度越快。 如果需要提升一倍的速度,可以把multi设为2.0f。 通过这样一个机制可以实现游戏内战斗倍数加速的

cocos2dx-lua 3.17 调试 代码提示

环境配置 cocos2dx版本:3.17 vs版本:2015 babelua:3.2.2.0 lua Api:3.12 (ps:这是我能找到的最新的了,如果有更新的,麻烦发我qq 1908662823,链接:https://pan.baidu.com/s/18XacVvBFaDqenfdpSrn_5Q 提取码:iwge ) 代码提示 lua Api下载后放置于C:\Users\feiyi\D