|
首页 | 名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
本教程来自于《Flash MX 2004 游戏开发》(加拿大,Glen Rhodes,电子工业出版社)。 预备:以下三个实例的元件相同,只是代码不同,元件在库中,40×40像素的球体,链接名为:sphere 代码处的解释部分用红色字体表示 A.静态的三维绳制作 效果如下:
过程: 预备好元件,在主场景中第1帧输入代码: d =800; ang = 0; for (var i = 0; i<1250; i++) { 接下来我们创建了1250个小球的MC,实例名分别为:sphere0,sphere1,sphere2,...等等。我们将这些MC添加到_root上,然后将它们深度级别定义为i,小球的深度稍后将会根据它们的Z值进行修改,以正确地反映它们的层次。 接下来: //接下来我们设置小球的比例,使得远的小球显得小些。 //最后 : 假如我们禁用swapDepths函数,就会得到如下:
B.移动的球形绳 效果:
预备同A, 第1帧代码: d = 1000;
把代码最后的:this.y-=3,改成this.x-=3;this.z-=3;试一下。 C.移动视点 到此为止,我们已经讨论了移动对象本身,现在让我们看一下怎样才能移动整个视图以使得用户的透视图看起来在运动,并且对象保持固定,而不是用户保持固定而对象在移动. 元件:一个40*40的球形,链接名:sphere 在主场景第一帧代码如下: //xoff,yoff,zoff用来确定我们观察者所处的位置. xoff=0; yoff=0; zoff=0; d=1000; centerX=275; centerY=200; ang=0; function project() { if((this.z-zoff)<40) { this._visible=false; } else { this._visible=true; var zfactor=d/(this.z-zoff); this._x=(this.x-xoff)*zfactor+centerX;//在上一个效果中公式中少了一个xoff,因为现在的球位置都是相对于观察者的. this._y=(this.y-yoff)*zfactor+centerY; this._xscale=100*zfactor; this._yscale=100*zfactor; this.swapDepths(Math.floor(100000-(this.z-zoff)));//让近的球摆在上面. } } //接下来用于生成小球.... for(var i=0;i<40;i++) { var nm="sphere"+i; _root.attachMovie("sphere",nm,i); _root[nm].x=Math.cos(ang)*200; ang+=0.2; _root[nm].y=100+Math.cos(i/3)*100; _root[nm].z=(i*50)+d; _root[nm].project=project; _root[nm].onEnterFrame=project; } //建一个侦听器,侦听鼠标的活动. mouseListener=new Object(); mouseListener.onMouseWheel=function(diff) { zoff+=(diff*50) } mouseListener.onMouseMove=function() { xoff=_xmouse-centerX; yoff=_ymouse-centerY; } Mouse.addListener(mouseListener); 返回类别: Flash教程 上一教程: Flash MX的坐标系统简介 下一教程: FLASH条件和循环语句 您可以阅读与"从球形绳的制作学习简朴三维"相关的教程: · 百叶窗效果动画,Flash无AS的制作方式 · 简朴的人物透视效果的制作 · 流行手法??水纹banner的制作 · 浅谈动画背景的制作 · 动态MC按钮的制作教程 |
快精灵印艺坊 版权所有 | 首页会员中心在线印刷在线编辑付款方式索取样品设计指南连锁门店 |