flash课件交互方式基本练习_第1页
flash课件交互方式基本练习_第2页
flash课件交互方式基本练习_第3页
flash课件交互方式基本练习_第4页
flash课件交互方式基本练习_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1flash课件的交互方式2交互的基本原理 用户通过鼠标、键盘等输入设备,让程序改变指定的变量值,或者调用不同的常量,根据条件判断结果来执行特定动作,以实现输出效果的变化。示例:onmousemove = function () /鼠标移动时a = _root._ymouse; /读取y坐标b = _root._xmouse; /读取x坐标if (b80) & (a680) /判断鼠标位置范围stop(); /符合条件则停止 else /否则play(); /播放;3内容提要交互方式输入输入文本按键控制鼠标移动 鼠标点击 鼠标拖动输出声音停止音量声音开始坐标透明度可见性按钮允许颜色缩放动态文本

2、播放停止跳转影片加载 影片复制变量变量定义 变量应用 变量跟踪常量4利用stop函数实现影片停止 flash默认自动播放,当需要默认停止时可选中时间轴第1帧,在动作面板中添加stop(); flash默认播放完后自动返回第1帧继续播放,如果希望停在最后一帧,可选中时间轴最后1帧(关键帧),在动作面板中添加stop();示例:00小球运动(未加脚本)01小球运动(第1帧加stop)02小球运动(最后1帧加stop)5按钮的脚本格式 鼠标点击一般针对按钮或影片剪辑元件 方法一:选中按钮后添加用脚本助手on (release) 执行动作 on (press) 执行动作 方法二:在时间轴上选中一个帧,

3、打开动作面板手工输入a2.onpress=function () 执行动作a2.onrelease=function () 执行动作 注:a2为按钮实例名,6按钮控制影片停止 如果希望在播放过程中停止,需要在舞台上添加一个按钮; 选中按钮后,打开动作面板和脚本助手,在全局函数中找到stop,将其拖放至动作面板自动生成脚本on (release) stop(); 示例:03小球运动(添加停止播放按钮)7按钮控制播放 停止后如果希望继续播放,需要在舞台上添加一个按钮, 选中按钮后,打开动作面板和脚本助手,在全局函数中找到play,将其拖放至动作面板。自动生成脚本on (release) play(

4、); 示例:03小球运动(添加停止播放按钮)8按钮控制影片跳转 如果希望跳转到某一帧继续播放,需要在舞台上添加一个按钮, 选中按钮后,打开动作面板和脚本助手,在全局函数中找到goto,将其拖放至动作面板。自动生成脚本on (release) gotoandplay(1); 在“帧”文本框中输入你希望跳转到的数字示例:03小球运动(添加停止播放按钮)9帧标签的使用在脚本中gotoandplay(1); 括号中的参数默认为数字,但也可改为帧标签,在时间轴上选中要跳转到的帧,在属性面板中填入标签名(标签名可以是数字或字母)。 在脚本助手中,将类型选为标签,然后输入标签名,可发现括号多了双引号 got

5、oandplay(3);示例:03帧标签应用沁园春长沙10常量与变量 常量是指某些固定的数字或字母。如1234,true,false,enter 变量随实际情况变化,可以人为改变或进行运算。如a1=_root._xmouse;a2=_root._ymouse;a1和a2随着鼠标移动而变化。11变量定义与赋值 a=10;/定义a为数值型变量并等于10; b=10;/定义b为字符串变量并等于“10”; 字符串变量可以转换为数值,如c=number(b);/将b的字符串变量转换为数值,赋值给c变量; 特殊的变量需要指定类型,如var song:sound = new sound(); /定义变量so

6、ng为声音类型代表一个新的声音;var my_color:color = new color(my_mc); /定义变量my_color为颜色类型代表my_mc的新颜色;12变量的应用1.定义某个变量并给初始值2.通过鼠标键盘等输入操作,改变变量的值,3.在动作函数中调用变量作为参数。或者利用判断语句判断变量的值,执行相应动作。4.从而控制画面或声音输出效果的变化。示例:做一个动画,时间轴添加a=1;舞台上某一个按钮添加on (release) a+=20;gotoandplay(a); 测试结果为向前快进示例:04变量应用与跟踪13变量的跟踪 在脚本中加入变量跟踪,可以方便地了解变量的值,如

7、on (release) a +=20;gotoandplay(a);trace(a);/跟踪变量a每次按下按钮可以看到a输出不同的值示例:04变量应用与跟踪14输入文本与动态文本 输入文本是指在影片播放的情况下,允许利用键盘在文本框中输入文本字符。 输入的字符经过变量读取,可以在动态文本框显示出来。 输入文本框同时也具有动态文本的显示功能。15输入文本(示例:输入数字显示计算结果) 假设输入文本框的实例名为a1,变量名为c;要读取输入文本框的信息,并显示在动态文本框中(变量为b); 通过按钮添加on (release) b=a1.text; /必要时写成 b=number(a1.text)转

8、为数值型 b=2*b; 在时间轴上添加:c=“请输入数字”; 则测试会出现提示 “请输入数字”,当输入数字后点击按钮则出现计算结果 。示例:05输入文本16按键控制 按键控制是指通过键盘的某一个(或几个)按键,实现影片或声音的控制。 按键控制有两种方法:1.利用按钮元件添加控制脚本,在脚本助手中指定一个控制按键。2.持续读取键盘代码,当代码等于某一特定值,表示某一指定按钮被按下,此时执行相应脚本对影片或声音进行控制。17按键控制(利用按钮) 选中按钮元件,打开脚本助手添加脚本,指定一个按键。示例:06键盘控制(大炮)18按键控制(key.isdown 方法) if (key.isdown(39

9、) 执行动作 /小括号的数字为某一按键的代码,键盘上每一按键有唯一代码。19按键控制car_mc.onenterframe = function() if (key.isdown(39) /39是右箭头的代码 this._x += 10; if (key.isdown(37) /37是左箭头的代码 this._x -= 10; if (key.isdown(38) /38是上箭头的代码 this._y -= 10; if (key.isdown(40) /40是下箭头的代码 this._y += 10; /以上脚本可以通过键盘箭头键实现car_mc的上下左右移动示例:07箭头键控制小球移动20

10、鼠标移动 鼠标移动时,鼠标坐标数值会不断变化,读取鼠标数值,可以判断鼠标位于画面的位置,从而控制影片。onmousemove= function() /鼠标移动时 x1=_root._xmouse;y1=_root._ymouse;注: x1、 y1为变量名21如何知道鼠标在某个特定位置 1.在舞台上建立一个特定大小的对象,给出实例名mc,利用碰撞检测函数hittest(),格式onmousemove= function() if (mc.hittest(_root._xmouse, _root._ymouse) 执行动作;示例:08碰撞检测hittest08电子相册22如何知道鼠标在某个特定

11、位置 2.通过坐标值判断onmousemove = function () a = _root._ymouse;b = _root._xmouse;if (b80) & (a680) stop(); else play();脚本需要手工输入或拷贝23鼠标拖动 鼠标拖动是指按下鼠标将影片剪辑进行拖动,同时判断拖动的对象坐标位置的变化情况,利用拖动对象的坐标值对影片实施控制。24影片拖动 在舞台上放一个影片剪辑元件并选中,打开动作面板和脚本助手,在全局函数中找到startdrag添加到动作面板,自动生成on (release) startdrag(); 单击release,将“按下”选中,去掉“释

12、放”对勾,变成on (press) startdrag();09示例:09拖动交互(基本操作)25停止影片拖动 (接上一页) 在选中影片剪辑元件时,打开动作面板和脚本助手) 在全局函数中找到stopdrag添加到动作面板,自动生成on (release) stopdrag(); 测试影片,用鼠标尝试拖放影片元件示例:09拖动交互(基本操作)26手工添加影片拖动脚本 在舞台上放一个影片剪辑元件并选中,在属性面板中给出实例名yuan 选中时间轴上某1帧,在动作面板中手工添加yuan.onpress = function() startdrag(yuan);yuan.onrelease = func

13、tion() stopdrag();示例:10拖动交互27拖动交互的应用 按下鼠标时记下影片剪辑的原始位置,允许拖动影片剪辑, 到目标位置附近释放鼠标,此时停止拖动并判断目标是否符合,不符合则回到原始位置28影片加载到级别 flash允许在一个影片中调用另一个影片并叠加到画面中。 假定已经准备好一个swf影片,文件名为:小球运动(未加脚本).swf 新建一个文件保存在同一文件夹,添加一个按钮,选中按钮,打开动作面板和脚本助手,找到loadmovie将其拖至动作面板中,自动生成on (release) loadmovienum(, 0); 在url栏填入完整文件名小球运动(未加脚本).swf 级

14、别数字改为1,1表示叠加到画面上的第一层示例:11加载影片至级别29影片卸载(接上一页) 如果要去掉刚才加载的影片,再添加一个按钮, 选中按钮,打开动作面板和脚本助手,找到unloadmovie将其拖至动作面板中,自动生成on (release) unloadmovienum(0); 级别数字改为1,1表示去掉刚才叠加到画面上的第一层30影片加载到目标 如果希望调用另一个影片并叠加到指定的影片剪辑中,要用影片加载到目标。 假定已经准备好一个swf影片,文件名为:小球运动(未加脚本).swf 新建一个文件保存在同一文件夹,在舞台上建一个影片剪辑,实例名为mc 在舞台上添加一个按钮,选中按钮,打开

15、动作面板和脚本助手,找到loadmovie将其拖至动作面板中,自动生成on (release) loadmovienum(, 0); 在url栏填入完整文件名小球运动(未加脚本).swf 级别改为目标,填入mc,脚本变成on (release) loadmovie(小球运动(未加脚本).swf, mc);示例:12加载影片至目标31级别与目标的差异 当影片加载到级别时, 新画面与原画面左上角对齐; 新画面可以替代原画面(当num为0),或者叠加在上面(当num大于0); 叠加在上面的新画面的名称为:_level1,_level后面的数字与num一致。 当影片加载到目标时, 新画面与原画面中影片

16、剪辑的左上角对齐; 新画面可以替代原画面中的影片剪辑; 新画面使用原来影片剪辑的实例名(如mc);32级别:将影片放在另一个影片的上面a图层1a图层2a图层3a图层4b图层1b图层2b图层3_level0_level133目标:将影片放在另一个影片的内部a图层1a层2a图层3a图层4b图层1b图层2b图层3_level0mc34改变元件对象的坐标 每个元件对象在舞台上均匀它自己的坐标,我们可以读取它的坐标值并通过改变坐标值来改变它的位置。 假设影片剪辑的实例名为a2,读取a2的坐标值ax=a2._x; ay=a2._y; 改变a2的坐标值(xy坐标分别增加100和200)ax+=100; ay

17、+=200;a2._x=ax;a2._y=ay; 简单一点就是a2._x+=100; a2._y+=200;35改变元件对象的大小 假设影片剪辑的实例名为a2 要改变元件对象的大小可以用两种方法: 1.改变其缩放百分比的值a2._xscale=20;a2._yscale=20;/数值小于100为缩小,大于100为放大2.改变其宽高值a2._width=250; /数值表示像素a2._height=350;36改变加载影片的坐标和大小 改变加载影片的坐标和大小,道理上与改变元件对象坐标和大小做法相同; 但实际上由于加载需要时间,如果在加载影片的同时,直接改变加载影片的大小是不成功的。 我们需要设

18、置等待语句,当影片加载完毕后才进行改变。 示例:13加载外部图片(待完善)14加载外部图片 请注意对比两者的效果差异。37按钮透明度、可见性与允许38按钮的可见性 假设舞台上放置两个控制按钮:播放和停止,他们的实例名分别为bofang和tingzhi 我们希望当影片正在播放时,只需要出现停止按钮,用脚本让播放按钮不可见;tingzhi._visible=true;bofang._visible=false; 反之,当影片已经停止时,只需要出现播放按钮,用脚本让停止按钮不可见;tingzhi._visible=false;bofang._visible=true;示例15两个按钮看起来是一个(实

19、现播放与停止)39按钮的允许与禁止 如果我们希望按钮还在画面上,只是不可点击,则可用函数enabled来实现。 当影片正在播放时,用脚本让播放按钮不可点击;tingzhi.enabled=true;bofang.enabled=false; 反之,当影片已经停止时,用脚本让停止按钮不可点击;tingzhi.enabled=false;bofang.enabled=true;40改变影片剪辑元件的颜色 为了区别某个对象是否曾经点击过,我们可以用函数setrgb()让点击的对象变色。 用法:定义一个变量为color,令其为某实例对象的新颜色变量.setrgb(0 x十六进制颜色代码) 如在舞台上建

20、一个蓝色影片剪辑,实例名为my_mc,将脚本添加到时间轴,var my_color:color = new color(my_mc);my_color.setrgb(0 xff0000); 测试后发现蓝色影片剪辑变为红色。41改变影片剪辑元件的颜色 var i:number = -1; var my_color:color = new color(my_mc); my_mc.onpress = function() i *= -1;if (i = 1) my_color.setrgb(0 xff0000);/ else my_color.setrgb(0 x0000ff); ;示例:16改变颜

21、色这个代码的效果是点击影片剪辑时红色和蓝色轮流出现42声音调用与控制43调用库中的声音文件 调用库中的声音文件用函数attachsound(); 需要调整某个声音对象的音量,可以用函数setvolume()。其中括号为音量值的百分比 用法: 导入一个声音文件到库,添加声音文件的链接标识符,如qinyuanchun 然后在时间轴上添加脚本var song:sound = new sound(); /定义变量song.attachsound(qinyuanchun);/调用声音song.start();/声音开始song.setvolume(50);/预设音量50% 测试后听到声音示例:17音量基本练习44声音开始与停止 (接上一页) 舞台上放两个按钮停止和播放 停止按钮添加on (release) song.stop(); 播放按钮添加on (release) song.start();测试后看能否控制播放示例:17音量基本练习45调整音量大小(接上一页)舞台上放两个按钮“音量增

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论