首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

[转] 鼠标徐动跟随

2012-11-03 
[转] 鼠标缓动跟随http://bbs.9ria.com/viewthread.php?tid81628&extrapage%3D1%26amp%3Borderby%3Ddate

[转] 鼠标缓动跟随
http://bbs.9ria.com/viewthread.php?tid=81628&extra=page%3D1%26amp%3Borderby%3Ddateline%26amp%3Bfilter%3D2592000


发个小小的鼠标缓动跟随效果,看了《Making Things Move》后将里面的鼠标跟随扩展了一下
EaseToMouse.as

package animation.trigonometry {        import flash.display.Bitmap;        import flash.display.Loader;        import flash.display.Sprite;        import flash.events.Event;        import flash.net.URLRequest;        /**         * @author Maliu         */        public class ArrowByLoad extends Sprite        {                private var _imgURL:String = "arrow-alt-right-black.png";                private var _bitmap:Bitmap;                public function ArrowByLoad()                {                        loadImg();                }                private function loadImg():void                {                        var loader:Loader = new Loader();                        var request:URLRequest = new URLRequest(_imgURL);                        loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loaded);                        loader.load(request);                }                private function loaded(e:Event):void                {                        _bitmap = e.target.content as Bitmap;                        _bitmap.smoothing = true; //将Bitmap属性smoothing设为true后消除锯齿,默认为false                        this.addChild(_bitmap);                        _bitmap.x = -_bitmap.width/2;                        _bitmap.y = -_bitmap.height/2;                        dispatchEvent(e); //加载完成后发送事件,用于外部侦听事件,解决异步问题                }        }}


这里使用外部加载的图像,如果在EaseToMouse.as初始化后直接设定ArrowByLoad类对象的scale值和alpha值,会发现并不能成功改变ArrowByLoad类对象的大小和透明度,因为EaseToMouse.as代码的执行和ArrowByLoad.as加载外部图像的代码执行为异步的,因此要在EaseToMouse内对加载完成事件进行监听才能成功改变scale值和alpha值。
当然,不加载外部图像,直接调用库中元件或者用[Embed]标签嵌入外部图像就不必要在EaseToMouse类中对加载行为进行监听了。

热点排行