Flash常用的动作命令.docx
《Flash常用的动作命令.docx》由会员分享,可在线阅读,更多相关《Flash常用的动作命令.docx(38页珍藏版)》请在冰豆网上搜索。
Flash常用的动作命令
Flash常用的动作命令
一.Flash中的常用命令
1、在当前帧停止播放
on(release){
stop();
}
2、从当前帧开始播放
on(release){
play();
}
3、跳到第10帧,并且从第10帧开始播放
on(release){
gotoAndPlay(10);
}
4、跳到第20帧,并且停止在该帧
on(release){
gotoAndStop(20);
}
5、跳到下一个场景,并且继续播放
on(release){
nextScene();
play();
}
6、跳到上一个场景,并且继续播放
on(release){
prevScene();
paly();
}
7、条到指定的某个场景,并且开始播放
on(release){
gotoAndPlay("场景名",1);
}
8、播放器窗口全屏显示
on(release){
fscommand("fullscreen",true);
}
9、取消播放器窗口的全屏
on(release){
fscommand("fullscreen",false);
}
10、播放的画面,随播放器窗口大小的,改变而改变
on(release){
fscommand("allowscale",true);
}
11、播放的画面,不论播放器窗口有多大,都保持原尺寸不变
on(release){
fscommand("allowscale",false);
}
12、打开一个网页,如果该“网页”和“flash动画”在同一个文件夹里
on(release){
getURL("");
}
13、打开一个网页,如果该“网页”是在网络上的其他站点里
on(release){
getURL();
}
14、跳转帧(按纽动作,释放跳转)
on(release){
gotoAndPlay
(1);
}
15、播放
on(release){play();}
16、停止
on(release){stop();}
17、跳到第N帧开始播放
on(release){gotoAndplay(N);}
18.跳到第N帧停止
on(release){gotoAndstop(N);}
二.Flash中关于声音的常用命令
1.newSound()//创建一个新的声音对象;
2.mysound.attachSound()//加载库里的声音
3.mysound.start()//播放声音;
4.mysound.getVolume()//读取声音的音量
5.mysound.setVolume()//设置音量
6.mysound.getPan()//读取声音的平衡值
7.mysound.setPan()//设置声音的平衡值
8.mysound.position//声音播放的当前位置
9.mysound.duration//声音的总长度;
FLASH动作脚本代码集锦
8o4X-XXvf$b019楼空间%hNDbU+_ZR7?
-JD{K
1、简单loading代码:
I%{hB!
U|n)v0方法1、使用载入字节数判断
19楼空间bv:
zHD@s
b=getBytesTotal();//获取总的字节数
19楼空间bW(ezs,@;y+p
a=getBytesLoaded();//已经下载的字节数
19楼空间6~Z.e][EOA
onEnterFrame=function(){//进入帧时,进行判断
}~_2w7Y/_I"L0if(a==b){//如果载入的字节数等于总的字节数
z~.vZ_P~0z.X0deletethis.onEnterFrame//删除进入帧
N1we#p;D7p/j#\|)HH0gotoAndPlay("frame");//转入到你要播放的帧
19楼空间Qno7ce!
V,Rk
]else{//否则
19楼空间/E$j.lsDe'L3}/Q
a=getBytesLoaded();//已经下载的字节数
19楼空间V5rQ,a_D
percent=int(a/b*100)+"%";//计算已经下载的百分比
19楼空间{QTQF(a
]
19楼空间.NA!
|h]dFs
}
r7D-|\X:
z+]0把上面方法放入第一帧就可以了
E.DW%v8f1m019楼空间*n6K}GO7_:
R
方法2、使用载入的帧数判断_
用Action语法地ifframe.isloaded来实现,新建一层,这层专门放Action,
第一帧,
ifFrameLoaded("场景",frame){//假如场景中地祯数已经载入
gotoandplay()//跳至并播放某某祯(自己设定)
}
第二帧,O*Np@Q
gotoandplay("场景1",1)//跳至并播放第一祯循环
再加上一个load地MC循环播放在这两帧的中间,就OK了。
2、用flash做那种弹出的小窗口
分两步:
给flash中的按钮加入如下action:
on(release){idd{
getURL("MM_openBrWindow('newweb.htm','','width=600,height=100')");
在HTML页面的
...之间加入下面的javascript.代码.
--~Y
functionMM_openBrWindow(theURL,winName,features){//v2.0
window.open(theURL,winName,features);;
}
//-->
3、载入swf文件的控制
在flash中可以使用loadmovie()和loadmovienum()两个函数控制,具体代码如下:
loadmovie载入的控制
_root.createEmptyMovieClip("aa",1);
with(aa){
_x=50;
_y=100;
_width=200
_height=300
_alpha=50
loadMovie("02.swf");
}
loadMovieNum的载入控制:
loadMovieNum("02.swf",1);
onEnterFrame.=function(){
if(_level1){
with(_level1){
_x=50;
_y=100;
}
deleteonEnterFrame.;
}
};
在flash2004中,增加了MovieClipLoader类,使用它可以控制播放,下面是一个测试代码:
varmcl=newMovieClipLoader();//定义新的MovieClipLoader对象~
varlistener=newObject();//定义一个新的对象,用来监听load进程
listener.onLoadProgress=function(target,loadedBytes,totalBytes){//onloadprogress加载过程中每当将加载的内容写入磁盘时调用
//其中loadedBytes是已经下载的字节,totalBytes是正在加在的文件的总字节数
x=loadedBytes
y=totalBytes
//trace(x+"bytes已经load了");
//trace(totalBytes+"bytes需要load");
d=x*100/y//计算已经载入的百分比
)
listener.onLoadInit=function(target)//当执行加载的剪辑的第一帧上的动作时调用
{
if(d<100){//如果没有加载完成,不要播放
target.stop();
}else{//加载完成,可以设置加载的swf文件开始播放的帧数
target.gotoAndPlay
(2);
}
target._width=400//设置加载的影片的大小及其位置等相关属性
target._height=350
target._x=25
target._y=50
}
mcl.addListener(listener);//注册一个新的监听对象
mcl.loadClip("***.swf",1)//使用自定义的对象,加载swf文件
4、设为首页
on(release){
getURL("void(document.links.style.behavior='url(#default#homepage)');voiddocument.links.setHomePage('"POST");
}
注意要将网页中的flash的ID号命名为"links"
加入收藏夹
on(release){
getURL("voidwindow.external.AddFavorite('','网页');","_self","POST");
}
5、如何随机设置MC颜色?
方法1、MC实例名为"mc"
mycolor=newColor("mc")
mycolor.setRGB(random(0xffffff))
方法2、MC实例名为"mc"
mycolor=newColor("mc")[
mycolor.setRGB(random(16777215))
方法3、myColor=newColor(mc);
myColorTransform.=newObject();//用newObject()为
//setTrandform()创建参数并随机取值
myra=random(100);
myrb=random(255);
myga=random(100);
mygb=random(255);
myba=random(100);
mybb=random(255);
myaa=random(100);
myab=random(255);
myColorTransform.={ra:
myra,rb:
myrb,ga:
myga,gb:
mygb,ba:
myba,bb:
mybb,aa:
myaa,ab:
myab};
myColor.setTransform(myColorTransform);
方法4、mycolor=newColor(mc);
mycolor.setRGB(random(255)<<16|random(255)<<8|random(255));
6、关于随机数的技巧
用来产生6--20之间的5个不重复的随机数
1):
首先产生一个随机数,放在数组对象中的第一个位置
2):
产生一个新的随机数
3):
检查新产生的随机数和所有目前已产生的随机数是否相同,若是相同则返回
(2),否则返回(4)
4):
将新的随机数加入数组对象中下一个数组元素内
5):
检查数组对象个数是否已达到5个,若是跳到(6),否则返回
(2)
6):
结束
AS如下:
data1=newArray(5);
tot=1;
data1=[tot-1]=random(20-6+1)+6;
do{
gen_data=random(20-6+1)+6;
reapeat_data=0;
for(i=0,i<=tot-1;i++){
if(gen_data==data
reapeat_data=1;
break;
}
}
if(reapeat_data==0){
tot++
data[tot-1]=reapeat_data;
}
}while(tot<5);
trace(data1);
7、如何禁止右键菜单、缩放、全屏
在第一桢中输入下面命令:
全屏->FSCommand("fullscreen",true)
禁止缩放->FSCommand("allowscale",False)
禁止菜单->FSCommand("showmenu",False)
fscommand的方法还是只能适用于fp,在网页中使用还是必须添加额外的参数
或者用最简单的一句as,在fp和网页中均适用:
Stage.showMenu=false;
8、如何实现双击效果?
把下面的代码放到按钮上:
on(press){
time=getTimer()-down_time;
if(time<300){
trace("ok");
}
down_time=getTimer();
}
这样的话,如果都用比较麻烦,写了一个类来判断
MovieClip.prototype.doubleClick=function(){
this.timer2=getTimer()/1000;
if((this.timer2-this.timer)<0.25){
returntrue;
}else{
this.timer=getTimer()/1000;
returnfalse;
}
};
继承了mc的类,可以重复使用,当然也可以封装为2。
0的类
9、如果要在浏览器中实现全屏效果,只需在html文件中加入以下代码即可:
window.open("*.swf","","fullscreen=1,menubar=no,width=800,height=600")
其中*.swf为要调用的FLASH文件,记住要将该文件放在html文件的同一路径下面。
要退出全屏状态需按ALT+F4或退出。
如果在swf文件中,添加关闭按钮,使用下面的代码:
on(release){
getURL("opener=null;window.close();");
}
10、用AS怎么把影片倒放
functionprev(target){
target.gotoAndStop(target._totalframes);
target.onEnterFrame.=function(){[
if(this._currentframe>1){
this.gotoAndStop(this._currentframe-1);
}else{
deletethis.onEnterFrame;
}
};
}
prev(_root.mc);//指定要倒退播放的MCinstancename就可以了
11、声音相关
之前为MYSOUND链接一个属性
1:
mysound=newSound();//(注释)mysound是一个变量名,newSound是一个构造函数,表示mysound是一个Sound对象。
以后可以通过mysound来调用Sound方法}*HK[
2:
mysound.attachSound("name");这里的NAME就是你之前在标识符里写的东西了,对应好了就OK!
3:
mysound.setVolume(50);这个是控制声音播放时的声音大小,取值在0到100,意义大家都知道吧,不会有人认为0是最大声吧~
4:
mysound.start(0.01);这个语句是表示开始播放声音,()里的参数表示声音开始的位置,单位为秒,再来就是循环几次~比如mysound.start(30,2);//声音从30秒处开始循环2次。
12、倒计时
首先新建文件以后,在主场景中分别用文字工具建立三个动态文本框,变量名字分别是:
leftmin,leftsec,leftmilli,也就是分别来显示计时的分钟、秒数和毫秒数。
然后新建一层,在第一桢写上如下代码即可:
(已经做了详细解释,相信大部分朋友能够理解这些代码的意思)
onLoad=function(){//当场景加载以后执行
totalmin=40;
totalsec=60;
totalmilli=100;
//初始化一些变量,在后面的计算中要用到这些变量
}
nEnterFrame.=function(){//逐桢执行动作"
currentsec=Math.round(getTimer()/1000);
//求出当前影片已经播放的秒数(取整)
currentmilli=Math.round(getTimer()/10);
//求出当前影片已经播放的毫秒数(取整)
leftsec=totalsec-currentsec;~
//剩余的秒数等于总的秒数减去已经播放的秒数
leftmin=totalmin;^
//开始分钟数等于总的分钟数,开始是不变的
leftmilli=totalmilli-currentmilli;
//剩余的毫秒数等于总的毫秒数减去已经播放的毫秒数
if(leftsec<10){leftsec="0"+leftsec}
if(leftmin<10){leftmin="0"+leftmin}
if(leftmilli<10){leftmilli="0"+leftmilli}
//以上三句是当分钟数、秒数、毫秒数小于10的时候,前面加上一个“0”。
if(leftmilli<=1){totalmilli+=100;});
//当计时剩下的毫秒小于1的时候,总秒数再加100,以便下一次重新计时(这里注意得到的影片播放的毫秒数是一直增加的)
if(leftsec==0){//当剩余的秒数等于0的时候
totalsec+=60;//类似上面的解释,总秒数加60
totalmin-=1;//这时候相当于过了60秒,所以分钟数要减1
if(leftmin==0){//当分钟数等于0的时候,计时结束
leftsec="00";,
leftmin="00";
leftmilli="00";
//将三个计时框都附值为0
deleteonEnterFrame;//删除这个逐桢动作,以节省资源
};
}
}
13、键盘控制上下左右
怎样用键盘中的上下左右控制动画!
onClipEvent(load){
speed=5;//当MC载入时,设置速度为5,也就是说每按一下方向键,就移动5象素
}
onClipEvent(enterFrame){
if(Key.isDown(Key.LEFT)){
this._x-=speed;//当←被按下时,自身的X位置不断减speed,X轴坐标不断减小,也就是不断向左移动
}
if(Key.isDown(Key.RIGHT)){
this._x+=speed;//当→被按下时,自身X位置不断加speed,X轴坐标不断增加,也就是不断向右移动
}
if(Key.isDown(Key.UP)){
this._y-=speed;//当↑被按下时,自身的Y位置不断减speed,Y轴坐标不断减小,也就是不断向上移动
}
if(Key.isDown(Key.DOWN)){
this._y+=speed;//当↓被按下时,自身的Y位置不断加speed,Y轴坐标不断增加,也就是不断向下移动
}
}
onEnterFrame.=function(){
if(Key.isDown(Key.LEFT)){
mc._x-=20;
}
if(Key.isDown(Key.RIGHT)){
mc._x+=20;
}
if(Key.isDown(Key.UP)){
mc._y-=20;
}
if(Key.isDown(Key.DOWN)){
mc._y+=20;
}
if(mc._x<0){
mc._x=0;
}
if(mc._x>550-mc._width){
mc._x=550-mc._width;
}
if(mc._y<0){
mc._y=0;
}
if(mc._y>400-mc._height){
mc._y=400-mc._height;
}
}
14、随机调用外部图片
用9个图片为例子,这个也可以使用loadmovie调用
num=Math.round(9*Math.random()+1)
//设置随即数字(1-9)
_root.createEmptyMovieClip("pic",1);
//创建一个空的PICMC用来装载外面载入的图片
_root.pic._x=200;
_root.pic._y=200;
//简单设置一下MC的位置
_root.pic.loadMovie(num+".jpg",1);
//随即载入外面的图片
15、暂停
可以把要暂停的地方,帧数放长啊
或者在当前帧写
stop();
functionpause(){
clearInterval(pauseInterval);
play();
pauseInerval=setInterval(pause,1000);//1000是1秒
16、怎样改变某一影片剪辑的播放速度
functiongo(obj){
with(obj){
nextFrame();
if(_currentframe.==_totalframes){
gotoAndStop
(1);
}
}
)
go(mc);
setInterval(go,100,mc);
17、怎样调用.chm文件
getURL(mk:
@MSITStore:
F:
\...\xxx.chm:
:
/index.htm)
18、随机生成一个有30个数字的数组,这30个数字随机在1~500之间取,且不能重复,而且要乱序的。
tmp=newArray();
k=newArray();
for(i=0;i<=499;i++){
tmp=i+1;
}
for(