Flash小技巧
- 格式:doc
- 大小:95.50 KB
- 文档页数:57
.....................最新资料整理推荐.....................
1 FLASH小技巧,
动态修改影片的帧频
在AS3中,你可以使用Stage类动态的修改影片的帧频。Stage类(flash.display.Stage)的stage对象是所有的sprite和MovieClip以及其他在安全沙箱里的所有元件的舞台。stage对象的帧频可以是0.01到1000之间的任何一个数。要修改帧频,使用下面的代码:
// 将帧频修改到12帧每秒(FPS)
stage.frameRate = 12;
FLASH无手指按钮的制作
只需要在第一帧加上:
eHandCursor=0
buttonname是你按钮的实例名(不是库里面的名字,属性面板里面的实例名)
几个需要掌握的AS
1、var a = Math.abs(-7); // 求绝对值(这里是求-7的)
2、function myFunction(myNum) { .....................最新资料整理推荐.....................
2 var newNum = myNum+5;
return newNum;
}
trace(myFunction(8));
//定义 调用并输出函数值
3、多数情况下,需要用到鼠标光标在主场景中的位置,所以可以使用_root._xmouse和_root._ymouse表示。
onClipEvent (enterFrame) {
_x = _root._xmouse;
_y = _root._ymouse;
}//让影片剪辑和鼠标保持相同坐标
4、将矩形影片剪辑作为遮罩图形
在矩形影片剪辑的动作面板中添加如下ActionScript:
onClipEvent (load) {
xs = _width;
ys = _height;
}
onClipEvent (enterFrame) {
_xscale = 100*(_root._xmouse-_x)/(xs/2);
_yscale = 100*(_root._ymouse-_y)/(ys/2); .....................最新资料整理推荐.....................
3 }
在load事件中,用变量xs和ys取得影片剪辑初始状态下的宽度和高度值。在enterFrame事件中,计算鼠标位置与矩形影片剪辑中心
的距离,算出它与矩形宽度和高度值的比值,然后作为_xscale和_yscale的值。该动画实现移动鼠标位置以改变遮罩效果
5、Array对象(动作面板的“对象”/“核心”目录)即数组,它用来记录成组的相关或相似变量。创建一个空的数组:
myArray = new Array();
如下所示的ActionScript创建一个确定值的数组并在输出窗口中显示每个元素的值:
weekDay = new Array("SUN", "MON", "TUE", "WED", "TUR", "FRI",
"SAT");
for (var i = 0; i<7; i++) {
trace(weekDay);
}
数组中还可以嵌套数组,即构成多维数组,如下所示:
polyArray = new Array();
for (var i = 0; i<3; i++) {
polyArray = new Array(i*3+1, i*3+2, i*3+3, i*3+4);
trace(polyArray[0]+" "+polyArray[1]+" "+polyArray[2]+" .....................最新资料整理推荐.....................
4 "+polyArray[3]);
}
输出窗口中将显示:
1 2 3 4
4 5 6 7
7 8 9 10
--------------------------------------------------------------------------------
判断本机Flash播放器版本并进行下载
ss=System.capabilities.version;
if(substring(ss,5,1)<>"7"){getURL("/cn";,_blank);}//'"
target="_blank" >/cn",_blank);}//那个7就是版本号
用奇偶判断来做一个按钮的声音开关
第一帧加入(第一帧空帧):
t=0 //给t赋初值 .....................最新资料整理推荐.....................
5
第二帧加入:
stop(); //停止在第二帧
ms=new Sound //新建一个声音对象ms
ms.attachSound("sound") //空声音对象从库中调用连接名为sound的声音
ms.start() //ms开始播放
ms.onSoundComplete=function () { //当ms这个声音播放完后执行以下AS
ms.start //重复播放ms
}
第二帧上面的控制按钮加入
on (release) { //当鼠标松开的时候执行下面AS
t=t+1 //t的值等于本身的值加1
if (t%2==1) { //如果T取摸2等于1
ms.stop() //则ms停止播放
b=ms.position/1000 //b的值等于现在ms声音停止的位置
} else { //否则
ms.start(b) //ms从刚刚停止的地方(b)开始播放
}
} .....................最新资料整理推荐.....................
6
实现倒放(可以自行联想作出许多不间断缩放效果,如动态按钮等,曾经我写过一篇这样的教程):
给放在场景中比如有40桢的MC添加如下语句
onClipEvnt(load){
gotoAndStop(40);//影片载入时就跳转到40桢并停止
}
onClipEvent(enterFrame){
prevFrame();//不断的播放前一桢,
}
--------------------------------------------------------------------------------
一些简单的AS和一些程序思路,掌握最好:
1.复制MC并随机设定子MC的相关属性:
duplicateMovieClip("mc","mc"+i,10+i); .....................最新资料整理推荐.....................
7 setProperty("mc"+i,_x,random(400) );//x坐标
setProperty("mc"+i,_y,random(300) );//y坐标
setProperty("mc"+i,_alpha,random(100) );//透明度属性
i++;
if(i>200){//设定复制的个数;
i=1;
}
--------------------------------------------------------------------------------
2.文字的逐个出现(打字效果)
Frame1: text="引号内是要出现的字";
ll = text.length;// 表示text文本的字符数;
i = 1;//用于控制输出的变量;
Frame4:
if (i
text1 = text.substring(0,i);//从第0个字符开始抽取显示,抽取长度为i;
i++;
} .....................最新资料整理推荐.....................
8 Frame5:
gotoAndPlay(4);
--------------------------------------------------------------------------------
3.冒泡法排序:
for(i;i
for(j=n;j<=i+1;j--){//内层循环;
if(a[j]
temp=a[j];
a[j]=a[j-1];
a[j-1]=temp;//交换位置;
}
--------------------------------------------------------------------------------
4.插入法排序(算法复杂性比冒泡法要小):
for(i=2;i<=n;i++){
j=i; .....................最新资料整理推荐.....................
9 if(a[j]
temp=a[j];
a[j]=a[j-1];
a[j-1]=temp;
j--; }
}
--------------------------------------------------------------------------------
5.一个按钮控制声音的播放与停止:
on(release)
{a=a+1;
if(a%2==1){//奇偶判断;
mysound.stop();
_root.b=int(ji.position/1000);//记录下停止时播放的位置;
}
else{ mysound.start(_root.b);//从上一次停止的位置开始继续播放;
}
}