微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

flash特效原理:链式模型的使用1

            出去运动一会,我忽然有一个概念在脑海里面浮现,于是将这个想法定义为“链式模型的使用”,听起来感觉有点怪异的味道,每逢出现一个名字的时候,我们会尝试给它一个定义,其实说白一句,它就是一个链表(数据结构的模型)。通过使用这个模型可以帮助我们解决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 的位置
		}
	}

}

  这个程序很简单,它的实验目的就是希望我们使用一个Sprite,做一个缓动的运动。

而接下来,我们需要构建一个简单的链式模型,通过这个模型解决我们一些特效的表现问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐