creator引擎源码解析之游戏启动

creator引擎源码解析之游戏启动

问题:

  1. 游戏启动的时候,引擎做了什么,游戏启动流程?

  2. 游戏定时刷新是怎么实现的?

知识点:

  1. !==、===和!=、==区别

    1.1 比较过程的区别  !=、==比较时如果类型不同则会尝试转换类型再比较;!==、===只有类型相同才比较

    1.2 比较结果上的区别 !==、===不同类型不比较也不返回结果;!=、==返回比较结果

    var num = 1;  var str = '1';var test = 1;test == num  //true 相同类型 相同test === num //true 相同类型 相同值test !== num //false test与num类型相同,其值也相同, 非运算肯定是falsenum == str  //true  把str转换为数字,检查其是否相等。num != str  //false == 的 非运算num === str //false 类型不同,直接返回false num !== str //true  num 与 str类型不同 意味着其两者不等 非运算自然是tru== 和 != 比较若类型不同,先偿试转换类型,再作值比较,最后返回值比较结果 。=== 和 !== 只有在相同类型下,才会比较其值。(值和类型都相同的情况下比较)==, 两边值类型不同的时候,要先进行类型转换,再比较。===,不做类型转换,类型不同的一定不等。

    2.!!作用 强转为布尔类型

    3. window.requestAnimationFrame 实现定时刷新游戏

         https://developer.mozilla.org/zh-CN/docs/Web/API/Window/requestAnimationFrame     

            https://juejin.im/post/5c3ca3d76fb9a049a979f429    

    4.Array.shift()和Array.pop()区别   前者是取出第一个元素;后者是取出最后一个。

    5.key in map 可以用来判断某个map里面是否包含某个key

    6.substring和substr区别 

        6.1 substring(startindex,endindex) 两个参数分别是开始和结束位置

        6.2 substr(startindex,length) 两个参数分别是开始位置和截取长度

    7.Object.create(null)和{}区别    前者创建出来的对象没有原型对象、原型方法;后者有;前者创建的对象性能更好

    8.js函数arguments  arguments对象是所有(非箭头)函数中都可用的局部变量;并非数组;可以通过length属性获得参数长度

思考:

    1.creator原生游戏的启动流程是什么样的,请自行调试?

想利用碎片化时间提升下技术的朋友请关注我!

猜你喜欢

转载自blog.csdn.net/lily19891000/article/details/106911495