Flash基本代码应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Flash基本代码应用
stop()、play():停止播放代码
按钮元件的动作命令
应用(一)跳到指定帧继续播放(以下代码加到元件上)
on (release) {gotoAndPlay(2);}
括号里的数字是2,那么这个2,可以随意根据你的需要进行更改。
比如第5帧播放动画,那么括号里就是5。
这一段意思是当鼠标单击这个按钮,按钮就会转到第2帧并开始播放。
应用(二)跳到指定帧暂停
on (release) {gotoandstop(2);}
应用(三)跳下一帧
on (release) {nextFrame();}
应用(四)跳上一帧
on (release) {prevFrame();}
应用(五)跳下一场景
on (release) {nextScene();}
应用(六)跳上一场景
on (release) {prevScene();}
应用(七)关闭所有声音
on (release) {stopAllSounds();}
应用(八)按钮打开网页
on(release){ getURL("/","_blank") }
应用(九)指定按键控制
on (keyPress "<Left>") {gotoAndPlay(2);}
这个是左方向键控制控制
on (keyPress "<Right>") {gotoAndPlay(2);}
这个是右方向键控制控制
键盘的响应代码是keyPress,代码提示里面有这样的多个键盘响应热键,跟鼠标点击的用法一样。
应用(十)指定显示隐藏元件
on (press) {
if (isbol == true) {
mc1._visible = 1;
isbol = false;
} else {
mc1._visible = 0;
isbol = true;
}
}
“mc1”是实例的名称
事件指令
Release 按一下鼠标
Press 事件发生于鼠标在按钮上方,并按下鼠标
Release 发生在按钮上方按下鼠标,接着松开鼠标时。
也就是“按一下”鼠标
Releaseoutside 发生于在按钮上方按下鼠标,接着把光标移动到按钮之外,然后松开鼠标
Rollover 当鼠标滑入按钮时
Rollout 当鼠标滑出按钮时
Dragover 发生于按着鼠标不放,光标滑入按钮
Dragout 发生于按着鼠标不放,光标滑出按钮
Keypress 发生于用户按下特定的键盘按键时
代码控制物体运动
onClipEvent (enterFrame){this._x+=-5} 注:这种是水平或垂直运动
onClipEvent (enterFrame){this._x+=5;this._y+=5} 注:这种是沿y轴和x轴的夹角运动
this 代表这个影片剪辑自身。
_x 表示影片剪辑的X 轴坐标。
“5”指运动速度,数值越大运动的越快,加“-”负号表示运动方向相反。
事件指令
- load 影片剪辑一旦被实例化并出现在时间轴中时,即启动此动作。
- unload 在从时间轴中删除影片剪辑之后,此动作在第一帧中启动。
处理与Unload 影片剪辑事件关联的动作之前,不向受影响的帧附加任何动作。
- enterFrame 以影片帧频不断地触发此动作。
- mouseMove 每次移动鼠标时启动此动作。
_xmouse 和_ymouse 属性用于确定当前鼠标位置。
- mouseDown 当按下鼠标左键时启动此动作。
- mouseUp 当释放鼠标左键时启动此动作。
- keyDown 当按下某个键时启动此动作。
使用Key.getCode 方法获取最近按下的键的有关信息。
- keyUp 当释放某个键时启动此动作。
使用Key.getCode 方法获取最近按下的键的有关信息。
- data 当在loadVariables 或loadMovie 动作中接收数据时启动此动作。
当与loadVariables 动作一起指定时,data 事件只发生一次,即加载最后一个变量时。
当与loadMovie 动作一起指定时,获取数据的每一部分时,data 事件都重复发生。
代码加到元件上
动态文本
(1)在舞台上创建一个动态文本框,并为这个动态文本实例起一个名字,例如
abc 注:点击文本工具(T),点击属性,改文本属性为动态文本。
(2)选中时间轴的第一桢,打开动作面板,输入以下脚本:
abc.text = "需要赋值的内容"
格式:动态文本实例的名字.text=”需要赋值的内容”
如果内容过多需要换行的时候,需要使用行用回车符(“\r”即ASCII 13)分隔!
影片剪辑的拖拽
(一)无限制拖动
开始拖拽命令
on (press) { this.startDrag(true)} true:鼠标指影片剪辑的中心false:鼠标指影片剪辑的任意位置松开鼠标停止拖拽命令
on (release) { this.stopDrag()}
注:两条命令同时写在一个影片剪辑上
(二)有限制拖动
开始拖拽命令
on (press) { this.startDrag(true, 50, 100, 250, 200)} 注:数字表示拖动范围的坐标可更改
松开鼠标停止拖拽命令
on (release) { this.stopDrag()}
绘图及颜色的AS的编写
lineStyle(粗细,颜色,透明度) //设置绘制图形的线条粗细、颜色和透明度
Moveto(X坐标,Y坐标) //设置绘图线条的起点坐标
lineto(X坐标,Y坐标) //设置线条的结束坐标
举例绘制一个300*100的矩形,先确定矩形4个顶点的坐标,
然后就可以使用lineto命令进行编写了。
选中时间轴的第一桢,打开动作面板。
请输入以下脚本:
_root.lineStyle(1, 0x000000, 100);
_root.moveTo(50, 50);
_root.lineTo(350, 50);
_root.lineTo(350, 150);
_root.lineTo(50, 150);
_root.lineTo(50, 50);
圆心到圆心直接两条线拖拽其中的一个圆变换直线的方向
1、新建立一个flash 文档,在舞台上绘制一个圆,选中它并按F8转换成影片剪辑,
起名为:圆。
2、打开库面板,请将影片剪辑“圆”在舞台上再拖放一个实例,使舞台上存在两个圆的实例。
3、现在为舞台上两个实例分别起名字为a和 b
4、选中时间轴第一桢,打开动作面板,输入以下脚本:
function draw() { //自己定义一个函数,这个函数起名为draw(可自定),函数的功能是要实现以 a 实例的坐标为起点,向b 实例绘制线条。
_root.hkear();//清除舞台上绘制的线条。
_root.lineStyle(1, 0x000000, 90);//设置线条的粗细,颜色和透明度。
_root.moveTo(a._x, a._y); //以a实例的坐标为起点开始绘制线条。
_root.lineTo(b._x, b._y); //以b 实例的坐标为绘制线条的结束点。
}
draw();//执行函数draw,它将会在a 与b 之间绘制出一条黑色的线条。
解释:为了减轻编写AS的工作量和程序的重复率,可以将某些功能定义为一个函数,
例如上面的draw(),在使用的时候,直接执行定义过的函数,就可以完成函数的功能。
5、现在创建拖动效果,选中舞台上的 b 实例,打开动作面板,输入以下脚本:
on (press) {
//点击此实例,开始拖动
this.startDrag(true);
}
on (release) {
//释放鼠标,停止拖动
this.stopDrag();
}
onClipEvent (mouseMove) { //当鼠标移动,也就是这个b 实例移动的时候,就执行里面的程序。
_root.draw(); //执行舞台上定义过的draw()函数,开始在a 与b之间绘制线条。
updateAfterEvent(); //强制更新画面,是整个动画更加流畅。
}
按Ctrl+回车测试动画效果。