常用代码:
flash AS3的全屏代码:this.stage.displayState=StageDisplayState.FULL_SCREEN; 退出代码: tc_btn.addEventListener(MouseEvent.CLICK, tuichu);
//给overbtn这个按钮添加鼠标点击执行tuichu函数的侦听
function tuichu(event:MouseEvent):void {
fscommand("quit");
//鼠标点击执行tuichu时swf退出
} 时间轴上停止代码:this.stop() 按钮代码: 红色代码为自定义函数,同一按钮中相同,不同按钮必须不同以区别开来。 播放和停止 bf_btn.addEventListener(MouseEvent.CLICK,work1); function work1(event:MouseEvent){ this.play() } tz_btn.addEventListener(MouseEvent.CLICK,work2); function work2(event:MouseEvent){ this.stop() }
跳转代码 shou_btn.addEventListener(MouseEvent.CLICK,work1); function work1(event:MouseEvent){ gotoAndStop("首页"); }
tz_btn.addEventListener(MouseEvent.CLICK,work2); function work2(event:MouseEvent){ gotoAndPlay(1); }
逐帧代码: xy_btn.addEventListener(MouseEvent.CLICK,work1); function work1(event:MouseEvent){ this.nextFrame() } Sy_btn.addEventListener(MouseEvent.CLICK,work2); function work2(event:MouseEvent){ this.prevFrame() } 按钮控制影片剪辑 tz_btn.addEventListener(MouseEvent.CLICK,work1); function work1(event:MouseEvent){ this.ai_mc.gotoAndPlay(3) } 按钮暂停代码; (1)控制主场景暂停的方法是,在舞台上建立个播放暂停按钮,起名pause_btn。在时间线上添加代码: pause_btn.addEventListener(MouseEvent.CLICK,playpauseMC);
//上面是AS3中强大的侦听事件,基本模型为事件源.addEventListener(事件,触发);本句意思是:在pause_btn上添加一个鼠标点击执行playpauseMC函数的侦听事件。
function playpauseMC(event:MouseEvent):void {
//当点击pause_btn时,执行下面的动作,下面是让this.id这个值和上一次的不同简单的说就是在True和False之间来回切换
this.id=!this.id ;
//这是用到 ?:运算符 如果this.id为真,则执行":"号前面的语句,即movieclip.stop(); 如假则执行后面的语句,即movieclip.stop();
this.id ?this.stop() : this.play();}
(2)控制主场景暂停的方法是,在舞台上建立个名为pause_btn播放暂停按钮,控制影片剪辑yp_mc。在时间线上添加代码:
pause_btn.addEventListener(MouseEvent.CLICK, playmc);
//给pause_btn添加鼠标点击执行playmc函数的侦听
function playmc(event:MouseEvent):void {
this.yp_mc.play();
//movieclip播放
pause_btn.removeEventListener(MouseEvent.CLICK, playmc);
//给pause_btn注销鼠标点击执行playmc函数的侦听
pause_btn.addEventListener(MouseEvent.CLICK, stopmc);
//给pause_btn添加鼠标点击执行stopmc函数的侦听
}
function stopmc(event:MouseEvent):void {
this.yp_mc.stop();
//movieclip暂停
pause_btn.removeEventListener(MouseEvent.CLICK, stopmc);
//给pausebtn注销鼠标点击执行stopmc函数的侦听
pause_btn.addEventListener(MouseEvent.CLICK, playmc);
//给pause_btn添加鼠标点击执行playmc函数的侦听 }
显示、隐藏按钮代码: this.yp_mc.visible=false; //以上代码让yp_mc首先在场景中隐藏 this.xs_btn.addEventListener(MouseEvent.CLICK, xianshitrue);
function xianshitrue(event:MouseEvent):void {
this.yp_mc.visible=true; } //以上为xs_btn显示按钮代码 this.yc_btn.addEventListener(MouseEvent.CLICK, ycfalse);
function ycfalse(event:MouseEvent):void {
this.yp_mc.visible=false;
} //以上为yc_btn隐藏按钮代码
yp_mc影片拖放代码: yp_mc.addEventListener(MouseEvent.MOUSE_DOWN, tuo);
function tuo(event:MouseEvent):void {
this.yp_mc.startDrag();
}
yp_mc.addEventListener(MouseEvent.MOUSE_UP, ting);
function ting(event:MouseEvent):void {
this.yp_mc.stopDrag();
}
划线代码:先放一个hx_btn的按钮,输入如下代码: var lines :Sprite = new Sprite ();
addChild(lines);
stage.addEventListener(MouseEvent.MOUSE_DOWN,lineBegin);
stage.addEventListener(MouseEvent.MOUSE_UP,lineEnd);
function lineBegin(event:MouseEvent):void {
lines.graphics.lineStyle(10,0x0099ff,1);
// lineStyle(10线径,0x0099ff蓝色,1) 16711935粉色
lines.graphics.moveTo(mouseX,mouseY);
stage.addEventListener(MouseEvent.MOUSE_MOVE, lineDraw);
}
function lineDraw(event:MouseEvent):void {
lines.graphics.lineTo(mouseX,mouseY);
}
function lineEnd(event:MouseEvent):void {
stage.removeEventListener(MouseEvent.MOUSE_MOVE, lineDraw);
}
btn.addEventListener(MouseEvent.CLICK,lineClearn);
function lineClearn(event:MouseEvent):void {
lines.graphics.clear();
}
lines.filters = [new DropShadowFilter()];
加载外部swf的代码:
var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler); loader.load(new URLRequest("1.swf")); function completeHandler(event:Event) { var _content:DisplayObject = event.target.content; this.addChild(loader); }
或
var myURL:URLRequest=new URLRequest("1.swf"); var myLoader:Loader=new Loader(); myLoader.load(myURL); addChild(myLoader);
做课件有关的flash cs3 AS3脚本知识一一介绍给大家,主要见下面的目录: 1、全屏代码和退出代码: 2、AS3根目录表示: 3、按钮事件: 4、停止、播放、跳转帧: 5、影片剪辑的播放与暂停: 6、影片剪辑的隐藏和播放: 7、拖放影片剪辑: 8、顺序问题: 9、在Flash中用鼠标画出任意曲线 10、键盘控制: …………
1、全屏代码。flash AS2的全屏代码:fscommand("fullscreen", "true"); 而flash AS3的全屏代码:this.stage.displayState=StageDisplayState.FULL_SCREEN; 退出代码: overbtn.addEventListener(MouseEvent.CLICK, tuichu); //给overbtn这个按钮添加鼠标点击执行tuichu函数的侦听 function tuichu(event:MouseEvent):void { fscommand("quit"); //鼠标点击执行tuichu时swf退出 } 2、AS3根目录表示: as2的根目录是:_root 例如:_root.moviexlip.play(); as3的根目录是:MainTimeline(stage.getChildAt(0)) 例如:MainTimeline(stage.getChildAt(0)).moviexlip.play(); 注意:as3的脚本已加在帧上了,不可以加在元件上了。
|
>>flash cs3的应用(四) 影片剪辑的播放与暂停 |
我们在做课件的过程中,针对导入的视频如果能控制它的播放与暂停那有多好啊。在AS2中可以做一个播放暂停影片剪辑,在其中做两个帧,一个帧中放一个播放按钮,另一个帧中放一个暂停按钮,当点击头一帧的播放按钮,便对根目录舞台上的视频进行播放,同时这个播放暂停影片剪辑跳转到第二帧上,再点击就是暂停按钮了,就可以控制根目录舞台上的视频暂停了。AS3中也可以这样做,但我从网上搜到的几种方法就很好,如下: 把视频起个名叫movieclip,再在舞台上建立个播放暂停按钮,起名pause_btn。在时间线上添加代码: pause_btn.addEventListener(MouseEvent.CLICK,playpauseMC) //上面是AS3中强大的侦听事件,基本模型为事件源.addEventListener(事件,触发);本句意思是:在pause_btn上添加一个鼠标点击执行playpauseMC函数的侦听事件。 function playpauseMC(event:MouseEvent):void{ //当点击pause_btn时,执行下面的动作,下面是让this.id这个值和上一次的不同简单的说就是在True和False之间来回切换 this.id=!this.id //这是用到 ?:运算符 如果this.id为真,则执行":"号前面的语句,即movieclip.stop(); 如假则执行后面的语句,即movieclip.stop(); this.id ?movieclip.stop() : jiewen.play(); } 这样,点击一下pause_btn,就开始播放(暂停),再点击一下pause_btn,就开始暂停(播放),是不是很有趣! 还有一种,在舞台上新建个pause_btn按钮,输入以下代码: pause_btn.addEventListener(MouseEvent.CLICK, playmc); //给pause_btn添加鼠标点击执行playmc函数的侦听 function playmc(event:MouseEvent):void { movieclip.play(); //movieclip播放 pause_btn.removeEventListener(MouseEvent.CLICK, playmc); //给pause_btn注销鼠标点击执行playmc函数的侦听 pause_btn.addEventListener(MouseEvent.CLICK, stopmc); //给pause_btn添加鼠标点击执行stopmc函数的侦听 } function stopmc(event:MouseEvent):void { movieclip.stop(); //movieclip暂停 pause_btn.removeEventListener(MouseEvent.CLICK, stopmc); //给pausebtn注销鼠标点击执行stopmc函数的侦听 pause_btn.addEventListener(MouseEvent.CLICK, playmc); //给pause_btn添加鼠标点击执行playmc函数的侦听 } 这种方法也能实现播放与暂停。 var kong:Boolean = true; //判断当前状态 [播放/暂停] pause_btn.addEventListener(MouseEvent.CLICK,bofangzanting); //声音控制按钮事件 function bofangzanting(event:MouseEvent) { if (kong == false) { kong = true; mc.play(); } else { kong = false; mc.stop(); } } pause_btn.buttonMode=true; //pause_btn显示模式为真,即显示为手型 pause_btn.addEventListener(MouseEvent.CLICK,bofangzanting); //给pause_btn添加鼠标点击侦听函数bofangzanting function bofangzanting(event:MouseEvent):void { if (pause_btn.currentFrame==2) { //如果pause_btn的当前帧是2 pause_btn.gotoAndStop(1); //pause_btn跳转到第一帧 mc.play(); } else { pause_btn.gotoAndStop(2); //pause_btn跳转到第二帧 mc.stop(); } } 在AS3 有实例属性6个: currentFrame: 记录当前播放的是第几帧 currentLabel: 记录当前播放帧的标签 totalFrames: 记录当前影片共有多少帧 currentScene: 持有当前scene场景对象引用 scenes: 一个数组,记录影片含有的全部场景对象数组 currentLabels:记录着当前场景下所有FrameLabel标签对象的数组。 enabled: 默认为true.控制影片对象是否可以具有按钮行为。 有8个实例方法: play() :让播放头开始或继续播放 stop():停止播放 gotoAndPlay(帧数或标签,场景):从(转到)某帧开始播放。 gotoAndStop(帧数或标签,场景):转到某帧并停止 nextFrame():跳到下一帧,并停止 prevFrame():跳到上一帧,并停止 nextScene():跳到下一场景 prevScene():跳到上一场影 掌握这些对于后几节学习播放进度控制条的制作有好处。 |
>>flash cs3的应用(五) 影片剪辑的隐藏和显示 |
AS3中的影片剪辑的隐藏和显示和AS2中的差不多,在AS2中常用 _root.movieclip.visible=false; 把movieclip隐藏,而在AS3中则是用 movieclip.visible=false; 把movieclip隐藏,然后点击xianshibutton这个按钮 xianshibutton.addEventListener(MouseEvent.CLICK, xianshitrue); function xianshitrue(event:MouseEvent):void { movieclip.visible=true; } 把它显示。 |
>>flash cs3的应用(六)影片剪辑的拖放 |
在AS3中影片剪辑的拖放与AS2也差不多,如下: movieclip.addEventListener(MouseEvent.MOUSE_DOWN, tuo); function tuo(event:MouseEvent):void { movieclip.startDrag(); } movieclip.addEventListener(MouseEvent.MOUSE_UP, ting); function ting(event:MouseEvent):void { movieclip.stopDrag(); } 不过,startDrag()的括号里是可以用位置参数进行约数的。如下例: var shang=hk_mc.y; //声明 上=滑块的Y坐标 var zuo=hd_mc.x; //声明 左=滑道的X坐标 var xia=0; //声明 下=0 var you=hd_mc.width-hk_mc.width; //声明 右=滑道的宽-滑块的宽 var fk:Rectangle=new Rectangle(zuo,shang,you,xia); //声明 方块的位置是一个新的位置:左上右下 hk_mc.startDrag(false,fk); //光标不锁定中心,滑块开始在FK范围内拖动 |
>>flash cs3的应用(七) 顺序问题 |
比如有一个事件Nextframe,点击overbtn按钮要先停止jiewen播放,再跳转到下一帧,这时的脚本: function Nextframe(event:MouseEvent):void { jiewen.stop(); nextFrame(); } overbtn.addEventListener(MouseEvent.CLICK, Nextframe); 而这样却不行, nextFrame(); jiewen.stop(); 这时它认为先跳转到下一帧,而却控制不了jiewen的停止了,它会一直播放。 |
>>flash cs3的应用(八)画线的代码 |
可用代码 var lines :Sprite = new Sprite (); addChild(lines); stage.addEventListener(MouseEvent.MOUSE_DOWN,lineBegin); stage.addEventListener(MouseEvent.MOUSE_UP,lineEnd); function lineBegin(event:MouseEvent):void{ lines.graphics.lineStyle(10,0x0099ff,1); // lineStyle(10线径,0x0099ff蓝色,1) 16711935粉色 lines.graphics.moveTo(mouseX,mouseY); stage.addEventListener(MouseEvent.MOUSE_MOVE, lineDraw); } function lineDraw(event:MouseEvent):void{ lines.graphics.lineTo(mouseX,mouseY); } function lineEnd(event:MouseEvent):void{ stage.removeEventListener(MouseEvent.MOUSE_MOVE, lineDraw); } btn.addEventListener(MouseEvent.CLICK,lineClearn); function lineClearn(event:MouseEvent):void{ lines.graphics.clear(); }
以上是画线的代码,颜色和线径大小自己可调节,下面是阴影效果。
lines.filters = [new DropShadowFilter()] //阴影效果 本代码是把线画在最上层的,不是只画在最低层舞台上的。 |
>>flash cs3的应用(九) 键盘控制 |
单一键键盘控制的通用代码 stage.addEventListener(KeyboardEvent.KEY_DOWN,playpauseMC); function playpauseMC(event:KeyboardEvent):void { switch (event.keyCode) { case Keyboard.SPACE : //上面除了SPACE,像UP、DOWN、L EFT、RIGHT、SHIFT也行。 Movieclip.xxx; // Movieclip.xxx是影片剪辑的执行命令,如 Movieclip.stop(); break; default : break; } } 比如,用键盘控制播放与暂停 空格键控制影片剪辑播放与暂停 stage.addEventListener(KeyboardEvent.KEY_DOWN,playpauseMC); function playpauseMC(event:KeyboardEvent):void { switch (event.keyCode) { case Keyboard.SPACE : //下面是让this.id这个值和上一次的不同 简单的说 就是在True和False之间来回切换 this.id=!this.id; //这是用到 ?: 运算符 如果this.id为真,则执行":"号前面的语句,即mc.stop(); 如假则执行后面的语句,即mc.stop(); this.id ?jiewen.stop(): jiewen.play(); break; default : break; } } 还可以用组合键来控制动作,代码如下: stage.addEventListener(KeyboardEvent.KEY_DOWN,playpauseMC); //给舞台stage添加键盘按下执行playpauseMC函数的侦听 function playpauseMC(event:KeyboardEvent):void { if (event.ctrlKey && event.keyCode == Keyboard.SHIFT) { //当执行playpauseMC函数时按下的是组合键CTRL和SHIFT,启动以下命令 this.id=!this.id; //上面是让this.id这个值和上一次的不同 简单的说 就是在True和False之间来回切换 this.id ?jiewen.stop(): jiewen.play(); //这是用到 ?: 运算符 如果this.id为真,则执行":"号前面的语句,即mc.stop(); 如假则执行后面的语句,即mc.stop(); } } 除了SHIFT之外,DELETE、END HOME、INSERT、PAGE_UP、PAGE_DOWN、LEFT、 RIGHT也可以用。 |
>>flash cs3的应用(十) 时间的显示 |
下面是时间显示的简单代码 var xx1:TextField=new TextField(); //定义一个新的文本xx1 var xx2:TextField=new TextField(); //定义一个新的文本xx2 addChild(xx1); //添加一个子类xx1 addChild(xx2); //添加一个子类xx2 xx1.x=50; xx1.y=50; xx2.x=50; xx2.y=70; xx1.autoSize=TextFieldAutoSize.LEFT; xx2.autoSize=TextFieldAutoSize.LEFT; stage.addEventListener(Event.ENTER_FRAME,foo1); //在舞台上添加一个进入帧的foo1函数侦听事件 function foo1(event:Event) { var xx:Date=new Date(); //声明xx等于一个新的时间 xx1.text=xx.fullYear +"年"+xx.month +"月"+xx.date+"日"; //xx1的文本显示年月日 } stage.addEventListener(Event.ENTER_FRAME,foo2); //在舞台上添加一个进入帧的foo2函数侦听事件 function foo2(event:Event) { var yy:Date=new Date(); //声明yy等于一个新的时间 xx2.text=yy.hours +"时"+yy.minutes+"分"+yy.seconds+"秒"; //xx2的文本显示时分秒 } 效果如下: 2008年8月8日 8时8分8秒 |
|
评论