[AS3]as3图片缓动效果源代码实例
鼠标移动到图片的一定位置时,图片会缓冲移动到鼠标位置,在现有代码的基础上在添加一些事件可以衍生出很多效果比如说,图片展示效果或者菜单效果也是经常用到的。
[AS3]as3图片缓动效果源代码实例
- package {
- import flash.display.*;
- import flash.events.*;
- public class ProxMenu extends MovieClip {
- private var ia:Array;
- public function ProxMenu():void {
- //定义的四张图片的实例名
- ia = [im1, im2, im3, im4];
- for (var i:uint = 0; i < 4; i++) {
- ia[i].buttonMode = true;
- ia[i].ox = ia[i].x;
- ia[i].oy = ia[i].y;
- ia[i].tx = ia[i].ox;
- ia[i].ty = ia[i].oy;
- ia[i].addEventListener(MouseEvent.ROLL_OVER, onOver);
- }
- stage.addEventListener(Event.ENTER_FRAME, onMove);
- }
- private function onOver(e:MouseEvent):void {
- e.target.mk.gotoAndPlay(2);
- addChild(MovieClip(e.target));
- }
- private function onMove(e:Event):void {
- for (var i:uint = 0; i < 4; i++) {
- var dist:Number = getDist(mouseX, mouseY, ia[i].ox, ia[i].oy);
- //cuplayer.com当鼠标的离图片中心点的位置小于70时..
- if (dist < 70) {
- ia[i].tx = mouseX;
- ia[i].ty = mouseY;
- } else {
- ia[i].tx = ia[i].ox;
- ia[i].ty = ia[i].oy;
- }
- //cuplayer.com鼠标移动图片产生缓冲效果
- ia[i].x += Math.round((ia[i].tx - ia[i].x) * 0.3);
- ia[i].y += Math.round((ia[i].ty - ia[i].y) * 0.3);
- }
- }
- //cuplayer.com计算鼠标离图片中心点的距离
- private function getDist(x1:Number, y1:Number, x2:Number y2:Number):Number {
- var dx:Number = x2 - x1;
- var dy:Number = y2 - y1;
- return Math.sqrt(dx * dx + dy * dy);
- }
- }
- }
[AS3]as3图片缓动效果源代码实例
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例
请稍候...