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

  • 相关阅读:
    git pull --rebase 做了什么? 以及 Cannot rebase: You have unstaged changes 解决办法
    Android pix转换为sp
    职业四象限,分分钟定位你的方向
    我的微信公众号开通了!
    Android PermissionChecker 权限全面详细分析和解决方案
    Android沉浸式(侵入式)标题栏(状态栏)Status(三)
    Android沉浸式(侵入式)标题栏(状态栏)Status(二)
    Android沉浸式(侵入式)标题栏(状态栏)Status(一)
    为毛老抱怨工资低又不离职
    面试题:return和finally执行
  • 原文地址:https://www.cnblogs.com/superjs/p/4555230.html
Copyright © 2011-2022 走看看