Flash常用源代码大全

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值