Flash与3D编程探秘(一)- Flash与3D空间
2008-11-12 11:51:18 来源:WEB开发网5. 下面这个函数,在每一次执行,都会把小球移动到相应的位置,并且对小球进行缩放。当小球的z大于600时,我们让它向相反的方向移动。当小球的z_3d值变化后,我们计算小球当前的大小和位置,把小球移动到相应的位置然后对其进行缩放,这样在一连串的函数执行后,我们就会得到动画效果。代码里scale代表物体应该缩放的比率,因为当物体沿z轴移动的时候,物体的大小以及x和y值都会改变。所以我们要计算出这个比率,那么我们才能把物体缩放到合适的大小并且把物体移动到相应的Flash 2D空间位置。
functionrun(e:Event)
{
for(vari=0;i<scene.numChildren;i++)
{
scene.getChildAt(i).z_3d+=scene.getChildAt(i).speed*scene.getChildAt(i).direction;
if(scene.getChildAt(i).z_3d>600)
{
scene.getChildAt(i).z_3d=600;
scene.getChildAt(i).direction=-1;
}
elseif(scene.getChildAt(i).z_3d<0)
{
scene.getChildAt(i).z_3d=0;
scene.getChildAt(i).direction=1;
}
varscale=focal_length/(focal_length+scene.getChildAt(i).z_3d);
scene.getChildAt(i).x=scene.getChildAt(i).x_3d*scale;
scene.getChildAt(i).y=scene.getChildAt(i).y_3d*scale;
scene.getChildAt(i).scaleX=scene.getChildAt(i).scaleY=scale;
}
}
6. 最后,在舞台上添加一个函数循环响应时间。让第5步我们写的函数循环执行。发布看一下,现在小球在3D舞台上移动了。
- ››FLASH不等于运算符!=的使用实例
- ››FLASH不全等运算符!==
- ››FLASH字符串分隔符运算符
- ››FLASH% 模运算符
- ››Flash+、++、+= 加法运算符
- ››Flash, 逗号运算符
- ››flash中的-、--、-=减法运算符
- ››Flash的-Infinity 常数、.点运算符、/ 除法运算符...
- ››Flash两种注释方法/*..*/ 和// 注释行分隔符运算符...
- ››Flash的/=除法赋值运算符、=赋值运算符、== 等于运...
- ››Flash之?: 条件运算符、^ 按位 XOR 运算符、^= 按...
- ››Flash的_framesloaded代码示例
更多精彩
赞助商链接