作者cjcat2266 (CJ Cat)
看板Flash
标题[研究] Vector2 & Vector2P - 向量
时间Sat Apr 26 19:57:56 2008
目前还想不到要怎麽Demo这个API的功能
不过既然写好了,就po上来分享一下罗~
API下载
http://0rz.tw/3d410
里面有Vector2和Vector2P两个class
Vector2 就是一般的二维向量
Vector2P则是圆座标向量
功能蛮基本的
跟一般数学课本上面教的差不多
不过多了posVec和setPos等这些 "可能" 会有用的功能
例如要让物体绕圆圈
一般我们都是用参数式来让物体移动
用Vector2或Vector2P的话
只要很直观的呼叫rotate()之後再呼叫setPos就好了
没有省多少力气,但是我是觉得这种做法让脑筋比较轻松
另外,Vector2P是Vector2的subclass
(注: 以下 * 表示会回传一个新的物件,而原物件维持原状)
Vector2和Vector2P的static method如下:
*posVec(object) (将object的座标转换成Vector2或Vector2P)
*setPos(object, vector) (将object的位置座标设定成vector的座标)
Vector2的property & accessor如下:
x (X座标)
y (Y座标)
length (向量长度,可以直接设定legnth的值来缩放向量)
unit (与此向量同方向的单位向量)
Vector2的method如下:
*add(vector) (向量相加)
*dot(vector) (向量内积)
*rotate(angle) (向量旋转angle径度)
*toPoint() (转换成flash.geom.Point)
*toVector2P() (转换成Vector2P)
*toString() (转换成 "(X座标, Y座标)" 的String)
Vector2P追加property & accessor如下:
r (向量长度,等同length)
theta (向量与X轴的夹角)
*rotateP(angle) (向量旋转angle径度)
Vector2P追加的method如下:
*toVector2() (转换成Vector2)
*toString() (转换成 "(长度, 角度)" 的String)
--
CJ Cat = Croa'J Cat = Cockroach Cat = 西街凯特 = 蜚蠊猫 = 蟑螂猫
Blog
http://cjcat.blogspot.com
Gallery
http://cjcat2266.deviantart.com
ptt2 Board CJWorkshop - 阿多比闪光(Adobe Flash)研讨区
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.228.93.74
1F:推 etrexetrex:星期三还没到阿~API出超快,比猎人快多了 04/26 19:58
※ 编辑: cjcat2266 来自: 61.228.93.74 (04/26 20:01)
2F:推 etrexetrex:阿~这是个极座标 04/26 20:01
3F:推 Jerrynet:如果有新的AS4.0且符合ECMAScript4的标准,就可以做运算子 04/26 20:47
4F:→ Jerrynet:多载了喔,就更直观XD 04/26 20:48
5F:→ Jerrynet:定义好了就可以直接用+-*/做矩阵运算或是向量运算哦@@ 04/26 20:51
6F:→ cjcat2266:我就是想要operator overloading啦 > < 04/26 22:12
7F:→ cjcat2266:写C++版本的Vector2的时候因为有overloading,比较顺手 04/26 22:12