对于一个处于gc状态的tween,
如果这个gc状态是由kill触发的,那么直接从masterList删除
否则的话,被tweenlite的垃圾回收删除!

对于一个不是立即启动的tween,它被添加到timeline的时机是???
tweencore里面有一个add方法???
在tweenlite里面又有add方法???

对于一个延迟的delaycall,它的active一直是false,理论上是不会被调用的啊???
答:在timeline的render方法中,除了根据active判断,还有另外一个判断条件!!!

tweenlite作为一个独立的tween需要被insert到roottimeline中
timeline作为容器类的tween也需要被insert到roottimeline中,
但roottimeline也是一个timeline但它作为一个root,是不能被insert的

public function renderTime(time:Number, suppressEvents:Boolean=false, force:Boolean=false):void {
参数time表示从tween启动的时候到当前所经历的时间!

public function complete(skipRender:Boolean=false, suppressEvents:Boolean=false):void {
当skipRender为flase的时候,会调用renderTime,并把totalDurationTime作为参数,
就是想做最后一个渲染(渲染的结果就是这个tween的预想详解),然后直接结束这个tween!

suppressEvents表示是否跳过这个tween上的事件

一般,如果在tween还没有完成的时候,调用complete方法,那么onComplete方法是不会被执行的。
但对于delaycall这种类型的缓动,当调用complete时,onComplete方法是会被运行的!!
即是,duration为0的tween,在complete被调用时,onComplete参数会被运行!!

而对于非autoRemoveChildren的timeline,当上面的某个tween被complete时,这个tween是不会被移除的!!
换句话说,这个tween就不是处于gc状态,不会被回收!

也是说,一个tween的是否结束,是在renderTime函数中,感觉time和totalDurationTime的比较得到的!!
而renderTime发现这个tween已经执行完成,又会回调complete函数!

就是说,在complete和render之间又存在一个循环调用!!

虽然理论上complete函数是public的,但根据这个设计,外部应该是不能调用complete函数的,
而应该调用kill方法!

cachedOrphan
属性只有在tween被insert或者被remove的时候被修改
设置enable属性时,会被用到!
如果是timeline设置某个tween的enable属性,那么ignoreTimeline参数一般都是true,
因为timeline在设置enable的过冲中肯定会修改链表。
如果是tween自己设置enable属性,那么ignoreTimeline参数一般都是设置false
即:
一个tween在不在timeline中,也可能有timeline控制,也可能由tween自身控制
tween 和 timeline 可以互相控制彼此,在操作对方的时候,就保证对方不再来操作自己,不然会死循环!

未完待续...

greensock的tween源码阅读笔记的更多相关文章

  1. CI框架源码阅读笔记5 基准测试 BenchMark.php

    上一篇博客(CI框架源码阅读笔记4 引导文件CodeIgniter.php)中,我们已经看到:CI中核心流程的核心功能都是由不同的组件来完成的.这些组件类似于一个一个单独的模块,不同的模块完成不同的功 ...

  2. CI框架源码阅读笔记4 引导文件CodeIgniter.php

    到了这里,终于进入CI框架的核心了.既然是“引导”文件,那么就是对用户的请求.参数等做相应的导向,让用户请求和数据流按照正确的线路各就各位.例如,用户的请求url: http://you.host.c ...

  3. CI框架源码阅读笔记3 全局函数Common.php

    从本篇开始,将深入CI框架的内部,一步步去探索这个框架的实现.结构和设计. Common.php文件定义了一系列的全局函数(一般来说,全局函数具有最高的加载优先权,因此大多数的框架中BootStrap ...

  4. CI框架源码阅读笔记2 一切的入口 index.php

    上一节(CI框架源码阅读笔记1 - 环境准备.基本术语和框架流程)中,我们提到了CI框架的基本流程,这里再次贴出流程图,以备参考: 作为CI框架的入口文件,源码阅读,自然由此开始.在源码阅读的过程中, ...

  5. 源码阅读笔记 - 1 MSVC2015中的std::sort

    大约寒假开始的时候我就已经把std::sort的源码阅读完毕并理解其中的做法了,到了寒假结尾,姑且把它写出来 这是我的第一篇源码阅读笔记,以后会发更多的,包括算法和库实现,源码会按照我自己的代码风格格 ...

  6. Three.js源码阅读笔记-5

    Core::Ray 该类用来表示空间中的“射线”,主要用来进行碰撞检测. THREE.Ray = function ( origin, direction ) { this.origin = ( or ...

  7. PHP源码阅读笔记一(explode和implode函数分析)

    PHP源码阅读笔记一一.explode和implode函数array explode ( string separator, string string [, int limit] )此函数返回由字符 ...

  8. AQS源码阅读笔记(一)

    AQS源码阅读笔记 先看下这个类张非常重要的一个静态内部类Node.如下: static final class Node { //表示当前节点以共享模式等待锁 static final Node S ...

  9. libevent源码阅读笔记(一):libevent对epoll的封装

    title: libevent源码阅读笔记(一):libevent对epoll的封装 最近开始阅读网络库libevent的源码,阅读源码之前,大致看了张亮写的几篇博文(libevent源码深度剖析 h ...

随机推荐

  1. ***codeigniter 2.2 affected_rows()返回值不准确

    http://blog.icodeu.com/?p=596 问题描述今天在完成一个项目调用想要检验一下计划插入的数据是否都正常插入了.调用insert_batch()方法插入一百多条数据的时候发现af ...

  2. Visual Studio 常用快捷键 (二)

    想不到上一篇 [Visual Studio 常用快捷键] 受这么多人的欢迎.看来大家对Visual Studio的用法非常感兴趣. 接下来我准备写一个 “Visual Studio使用技巧 ” 一个系 ...

  3. appium自动化测试中获取toast消息的解决方法【转】

    http://blog.csdn.net/hqzxsc2006/article/details/50036911 待实践.. 解决方法:appium下切换selendroid模式去获取Android的 ...

  4. Android核心分析之二十五Android GDI之共享缓冲区机制

    Androird GDI之共享缓冲区机制 1  native_handle_t对private_handle_t 的包裹     private_handle_t是gralloc.so使用的本地缓冲区 ...

  5. lines---hdu5124(离散化+数组模拟)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5124 就是有n条在x轴的线段,给你线段的左右端点,每条线段都会覆盖点,求出最多被覆盖多少次: #inc ...

  6. Myeclipse 10 破解说明

    一,准备阶段 : 1. 破解软件(网上有下载) 2. JDK软件(免费软件) 二,开始破解: 1. 关闭MyEclipse 10.0 2. 安装 JDK 三,特殊说明: 有些机器安装时会出现run.b ...

  7. 怎么批量修改Word表格的宽度

    怎么批量修改Word表格的宽度 怎么批量修改Word表格的宽度呢.Word表格可根据窗口自动调整表格宽度,使得所有的表格宽度和页面宽度一样.当页面设置了新的页边距后,所有的表格都需要调整新的宽度.或者 ...

  8. sublime3配置Quick-X+自动错误提示

    sublime3配置 安装Package Control 配置Quick-x API提示 配置Lua自动语法错误提示 sublime3 安装 Package Control View->Show ...

  9. C# 数组、一维数组、二维数组、多维数组、锯齿数组

    C#  数组.一维数组.二维数组.多维数组.锯齿数组 一.数组: 如果需要使用同一类型的对象,就可以使用数组,数组是一种数据结构,它可以包含同一类型的多个元素.它的长度是固定的,如长度未知的情况下,请 ...

  10. INDIGO STUDIO神器!快速创建WEB、移动应用的交互原型工具【转】

    转自:http://www.uisdc.com/indigo-studio-wireframe-interactive-uis 这套最新的设计工具出自Indigo工作室,永久免费,有mac版本和WIN ...