软件发布

手机版,更便捷!

下载排行榜首页软件下载安卓下载资讯教程推荐专题装机必备
当前位置:文章资讯 > 平面设计 >

鼠控3D旋转怎么制作?Flash Action教你轻松搞定

时间:2016-12-22 浏览次数: 编辑:9upk



确认刚才绘制的圆在选择状态,将其的填充色也改成熟褐色,并按下F8,将其转换成名为hexahedron-vert的MC,实体名:vert 。
4、创建拖动控制按钮:
新增一个图层,并将其重命名为:crtl_drag,用椭圆工具在场景中绘制一个直径约12像素的正圆,按F8将其转换成MC,并为其取个实体名:drag_ctrl。双击我们创建的crtl_drag,或在其上单击鼠标右,从弹出的菜单中选择 Edit in place,再次按F8将其转换成buttom(按钮),再次双击,让按钮处于编辑状态,按F6,在hit处插入关键帧, 选择关键帧“Up”,在场景中选择正圆,将其从场景中删去。
ok,所有的元件创键完成,如果你的操作没有错误的话,打开library,各元件 对应的名称应如图6所示,当然,你也可对元件进行美化,就看你的创意了。只实体名与AS中的一致,就可以了。
 




图6

二、让元件动起来
1、在图层wire、vert、drag_ctrl的第三帧处分别按F5插入空帧。
2、新增一个名为action的层。在取第一帧,按F9打开action面板,按ctrl+shift+E切换到专家模式,输下以下AS:

max=12;
maxwire=30;
fov=180;
rotx=0;
roty=0;
// 设置含数与余弦
cs = new Array(360);
sn = new Array(360);
for (i=-180; i<=180; i++) {
cs[i+180]=Math.cos(i*Math.PI/180);
sn[i+180]=Math.sin(i*Math.PI/180);
}
// 线框阵列wire._visible=false;
w = new Array(maxwire);
for (n=1; n<=maxwire; n++) {
wire.duplicateMovieClip("w" add n, n);
w[n]=Eval("w" add n);
}
w[1].p1=1; w[1].p2=2;
w[2].p1=2; w[2].p2=3;
w[3].p1=1; w[3].p2=3;
w[4].p1=1; w[4].p2=4;
w[5].p1=3; w[5].p2=4;
w[6].p1=1; w[6].p2=5;
w[7].p1=4; w[7].p2=5;
w[8].p1=1; w[8].p2=6;
w[9].p1=5; w[9].p2=6;
w[10].p1=2; w[10].p2=6;
w[11].p1=2; w[11].p2=11;
w[12].p1=11; w[12].p2=7;
w[13].p1=2; w[13].p2=7;
w[14].p1=3; w[14].p2=7;
w[15].p1=7; w[15].p2=8;
w[16].p1=3; w[16].p2=8;
w[17].p1=4; w[17].p2=8;
w[18].p1=4; w[18].p2=9;
w[19].p1=8; w[19].p2=9;
w[20].p1=5; w[20].p2=9;
w[21].p1=5; w[21].p2=10;
w[22].p1=9; w[22].p2=10;
w[23].p1=6; w[23].p2=10;
w[24].p1=6; w[24].p2=11;
w[25].p1=10; w[25].p2=11;
w[26].p1=12; w[26].p2=8;
w[27].p1=12; w[27].p2=7;
w[28].p1=12; w[28].p2=9;
w[29].p1=12; w[29].p2=10;
w[30].p1=12; w[30].p2=11;
// 节点阵列
vert._visible=false;
v = new Array(max);
sv = new Array(max);
for (n=1; n<=max; n++) {
vert.duplicateMovieClip("v" add n, n+maxwire)
v[n]=Eval("v" add n);
}
v[1].px=0;
v[1].py=0.4819;
v[1].pz=50;
v[2].px=44.7214;
v[2].py=0.4819;
v[2].pz=22.3607;
v[3].px=13.8197;
v[3].py=43.0145;
v[3].pz=22.3607;
v[4].px=-36.1803;
v[4].py=26.7685;
v[4].pz=22.3607;
v[5].px=-36.1803;
v[5].py=-25.8046;
v[5].pz=22.3607;
v[6].px=13.8197;
v[6].py=-42.0506;
v[6].pz=22.3607;
v[7].px=36.1803;
v[7].py=26.7685;
v[7].pz=-22.3607;
v[8].px=-13.8197;
v[8].py=43.0145;
v[8].pz=-22.3607;
v[9].px=-44.7214;
v[9].py=0.4819;
v[9].pz=-22.3607;
v[10].px=-13.8197;
v[10].py=-42.0506;
v[10].pz=-22.3607;
v[11].px=36.1804;
v[11].py=-25.8046;
v[11].pz=-22.3607;
v[12].px=0;
v[12].py=0.4819;
v[12].pz=-50;
drag_ctrl.startDrag(true);
//指定拖动控制对象,即MC:drag_ctrl
按F6,在第二帧插入一个关键帧,并输入以下As:
for (n=1; n<=max; n++) {
// 设置X轴的旋转
tz=v[n].pz;
ty=v[n].py;
rotx2=int(rotx)+180;
v[n].pz=tz*cs[rotx2]-ty*sn[rotx2];
v[n].py=ty*cs[rotx2]+tz*sn[rotx2];
//设置Y轴的旋转
tx=v[n].px;
tz=v[n].pz;
roty2=int(roty)+180;
v[n].px=tx*cs[roty2]-tz*sn[roty2];
v[n].pz=tz*cs[roty2]+tx*sn[roty2];
// 对节点的拖动设置
with (v[n]) {
k=_root.fov/(_root.fov-pz);
_x=250+px*k;//设定X轴上的位置
_y=150-py*k;//设定y轴上的位置
_xscale=100*k;//设定节点在X轴上的百分比(即大小)
_yscale=100*k;//设定节点在Y轴上的百分比(即大小)
_alpha=200*k-150;
}
}
for (n=1; n<=maxwire; n++) {
// 对线框的拖动设置
w[n]._x=v[w[n].p1]._x;
w[n]._y=v[w[n].p1]._y;
w[n]._xscale=v[w[n].p2]._x-v[w[n].p1]._x;
w[n]._yscale=v[w[n].p2]._y-v[w[n].p1]._y;
w[n]._alpha=(v[w[n].p1]._alpha+v[w[n].p2]._alpha)/2;

}
if (pr) {
rotx=(oldy-_ymouse)/2;
roty=(oldx-_xmouse)/2;
} else
{
rotx*=0.95;
roty*=0.95;
}
oldx=_xmouse;
oldy=_ymouse;

最后,再在第三帧插入一个关键帧,并加上如下AS:
gotoAndPlay (2);
以上操作完正确的话,你的图层与时间线应如图7所示:
 




图7

到此为止,一个由鼠标控制的3D旋转效果就制作完成了,所以说,利用Flash可以制作出许多复杂效果,只有你想不到的,没有你做不到的(出处:http://www.vipcn.com)

 

标签: 鼠控

上一篇:步入魔域 Flash光特效制作综合分析教程下一篇:怎么用Flash制作Winamp光谱柱?用Flash

相关文章

最新评论

本类排行榜

图文专题

  • 类地下城割草手游推荐
  • 种菜小游戏
  • 单机打鱼游戏
  • 好玩的放置修仙手游