作者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
推 etrexetrex:星期三還沒到阿~API出超快,比獵人快多了 04/26 19:58
※ 編輯: cjcat2266 來自: 61.228.93.74 (04/26 20:01)
推 etrexetrex:阿~這是個極座標 04/26 20:01
推 Jerrynet:如果有新的AS4.0且符合ECMAScript4的標準,就可以做運算子 04/26 20:47
→ Jerrynet:多載了喔,就更直觀XD 04/26 20:48
→ Jerrynet:定義好了就可以直接用+-*/做矩陣運算或是向量運算哦@@ 04/26 20:51
→ cjcat2266:我就是想要operator overloading啦 > < 04/26 22:12
→ cjcat2266:寫C++版本的Vector2的時候因為有overloading,比較順手 04/26 22:12