- 博客(13)
- 收藏
- 关注
原创 事件循环,同步与异步
对于单线程脚本语言,js ts lua执行栈所有同步任务都是在主线程上执行的,这些同步任务在主线程上的执行,这就是执行栈。回调函数回调函数,就是那些会被主线程挂起来的任务。异步任务必须指定回调函数,当主线程开始执行异步任务,就是执行对应的回调函数。任务队列"任务队列"是一个事件的队列(也可以理解成消息的队列),队列中对应的任务有了结果(比如读取文件(io操作),请求远程数据等等),就在"任务队列"中添加一个事件,表示相关的异步任务可以进入"执行栈"了。主线程读取"任务队列",
2021-07-23 11:45:54
214
原创 JS TS的内存详解
堆内存:分配是动态且不连续栈内存:只允许一端操作数据,后进先出,速度快,栈内存适合存放生命周期短、占用空间小且固定的数据原始类型的数据直接存放到栈内存(原始值)⑴ 当我们定义一个原始类型变量的时候,js会在栈内存中激活一块内存来储存变量的值(原始值)。⑵ 当我们更改原始类型变量的值时,实际上会再激活一块新的内存来储存新的值,并将变量指向新的内存空间,而不是改变原来那块内存里的值。⑶ 当我们将一个原始类型变量赋值给另一个新的变量(也就是复制变量)时,也是会再激活一块新的内存,并将源变.
2021-07-23 11:41:52
900
原创 lua中的极大值和极小值,inf和nan
在开发过程中遇到的一个问题,进行运算时出现inf和nan,然后我上网查了相关资料当一个数除以另一个数时,eg:x/y,当x==0时,打印结果是极小值 nan 当y==0时,打印结果是极大值 inf从数学的角度上看,分母不能为0,0除以任何数都为0,。而在编程的中,程序并没有做这种处理。所以就需要我们在代码中做出相应的条件判断了。...
2021-04-23 15:34:32
2620
转载 ts中的断言
ts中的断言类型断言[as语法 | <>语法]接下来,我们先调用第一个dateFormatter() 函数,接收返回值,然后传递给dealDate()函数,此时我们一般这么调。cosnt date = dealDate(dealFormatter('2020-7-28'));这么调用的问题就在于,我们知道 dealFormatter() 函数返回的是一个string类型。但是程序不这么认为,程序认为,dealFormatter ()可能还会返回 Date...
2021-03-16 15:39:27
625
原创 cocos-lua热更新实现
Cocos-lua热更新原理,因为无法直接对APK里面的文件进行替换,所以热更新会通过md5的比较,把需要更新的文件下载下来,两边md5一致才会解压zip,替换到热更新目录里,注意这个替换的是热更新的目录,并不是APK里的目录。再通过搜索目录优先级来实现热更。热更新解压出来的路径最优先来Cocos-lua热更新原理,因为无法直接对APK里面的文件进行替换,所以热更新会通过md5的比较,把需要更新的...
2020-04-20 19:40:42
279
转载 cocos2dx的内存管理
Cocos2d-x 提供引用计数管理内存。调用 retain() 方法 :令其引用计数增1,表示获取该对象的引用权。调用 release() 方法 :在引用结束的时候,令其引用计数值减1,表示释放该对象的引用权。调用 autorelease() 方法 :将对象放入自动释放池。当释放池自身被释放的时候,它就会对池中的所有对象...
2020-01-14 11:24:04
118
原创 cocos 艺术字TextAtla控件使用
self.txtDiffForce = ccui.TextAtlas:create("0",PathDefine:getDigitPath("force_icon_102"),50,64,"0") self.txtDiffForce:setAnchorPoint(cc.p(0,0.5)) self.numMask:addChild(self.txtDiffForce) ...
2019-12-30 14:54:01
163
原创 lua中的class及单例模式
---lua脚本Class() 上面代码可以看出 class()中 create() 和new() 实际是一样的调用 .new() 或者 :Create()时,都会跑ctor()lua的单例模式:程序中有且仅有一个实例只是利用 getInstance() 里面的.new()方法 跑一遍ctor()...
2019-12-27 20:51:23
2510
原创 Lua中“.”和“:”的区别,点和冒号的区别
lua中使用“:”定义的函数会自动传入一个名为self的变量,这个变量是隐含的,self同c++中的this一样,表示当前对象的指针:而“.”定义的函数中没有self实际区别就是 需不需要把self传过去当然判断一个类拥不拥有某个函数会用.去做个判断Eg:用法:一般我们在定义函数时会用下面写法function MainScene:onCreate()等同于下...
2019-12-27 20:39:51
890
原创 lua中事件分发原理
因为在lua中_G是包含全部东西的全局表,所以可以会所lua中所有的东西都是显性的项目中事件分发原理其实下面的两行的实现效果是一样的可以推出:Self.setData(self,data) 可以将data传给self类的setData方法的参数eg:...
2019-11-05 16:35:30
237
原创 关于lua的table多条件排序方法
lua的table中实现了table.sort()方法,可以对table进行排序。如果遇到多个条件优先级不同排序的情况,用数值大小对应条件优先级大小可以,通过最终得到的数值大小进行比较具体例子代码优先级--双倍类型>非双倍类型;天赋经验高>天赋经验低;类型大于天赋经验 table.sort(temp,function (a,b) --双倍类型>...
2019-10-28 11:43:25
461
转载 cocos2dx-lua 内存回收
Lua语法 垃圾回收collectgarbage当设置了setstepmul和setpause,Lua便会开启自动垃圾回收。例如cocos2d-x中的设置:在main.lua 下加上collectgarbage("setpause",100)collectgarbage("setstepmul",5000)setpause为100代表,垃圾收集不会停止,se...
2019-10-28 11:33:30
398
原创 cocos2dx 动画runAction 被占用 导致报错问题
localaction1=cc.FadeIn:create(fadeTime)self._score_item_1:runAction(action1)self._score_item_2:runAction(action1)
2019-10-22 20:05:34
470
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人