zoukankan      html  css  js  c++  java
  • 大话cocos2d-js(3)

    继续上一章,终于分析到主要部分

      上一章是说到,必须添加json文件内的所有js模块,才会给 self._prepared属性赋值true,循环定时器内的if语句才会被执行,if语句尾部是清除定时器。

     

    来逐步分析一下:

      执行cc对象下_setup()方法,来定位一下。

      CCBoot.js文件内 从line 1916 —— line 2025 都属于 _setup方法,一点一点来分析。

      

      第一个if else语句true的话,结束这个方法,看看1915行,那里算是初始化,第一次执行这个方法以后,把cc的_setupCalled属性设置为true,防止2次执行。

      1922line:给变量element 赋值,其实看到这个名字在看到赋值语句,el形参传入cc.$方法,了解过jquery的同学,$(参数) 是一个复杂选择器。

      返回了一个元素,来深究一下cc.$() 是怎么实现的,还有其他功能?先来定位一下。

      看了一下miniFramework.js 文件 整个文件都是 关于 cc.$了。

      变量 parent === document ,因为 三元表达式为true, $是cc对象的属性,所以this执行cc。

     

      变量 el 的值都会是一个元素,如果传进来的形参 x 是 HTMLElement(元素)的话。否则的话 document.querySelector选择器元素

      上面说了 el 其实就是我们的canvas 元素,元素也是一个对象,canvas 元素也同样拥有选择器 cc.$的功能

      canvasElem.hasClass方法:判断是否有传入的className

     

      canvasElem.addClass方法:添加class

      canvasElem.removeClass方法:删除class,用 hasClass方法来判断是否有,有的话在删除

     

      canvasElem.remve方法:删除自身,如果有父节点的话

     

      canvasElem.appendTo方法:append添加To到,把自身添加到

      canvasElem.prependTo方法:插入到子元素顶部

     

      canvasElem.transformsf方法:执行它呢,就会设置style的变形行内样式,至于为什么是通过键值方式来访问要设置的属性呢?往下检索。在底部会发现这个,来判断设置style兼容前绰,拼接起来。

      设置好了style兼容前绰,给它赋值的时候

      这些方法有什么用呢?继续往下检索,会发现这个,cc.$.hd也就说得通了,兼容3d的就返回3d的拼接形参后字符串

      继续看来这一段:

      这里是初始设置了 canvasElem元素,元素也是对象,我们可以给它添加属性,初始化了变形定位的值得。

     

      在看4个方法:把设置变形  旋转  大小 都封装了

      好cc.$()方法基本就这个样子,带着诸多疑问,后面还有很长很长一段,这一章先到这里。

  • 相关阅读:
    这些哭笑不得的情景,每一个程序猿都可能面对
    创建并使用静态库(ar 命令)
    C++中typename和class的区别
    C++11 tuple
    c++ map与 qt QMap insert 区别
    各个函数消耗的时间profiling和内存泄漏valgrind
    Linux查看代码量
    Linux应用程序打包
    静态代码检查工具 cppcheck 的使用
    制作Linux下程序安装包——使用脚本打包bin、run等安装包
  • 原文地址:https://www.cnblogs.com/superjs/p/4555230.html
Copyright © 2011-2022 走看看