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.$()方法基本就这个样子,带着诸多疑问,后面还有很长很长一段,这一章先到这里。

  • 相关阅读:
    应用服务器性能优化总结
    Web性能优化:图片优化
    图片优化
    浏览器端的九种缓存机制介绍
    MySQL 与 MongoDB的操作对比
    js类型判别大合集
    节流函数和防抖函数的注意事项
    前端和后端交互的方式
    js中关于假值和空数组的总结
    LeetCode 367. 有效的完全平方数
  • 原文地址:https://www.cnblogs.com/superjs/p/4555230.html
Copyright © 2011-2022 走看看