在用Flash cs6开发软件时,动画很重要,但通常做起来很麻烦,有时候结合代码会有事半功倍的效果,以下是我暂时总结的常用ActionScript3.0的代码,需要时可以查阅,目前还不完整,以后随时补充,欢迎评论和指错。
注:1.以下代码为在时间轴上使用,软件会自动导入所需要的包和类,所以略写import
2.以下代码多为简写,如果有问题,可以私信指出,我会详细解释
1.时间轴上的帧操作:
stop();
gotoAndStop(帧数);
gotoAndplay(帧数);// 帧数最好改成帧名(帧可以取名字),比如 gotoAndStop(“认一认”);
nextFrame();//播放下一帧
this.addFrameScript(2,frameCode);//在主时间轴上一帧内写要在多帧内执行的代码;比如这是在第二帧内执行函数frameCode;
this.addFrameScript(2,null);//移除调用的函数
2.监听事件
公式:对象.addEventListener(事件类型.事件属性,事件函数);
实例1:鼠标点击事件
click_mc.addEventListener(MouseEvent.CLICK,eventFuc);
function eventFunc(event:MouseEvent):void
{
trace(“Hello,World!”);//输出Hello,World!
}
注:鼠标事件参数有:CILCK,DOUBLE_CLICK,MOUSE_DOWN,MOUSE_UP,MOUSE_OVER,MOUSE_OUT,MOUSE_MOVE,MOUSE_WHEEL,ROLL_OVER,ROLL_OUT
鼠标事件属性有:buttonMode,delta,localX,localY,stageX,stageY relatedobject
实例2:键盘事件
stage.addEventListener(KeyboardEvent.KEY_DOWN,Move);
function Move(e)
{
switch (e.keyCode) //移动小球
{
case 37 :
ball.x -= 10;//左
break;
case 39 :
ball.x += 10;//右
break;
case 38 :
ball.y -= 10;//下
break;
case 40 :
ball.y += 10;//上
break;
default :
}
注:键盘事件的属性有: altKey,charCode,ctrlCode,keyCode,keyLocation,shiftKey
实例3:时间事件,(可以设置每隔多少秒或帧执行一段代码)
import flash.utils.Timer;
var time: int = 1000;
Timer = new Timer(time);
timeV.start();
timeV.addEventListener(TimerEvent.TIMER,ballM);
function ballM(e)
{
mc.x += 10; //mc的位置每隔1秒往右移10;
if (mc.x > 100)
{
timeV.stop();
timeV.removeEventListener(TimerEvent.TIMER,ballM);//移除监听
}
}
实例4:重复执行事件
stage.addEventListener(Event.ENTER_FRAME,Move);//重复执行Move
function Move(e)
{
e.target.x += 30;//一直向右移动
}
3.从外部加载声音
var pos:URLRequest=new URLRequest(“cnt”) //cnt为加载的文件名,文件必须和cnt在一个文件夹中
var sound:Sound=new Sound();
play_btn.addEventListener(MouseEvent.CLICK,Play);//点击play_btn后播放
function Play(e)
{
sound.load(pos);
sound.play();
}
4.动画有关代码
(1).遮罩,mc1.mask = mc2; //用mc2遮罩mc1
(2).用代码实现动画效果
var moveR:Tween = new Tween(mc1,”y”,Bounce.eaSEOut,200,300,3,true);//碰撞返回多次
//var moveB: Tween = new Tween(mc1,“y”,Back.eaSEOut,400,true);//碰撞返回一次
//(操作对象, X轴或Y轴, 移动方式, 移动起始位置, 移动终点, 时间或帧数,ture代表时间false代表帧数)
//var turnBR: Tween = new Tween(mc1,“scaleX”,1,5,true);//大小伸展变换(X方向)
//var turnBR: Tween = new Tween(mc1,“scaleY”,true);//大小Y方向变换
(3).鼠标在按钮上变手型
mc_btn.buttonMode = true;
(4).设置缩放
mc.scaleX = 2;//x方向的扩大2倍
mc.scaleY = 2;//y方向的扩大2倍
(5).影片剪辑的角度属性(可使其旋转)
mc.rotation = 60//60度
5.碰撞检测
(1)碰撞检测1(hitTestObject也可)
if ( mc1.hitTestPoint(mc2) )
{
score++;//如果mc1和mc2碰到,则score+1;
}
碰撞检测鼠标是否在mc实例中
if (this.mouseX,this.mouseY,ture)//ture,false指示是否使用形状检测
6.数学有关 (1)Math.random()//产生0-1的随机数 (2)其余数学表示和c语言一样,只是在前面加Math,比如Math.abs();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。