注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

.

.

 
 
 

日志

 
 

flash cs3影片交互控制的视频教程及代码应用  

2009-10-10 22:33:52|  分类: flash课件制作 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

 

常用代码:

附:(cs3交互代码怎样在动作面板中掉出的——图示

 

 

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的应用(二)  as3 鼠标事件

按钮事件:

shijianbtn.addEventListener(MouseEvent.CLICK, shijianming);

 

//在shijianbtn这个按钮或影片剪辑上加一个侦听鼠标点击的shijianming函数

function shijianming(event:MouseEvent):void {

//当鼠标点击时shijianming函数执行zhixingmingling这个动作(命令)

          zhixingmingling

}

shijianbtn是一个铵钮名称,shijianming这个函数的事件名自己随便起,zhixingmingling执行的命令如:movieclip.play();

鼠标事件(MouseEvent)最重要的人机交互途径。分为MOUSE_OVER, MOUSE_MOVE, MOUSE_DOWN, MOUSE_UP, MOUSE_OUT, MOUSE_WHEEL和MOUSE_LEAVE。

MOUSE_OVER - 鼠标移动到目标对象之上时触发, 可以用于模拟按钮的mouse over效果;

MOUSE_MOVE - 鼠标在目标对象之上移动时触发,主要用于判断。比如判断在拖拽实例时,实例是否在允许的范围之内,如果超出,立刻停止拖拽或者重新设定实例的坐标;

MOUSE_DOWN - 鼠标在目标对象之上按下时触发。注意,只有按下鼠标左键时才会触发,右键和滚轮都不会触发。在目标对象之外按下鼠标左键,再移动到目标对象之上时,也不会触发;

MOUSE_UP - 鼠标在目标对象之上松开时触发。注意,只有松开鼠标左键时才会触发,右键和滚轮都不会触发。在目标对象之上按下鼠标左键,再移动到目标对象之外松开时,不会触发。但在目标对象之外按下鼠标左键,再移动到目标对象之上松开时,就会触发。

MOUSE_OUT- 鼠标移动到目标对象之外时触发。

MOUSE_WHEEL - 鼠标在目标对象之上转动滚轮时触发。

MOUSE_LEAVE - 当光标离开舞台时触发

鼠标显示模式:影片剪辑实例名称 movieclip.buttonMode=true;(显示手形)

影片剪辑实现双击:movieclip.doubleClickEnabled=true;

 

>>flash cs3的应用 (三)     停止、播放、跳转帧

停止、播放、跳转帧:

与AS2一样,AS3也Stop(); play(); nextFrame();  prevFrame(); gotoAndStop();gotoAndplay();这些帧动作。跳转帧可以写帧数,也可以写帧标签。虽然AS3好像不支持从元件上添加动作,但也可以从元件的帧上添加控制根目录舞台的脚本。比如从MC1控制的帧中添加 MainTimeline(stage.getChildAt(0)).MC2.play(); ,就可以控制根目录下的MC2的播放。这和AS2的 _root.MC2.play();  一样的。

>>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里MovieClip(影片剪辑)和AS2里没有多大的差别,

有实例属性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秒

  • 下一篇:flash cs3的应用(十一) 影片剪辑播放控制条
  • 下一篇:flash cs3的应用(十二)超级播放条之弹出式播放进度控制条
  • 下一篇:flash cs3的应用(十三)超级播放条之嵌入式声音的播放
  • 下一篇:flash cs3的应用(十四)超级播放条之点击滑道控制播放
  • 下一篇:flash cs3的应用(十五)超级播放条之多个影片剪辑播放
  • 下一篇:flash cs3的应用(十六)超级播放条之多个影片剪辑循环播放
  • 下一篇:flash cs3的应用(十七)超级播放条之单个影片剪辑循环播放
  • 下一篇:flash cs3的应用(十八)超级播放条之滑块控制音量大小
  • 下一篇:flash cs3的应用(十九)超级播放条之滑块控制音量大小2
  • 下一篇:flash cs3的应用(二十)超级播放条之控制所有音量大小
  • 下一篇:flash cs3的应用(二十一)超级播放条之滑块控制所有音量大小
  • 下一篇:flash cs3的应用(二十二)超级播放条之滑道控制音量大小
  • 下一篇:flash cs3的应用(二十三)超级播放条之静音
  • 下一篇:flash cs3的应用(二十四)超级播放条之快放 慢放 倒放
  • 下一篇:flash cs3的应用(二十五)超级播放条之滑块显示百分比
  • 下一篇:flash cs3的应用(二十六)超级播放条之显示播放时间
  • 下一篇:flash cs3的应用(二十七)超级播放条之时间代码的改进
  • 下一篇:flash cs3的应用(二十八)超级播放条之音量平衡调节
  • 下一篇:flash cs3的应用(二十九)超级播放条之添加滑道时间显示
  • 下一篇:flash cs3的应用(三十)超级播放条之完善版 播放状态判断
  • 下一篇:flash cs3的应用(三十一)超级播放条之显示拖动时间
  • 下一篇:flash cs3的应用(三十二)超级播放条之全局音量平衡
  • 下一篇:flash cs3的应用(三十三)超级播放条之播放代码完善
  • 下一篇:flash cs3的应用(三十四)超级播放条之声音波形电平条超级播放条之播放代码完善
  •  

      评论这张
     
    阅读(2418)| 评论(1)
    推荐 转载

    历史上的今天

    评论

    <#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
     
     
     
     
     
     
     
     
     
     
     
     
     
     

    页脚

    网易公司版权所有 ©1997-2017