flash 常用函数.docx
- 文档编号:24051093
- 上传时间:2023-05-23
- 格式:DOCX
- 页数:12
- 大小:21.23KB
flash 常用函数.docx
《flash 常用函数.docx》由会员分享,可在线阅读,更多相关《flash 常用函数.docx(12页珍藏版)》请在冰豆网上搜索。
flash常用函数
flash常用函数
一、影片控制函数
1)gotoandPlay()跳转某一帧播放
2)gotoandStop()跳转某一帧停止
3)nextframe转到下一帧如on(press){nextframe();}
4)prevframe转到上一帧如on(press){prevframe();}
5)play开始向后播放影片如on(press){play();}
6)stop停止当前播放位置如on(press){stop();}
7)nextscene转到下一个场景如on(press){nextscene();}
8)prevscene转到上一个场景如on(press){prevscene();}
9)stopallsounds停止所有声音如on(press){stopallsounds();}
二.浏览器/网络
1)fscommand("fullscreen","true");全屏显示可以加在第一帧中,也可以加在按加中.
如加在按钮中则为on(press){fscommand("fullscreen","true");}
fscommand("quit");退出
如果加在帧中程序为fscommand("quit");意为当播放此帧自动退出.
若加在铵钮中则为on(release){fscommand("quit");}意为当单击时退出.
2)getURL定位地址
可以对文件加,也可以对按钮加.
对文本加:
选中整个文本或单个文字,在文本属性栏的链接加地址如:
对按钮加:
选中按钮,点动作,双击getURL
结果为:
on(press){geturl("","_blank");}//blank以新的窗口打开
3)loadmovie从外部直加载影片,可以对按钮加,也可以对帧加
按钮加如:
on(press){loadmovienum("a.swf","1");}
给帧加:
loadmovienum("a.swt","1");
FLASH动作脚本代码集锦
1、简单loading代码:
方法1、使用载入字节数判断
b=getBytesTotal();//获取总的字节数
a=getBytesLoaded();//已经下载的字节数
onEnterFrame=function(){//进入帧时,进行判断
if(a==b){//如果载入的字节数等于总的字节数
deletethis.onEnterFrame//删除进入帧
gotoAndPlay("frame");//转入到你要播放的帧
]else{//否则
a=getBytesLoaded();//已经下载的字节数
percent=int(a/b*100)+"%";//计算已经下载的百分比
]
}
把上面方法放入第一帧就可以了
方法2、使用载入的帧数判断_
用Action语法地ifframeisloaded来实现,新建一层,这层专门放Action,
第一帧,
ifFrameLoaded("场景",frame){//假如场景中地祯数已经载入
gotoandplay()//跳至并播放某某祯(自己设定)
}
第二帧,O*Np@Q
gotoandplay("场景1",1)//跳至并播放第一祯循环
再加上一个load地MC循环播放在这两帧的中间,就OK了。
2、用flash做那种弹出的小窗口
分两步:
给flash中的按钮加入如下action:
on(release){idd{
getURL("javascript:
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("javascript:
void(document.links.style.behavior='url(#default#homepage)');
voiddocument.links.setHomePage('"POST");
}
注意要将网页中的flash的ID号命名为"links"
加入收藏夹
on(release){
getURL("javascript:
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文件中加入以下代码即可:
javascript:
window.open("*.swf","","fullscreen=1,menubar=no,width=800,height=600")
其中*.swf为要调用的FLASH文件,记住要将该文件放在html文件的同一路径下面。
要退出全屏状态需按ALT+F4或退出。
如果在swf文件中,添加关闭按钮,使用下面的代码:
on(release){
getURL("javascript:
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;
//初始化一些变量,在后面的计算中要用到这些变量
}
onEnterFrame=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(i=0;i<=29;i++){
k=tmp.splice(random(tmp.length-1),1);
}
trace(k);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- flash 常用函数 常用 函数
![提示](https://static.bdocx.com/images/bang_tan.gif)