在flash cs4以上版本的3D基础 (as3.0)
来源:互联网 发布:500价位的耳机知乎 编辑:程序博客网 时间:2024/06/06 12:20
又是一阵子没更新了,一直在考虑关于这个3D的问题。
自从CS4版本的FLASH出来过后增加了许多类,诸如现在要介绍的3D类,和之前发的3D基础的思想是一样的。但是我想单独提出来。看完后肯定会觉得是相当有必要的。
(以下就不再重复CS4版本作为环境了)
基本
scale = fl / (fl + zpos);
sprite.scaleX = sprite.scaleY = scale;
sprite.alpha = scale; //
sprite.x = vanishingPointX + xpos * scale;
sprite.y = vanishingPointY + ypos * scale;
Z
//
objectArray.sortOn("zpos", Array.DESCENDING | Array.NUMERIC);
for(var i:uint = 0; i < numObjects; i++) {
}
x1 = cos(angleZ) * xpos - sin(angleZ) * ypos;
y1 = cos(angleZ) * ypos + sin(angleZ) * xpos;
x1 = cos(angleY) * xpos - sin(angleY) * zpos;
z1 = cos(angleY) * zpos + sin(angleY) * xpos;
y1 = cos(angleX) * ypos - sin(angleX) * zpos;
z1 = cos(angleX) * zpos + sin(angleX) * ypos;
dist = Math.sqrt(dx * dx + dy * dy + dz * dz);
看着相当的麻烦吧,是不是觉得如果有个Z柱属性是多么的有必要。现在的确增加了这个属性。
上面所述的
scale = fl / (fl + zpos);
sprite.scaleX = sprite.scaleY = scale;
sprite.alpha = scale; //
其实相当于现在Z,
用法和X,Y一样,比如sprite.z=100;
回顾下坐标表示:
图 15-1
图 15-2
经过测试 这里的Z坐标是用了右手坐标系,也就是向内是+Z,向外是-Z,不算太抽象吧?
用之前转发的透视效果来修改下:
package {
}
这里的ball可以换成其他什么元件都可以。其实就是把Z柱表示那两段替换成了Z,这样省了不少代码量。
之前转发的里面有一个fl的量,这里可以直接看成是z的0点到-z的一段距离。也可以设置成一个常数,习惯上就设置成250,但是是用的右手坐标系所以fl=-250。这个变量任然可以充当一个物体可见的值,小于这个变量的时候物体就不可见了。这样显得更真实些吧。
比如加在上面那段代码上:
private function onEnterFrame(event:Event):void {
}
这样超出屏幕的时候就消失了。
大家可以在Z柱上加上加速度,或者设置个范围作反弹之类的练习看看效果。
在前面十五章里面也有很多例子,可以稍加修改就能把Z利用起来。
而Z柱的排序的问题也可以通过数组来记录,因为有了具体的值更容易控制排序了。
现在不仅增加了Z坐标,更增加了坐标的旋转一属性,帮助下只说了下rotationX,rotationY,
存储此关键帧的 rotationX
属性。此属性是目标对象相对于其原始方向围绕 x 轴的旋转角度。
存储此关键帧的 rotationY
属性。此属性是目标对象相对于其原始方向围绕 y 轴的旋转角度。
其实Z柱也有这个属性rotationZ,用法也和坐标Z是一样的。
例如:sprite.rotationZ=30;
现在暂时想的就这么多了以后有问题再继续补充吧~~
(如果要转载请注明出处http://blog.sina.com.cn/jooi,谢谢)
- 在flash cs4以上版本的3D基础 (as3.0)
- FreeSpin3D – 基于Flash CS4的3D插件
- Flash(AS3) 实现的3D TileFlow
- flash版本的3d标签云图as3代码,已经修改成过.
- flash cs5 as3.0 基础
- Flash AS3.0 制作旋转图片3D效果
- flash cs4的新特性
- Flash 3D 基础
- 关于AS3语言Flash的Stage3D在不同的AGAL版本中寄存器的数量限制
- Flash 3D的一些转换基础
- Flash Player无法在Chrome42及以上版本开启Debug模式的解决办法
- Flash编程基础:As3.0概要
- 转 第十五章 3D 基础 (3)(as3.0)
- 转 第十五章 3D 基础 (1)(as3.0)
- 转 第十五章 3D 基础 (2)(as3.0)
- 在ubuntu 10.04及以上版本为chrome安装flash
- 转 第十七章 背面剔除与flash 3D 灯光 (as3.0)
- Adobe flash cs4的一个序列号
- 转 第十五章 3D 基础 (1)(as3.0)
- 转 第十五章 3D 基础 (2)(as3.0)
- .LIB .DLL .H的解释
- TCP三次握手四次挥手
- 转 第十五章 3D 基础 (3)(as3.0)
- 在flash cs4以上版本的3D基础 (as3.0)
- UIView+动画的两种编程方式
- 斐波纳契数列的通项公式
- hibernate多对多关联关系
- 编写程序 控制cpu占用率-4 绘制CPU使用率的正弦曲线
- 转 第十六章 3D 线条与填充(1) (as3.0)
- GCC简单使用方法
- 转 第十六章 3D 线条与填充(2) (as3.0)
- 转 第十七章 背面剔除与flash 3D 灯光 (as3.0)