greensock的tween源码阅读笔记
对于一个处于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源码阅读笔记的更多相关文章
- CI框架源码阅读笔记5 基准测试 BenchMark.php
上一篇博客(CI框架源码阅读笔记4 引导文件CodeIgniter.php)中,我们已经看到:CI中核心流程的核心功能都是由不同的组件来完成的.这些组件类似于一个一个单独的模块,不同的模块完成不同的功 ...
- CI框架源码阅读笔记4 引导文件CodeIgniter.php
到了这里,终于进入CI框架的核心了.既然是“引导”文件,那么就是对用户的请求.参数等做相应的导向,让用户请求和数据流按照正确的线路各就各位.例如,用户的请求url: http://you.host.c ...
- CI框架源码阅读笔记3 全局函数Common.php
从本篇开始,将深入CI框架的内部,一步步去探索这个框架的实现.结构和设计. Common.php文件定义了一系列的全局函数(一般来说,全局函数具有最高的加载优先权,因此大多数的框架中BootStrap ...
- CI框架源码阅读笔记2 一切的入口 index.php
上一节(CI框架源码阅读笔记1 - 环境准备.基本术语和框架流程)中,我们提到了CI框架的基本流程,这里再次贴出流程图,以备参考: 作为CI框架的入口文件,源码阅读,自然由此开始.在源码阅读的过程中, ...
- 源码阅读笔记 - 1 MSVC2015中的std::sort
大约寒假开始的时候我就已经把std::sort的源码阅读完毕并理解其中的做法了,到了寒假结尾,姑且把它写出来 这是我的第一篇源码阅读笔记,以后会发更多的,包括算法和库实现,源码会按照我自己的代码风格格 ...
- Three.js源码阅读笔记-5
Core::Ray 该类用来表示空间中的“射线”,主要用来进行碰撞检测. THREE.Ray = function ( origin, direction ) { this.origin = ( or ...
- PHP源码阅读笔记一(explode和implode函数分析)
PHP源码阅读笔记一一.explode和implode函数array explode ( string separator, string string [, int limit] )此函数返回由字符 ...
- AQS源码阅读笔记(一)
AQS源码阅读笔记 先看下这个类张非常重要的一个静态内部类Node.如下: static final class Node { //表示当前节点以共享模式等待锁 static final Node S ...
- libevent源码阅读笔记(一):libevent对epoll的封装
title: libevent源码阅读笔记(一):libevent对epoll的封装 最近开始阅读网络库libevent的源码,阅读源码之前,大致看了张亮写的几篇博文(libevent源码深度剖析 h ...
随机推荐
- Codeforces Round #336 (Div. 2)C. Chain Reaction DP
C. Chain Reaction There are n beacons located at distinct positions on a number line. The i-th bea ...
- linux kill命令详解
1.命令格式: kill[参数][进程号] 2.命令功能: 发送指定的信号到相应进程.不指定型号将发送SIGTERM(15)终止指定进程.如果任无法终止该程序可用“-KILL” 参数,其发送的信号为S ...
- 微软VSS的超级BUG
发现问题:今天一个新同事,无意中发现他直接就登录进VSS了,并且还是“admin”用户: 解决问题:于是开始在网上找度娘和谷歌帮忙,真是不查不要紧,一查吓一跳,VSS本身就存在这个bug,并且是一个超 ...
- lintcode:Wiggle Sort II
Wiggle Sort II Given an unsorted array nums, reorder it such that nums[0] < nums[1] > nums[2] ...
- 性能测试问题_Mysql数据库服务器的CPU占用很高
MySQl服务器CPU占用很高 1. 问题描述 一个简单的接口,根据传入的号段查询号码归属地,运行性能测试脚本,20个并发mysql的CPU就很高,监控发现只有一个select语句,且表建立了索引 ...
- android-exploitme(二):安装apk熟悉测试环境
今天我们来熟悉测试环境: 1. 下载server代码,并运行 git clone https://github.com/SecurityCompass/LabServer.git 2. 这个serve ...
- 【重走Android之路】【番外篇】有关于null的一些知识点
[重走Android之路][番外篇]有关于null的一些知识点 1.首先,到底什么是null? null是Java中的一个关键字,用于表示一个空对象引用,但其本身并不是任何类型也不是属于任何对象. ...
- UE中使用正则表达式的一些技巧
UE中使用正则表达式的一些技巧 2010-12-24 10:33:19 分类: Linux 以下是网上摘录的UE 技巧 1)删除空行: 替换 %[ ^t]++^p 为 空串 2)删除行尾空格: 替换 ...
- !! Android developer 最新国内镜像
Android developer 最新国内镜像: http://wear.techbrood.com, 包含Android最新文档以及Android Wear,Android TV,Android ...
- HDU 2852 KiKi's K-Number 树状数组 + 二分
一共最多才100000个数,并且数值范围0~100000. 树状数组 C[i] 记录数值为 i 的数有多少个. 删除时如果Query( a ) - Query( a - 1 ) == 0 则该数不存在 ...