将实例11命名为“moptr”,在其Action面板上面增加如下语句:
onClipEvent (load) {
change="optR";
base=-1;
top=1;
label="R";
}
注意制作过程第10步和第11步,用到的Clip都是制作过程第3步和第4步中所制作的,通过传入的参数不同而实现不同的操作,这种实现方法很值得学习。
12、从图库中拖一个Clip“img selector”到场景中放好,并在其Action面板上面增加如下语句:
onClipEvent (load) {
me="img1";
label="image 1";
}
13、从图库中拖一个Clip“slice holder”到场景中放好,将其命名为“holder”,并在其Action面板上面增加如下语句:
onClipEvent (enterFrame) { //注释1
_level0.render(); //注释2
}
onClipEvent (keyDown) { //注释3
if (Key.getCode() eq"32") { //注释4
_level0.readPre();
}
}
注释1:这个函数相当于是整个影片的引擎,影片会不断地调用这个函数。
注释2:调用主场景的帧中所定义的函数,不断地渲染。
注释3:响应按键。
注释4:32所对应的是空格键。
14、点击主场景中时间轴的第一帧,在它的Action面板上面增加如下语句:
fscommand ("allowscale", false); //注释1
_quality = "low"; //注释2
pre0=[0,0,0,0,0,0,0,0,0,0,0]; //注释3
pre1=[-0.154645,0,12.475,0.005125,0,0,0,1,0,0,0];
pre2=[-0.04396,0,89.775,0.0009,-1.9,0,0.001,0,0,0,1]
pre3=[-1.97977,0,100,0.0409,0,90,0.001,0,0,1,0.008]
pre4=[-0.124815,0,100,0.00057,0,-90.54,-0.8255,-1,0.254,0.266,-0.0129]
pre5=[-0.069865,0,100,-0.00175,0,0,0.188,1,0,1,1]
pre6=[-0.0314,0,100,0.0017,0,0,0,0.0355,0,1,0]
pre7=[-1.088795,0,12.475,0.005125,0.06459,-90,0,1,0,0,0]
pre8=[-1.256,0,100,0.003975,0,0,1,1,1,1,1]
pre9=[-0.1256,-5.88,100,0,-1.9,0,0.3825,0.163,0,0,-0.152]
pre10=[-0.1256,0,100,0.003975,-1.9,0,-1,0.6865,0,-0.733,1]
pre11=[-0.035325,0,40.875,-0.005125,0,0,-0.951,0.3265,-0.209,-1,1]
pre12=[-0.05338,0,100,0.00235,0,0,0,0,0,0,1]
pre13=[-2.355,0,18.225,0.0108,0,0,0,1,0,1,0]
pre14=[-3.14,0,100,0.00345,0,0,-0.8475,1,0,-0.385,0]
pre15=[-0.59974,0,5.625,0.02555,0,0,0,0.058,0,1,0]
pre16=[-1.14296,0,12.475,-0.00455,0,-180,0,1,0,-1,0]
pre17=[-0.5338,0,100,0.00285,0,0,-0.1185,1,-1,-1,0]
pre18=[-0.303795,0,100,0,1.9,0,-0.0795,0.2795,0,0.164,0.768]
function setUp (type) { //注释4
var myStage=_level0.holder; //注释5
for (i=1; i<51; i++) { //注释6
myStage.attachMovie("pic", "p_"+i, i);
pic = myStage["p_"+i];
pic.type=type;
pic._x = (i*2.9)-(25*2.9); //注释7
nangle += waveLength;
angle = sangle+nangle;
scale = dist*Math.sin(angle);
pic._yscale = 100-scale;
}
}
function render () { //注释8
var nangle;
var myStage=_level0.holder;
myStage._rotation=_level0.rotate; //注释9
for (i=1; i<51; i++) {
pic = myStage["p_"+i];
nangle += _level0.waveLength;
_level0.sangle+=_level0.drift;
var angle = _level0.sangle+nangle;
var scale = _level0.dist*Math.sin(angle);
pic._x = ((i*2.9)-(25*2.9))-(scale*optX); //注释10
pic._y = scale*optY;
pic._xscale = 100+(scale*optXS);
pic._yscale = 100-(scale*optYS);
pic._rotation = (scale*optR);
if (int(_level0.picDrift) == 0) { //注释11
myFrame=i;
} else {
pic.frame-=int(_level0.picDrift);
myframe=pic.frame;
if (myframe<1) {
myframe=50;
} else if (myframe > 50) {
myframe=1;
}
pic.frame=myframe;
}
pic.gotoAndStop(myframe);
}
}
function preset (choice) { //注释12
_level0.waveLength = choice[0];
_level0.mwaveLength.reset();
_level0.sangle=choice[1];
_level0.msangle.reset();
_level0.dist=choice[2];
_level0.mdist.reset();
_level0.drift=choice[3];
_level0.mdrift.reset();
_level0.picDrift=choice[4];
_level0.mpicDrift.reset();
_level0.rotate=choice[5];
_level0.mrotate.reset();
_level0.optX=choice[6];
_level0.moptX.reset();
_level0.optY=choice[7];
_level0.moptY.reset();
_level0.optXs=choice[8];
_level0.moptXs.reset();
_level0.optYs=choice[9];
_level0.moptYs.reset();
_level0.optR=choice[10];
_level0.moptR.reset();
}
function readPre () { //注释13
var choice=new Array()
choice.push(_level0.waveLength);
choice.push(_level0.sangle);
choice.push(_level0.dist);
choice.push(_level0.drift);
choice.push(_level0.picDrift);
choice.push(_level0.rotate);
choice.push(_level0.optX);
choice.push(_level0.optY);
choice.push(_level0.optXs);
choice.push(_level0.optYs);
choice.push(_level0.optR);
trace(choice);
}
preset(_level0.pre0); //注释14
setUp("img1"); //注释15
保留:: http://www.qqread.com/flash/p240750002.html
更多内容请看Photoshop精彩特效大全专题,或进入讨论组讨论。
相关专题
- Photoshop精彩特效大全 (6870篇文章)
- AI制作简单的温馨卡片二例 (135次浏览)
- Flash教程:简单光晕效果的制作 (133次浏览)
- Flash教程:教你制作梦幻仙境效果 (98次浏览)
- Flash教程 怎样阅读swf格式的教程 (34次浏览)
- AS3.0的类及绑定 (0次浏览)
- AS3 中的反射 (0次浏览)
- AS3 技巧和提示 (0次浏览)
- 利用引导线制作动态爱心两例 (0次浏览)
- Flash教程:AS下雨动画效果的制作 (0次浏览)
- Flash AS代码常用调试语句trace()的使用 (0次浏览)



