flash as3控制影片剪辑移动和缩放

2025-10-14 10:43:58

1、 打开flash cs6,新建一个as3文档,具体方法如图所示。

flash as3控制影片剪辑移动和缩放

2、 按Ctrl+F8键,新建一个影片剪辑,随便起一个名字,这里起名为“图片剪辑”,然后点击确定,进入影片剪辑编辑状态。

flash as3控制影片剪辑移动和缩放

3、 按快捷键ctrl+R从外部导入一张图片到影片剪辑中,打开对齐面板,使图片的注册点居中对齐。

flash as3控制影片剪辑移动和缩放

4、 退出影片剪辑编辑状态,按ctrl+L快捷键,从库中选择做好的影片剪辑,将起拖放到场景中合适位置,并给影片剪辑起实例名为mc

flash as3控制影片剪辑移动和缩放

5、 在影片剪辑所在图层上新建一层,起名为按钮层,然后从菜单栏-窗口菜单中选择公用按钮库,从中选择如图所示按钮拖入场景中。

flash as3控制影片剪辑移动和缩放

6、 加入的按钮再复制三个,调整起角度,得到上下左右四个方向按钮,并将按钮放到合适位置,并给上下左右四个按钮依次起实例名为up_btn,down_btn,left_btn,right_btn。

flash as3控制影片剪辑移动和缩放

7、之后以同样的方法再加入两个按钮,并进行简单修改,使之成为放大和缩小两个按钮,并分别起实例名为d_btn,x_btn。最后的界面如图所示:

flash as3控制影片剪辑移动和缩放

8、 这一步是关键部分,通过加入代码,使图片影片剪辑可以被四个方向按钮和放大缩小按钮控制。首先在按钮层上新建一层,起名为代码层,然后选择代码层第一帧,按F9快捷键,输入控制代码,具体代码如图:

flash as3控制影片剪辑移动和缩放

9、 代码输入完毕,按ctrl+Enter测试成功,如果要改变移动速度只需要改变speed变量的值即可,如果要改变放大缩小的速度,只需要改变scale的值即可。

所有代码如下:

import flash.events.MouseEvent;

import flash.events.Event;

var speed:Number=5;

var a:int=0;

var b:int=0;

var scale:Number=0.05;

var sd:int=0;

addEventListener(MouseEvent.MOUSE_DOWN,onDown);

addEventListener(MouseEvent.MOUSE_UP,onUp);

function onDown(e:MouseEvent):void{ 

       switch (e.target.name){ 

            case "up_btn":

               a=-1;

               b=0;

               break;

            case "down_btn":

               a=1;  

               b=0; 

               break; 

             case "left_btn": 

                 b=-1;

                 a=0;

                 break;

            case "right_btn":

                b=1;

               a=0;

               break; 

           case "d_btn": 

            sd=1;

            a=0;

            b=0; 

            break; 

          case "x_btn": 

             sd=-1;

             a=0;

              b=0; 

             break;

            default:

           break;

       }

       addEventListener(Event.ENTER_FRAME,onEnter);

}

function onUp(e:MouseEvent):void{

 removeEventListener(Event.ENTER_FRAME,onEnter);

}

function onEnter(e:Event):void{

      mc.x+=speed*b;

      mc.y+=speed*a; 

      mc.scaleX=mc.scaleY+=scale*sd;

}

 

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢