example:
新建一个flash文档,F9动作输入
getURL ('http://www.2ey.cn');
导出flash,就做好了一个简单的直接跳转到www.2ey.cn的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 定位地址?
可以对文件加,也可以对按钮加.?
对文本加:选中整个文本或单个文字,在文本属性栏的链接加地址如:http://www.2ey.cn
对按钮加:选中按钮,点动作,双击geturl 结果为: on(press){geturl(http://www.dns-w.cn,"_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) {// 如果载入的字节数等于总的字节数?
delete this.onEnterFrame// 删除进入帧?
gotoAndPlay("frame");// 转入到你要播放的帧?
] else {// 否则?
a=getBytesLoaded();// 已经下载的字节数?
percent=int(a/b*100)+"%";// 计算已经下载的百分比?
]?
}?
把上面方法放入第一帧就可以了?
方法 2 、使用载入的帧数判断_?
用 Action 语法地 if frame is loaded 来实现,新建一层,这层专门放 Action,?
第一帧,?
ifFrameLoaded (" 场景 ",frame) {// 假如场景中地祯数已经载入?
goto and play() // 跳至并播放某某祯 ( 自己设定 )?
}?
第二帧,?O*Np@Q?
goto and play(" 场景 1",1)// 跳至并播放第一祯循环?
再加上一个 load 地 MC 循环播放在这两堍
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 、如何禁止右键菜单、缩放、全屏?
在第一桢中输入下面命令:?
全屏-> FS Command ("fullscreen",true)?
禁止缩放-> FS Command ("allowscale",False)?
禁止菜单-> FS Command ("showmenu",False)?
fscommand 的方法还是只能适用于 fp ,在网页中使用还是必须添加额外的参数?
<PARAM Name="menu" value="false">?
或者用最简单的一句 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) {?
return true;?
} else {?
this.timer = getTimer()/1000;?
return false;?
}?
};?
继承了 mc 的类,可以重复使用,当然也可以封装为 2 。 0 的类?
9 、如果要在浏览器中实现全屏效果,只需在 html 文件中加入以下代码即可:?
<script>?
javascript :window.open("*.swf","","fullscreen=1,menubar=no,width=800,height=600")?
</script>?
其中 *.swf 为要调用的 FLASH 文件,记住要将该文件放在 html 文件的同一路径下面。要退出全屏状态需按 ALT + F4 或退出。?
如果在 swf 文件中,添加关闭按钮,使用下面的代码:?
on(release) {?
getURL("javascript :opener=null;window.close();");?
}?
10 、用 AS 怎么把影片倒放?
function prev(target) {?
target.gotoAndStop(target._totalframes);?
target.onEnterFrame = function() { [?
if (this._currentframe>1) {?
this.gotoAndStop(this._currentframe-1);?
} else {?
delete this.onEnterFrame;?
}?
};?
}?
prev(_root.mc); // 指定要倒退播放的 MC instance name 就可以了?
11 、声音相关?
之前为 MYSOUND 链接一个属性?
1 : mysound=new Sound();// (注释) mysound 是一个变量名, new Sound 是一个构造函数,表示 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?
delete onEnterFrame;// 删除这个逐桢动作,以节省资源?
};?
}?
}?
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);?
// 创建一个空的 PIC MC 用来装载外面载入的图片?
_root.pic._x = 200;?
_root.pic._y = 200;?
// 简单设置一下 MC 的位置?
_root.pic.loadMovie(num+".jpg",1);?
// 随即载入外面的图片?
15 、暂停?
可以把要暂停的地方,帧数放长啊?
或者在当前帧写?
stop();?
function pause(){?
clearInterval(pauseInterval);?
play();?
pauseInerval=setInterval(pause,1000); //1000 是 1 秒?
16 、怎样改变某一影片剪辑的播放速度?
function go(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 = new Array();?
k = new Array();?
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);
转自:http://hi.baidu.com/imghome/blog/item/0053b22fb39733371f3089bf.html