出去运动一会,我忽然有一个概念在脑海里面浮现,于是将这个想法定义为“链式模型的使用”,听起来感觉有点怪异的味道,每逢出现一个名字的时候,我们会尝试给它一个定义,其实说白一句,它就是一个链表(数据结构的模型)。通过使用这个模型可以帮助我们解决flash 当中很多的常用的运动特效。听起来是不是很糊涂?举个例子,如果你喜欢coverflow效果,这种效果经常使用到左右的切换的交互,每一次运动交互,其他的图片会跟随着运动。如果使用双向的链式结构可以轻松解决到coverflow每一张图片的运动后的位置问题,因为双向链式的结构可以保存了前后节点的位置信息。
在理解这种结构之前,我们做一些简单的实验,以帮助我们理解这种模型的使用。我们知道使用数组可以按顺序保存到数据,而链表的使用,特殊之处在于它的节点可以记录上一个或者下一个节点信息。利用 这个特性我们解决一些特效运动位置的问题了。
看下面的示意图,我们先从一个简单的实验开始。
在舞台上我们创建一个Sprite对象将它名为shape,这个对象位置开始值为x=0,我们希望这个mc运动到x=100的位置上。
下面,我们使用greensock 提供的TweenLite 缓动类实现这种运动效果(要是不清楚这个类,可以到这里下载相关的类 )
http://www.greensock.com/tweenlite/
下载地址: http://www.greensock.com/as/greensock-as3.zip
package { import flash.display.Sprite; import flash.events.*; import com.greensock.TweenLite; public class Test extends Sprite { public function test() { init(); } private function init():void { var shape:Sprite=new Sprite(); shape.graphics.beginFill(0x00CCCC); shape.graphics.drawRect(0,50,50); shape.graphics.endFill(); shape.y=50; addChild(shape); TweenLite.to(shape,0.5,{x:100});//缓动到100 的位置 } } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。