[研究] Vector2 & Vector2P - 向量

看板Flash作者 (CJ Cat)時間18年前 (2008/04/26 19:57), 編輯推噓3(304)
留言7則, 3人參與, 最新討論串1/1
目前還想不到要怎麼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

04/26 19:58, , 1F
星期三還沒到阿~API出超快,比獵人快多了
04/26 19:58, 1F
※ 編輯: cjcat2266 來自: 61.228.93.74 (04/26 20:01)

04/26 20:01, , 2F
阿~這是個極座標
04/26 20:01, 2F

04/26 20:47, , 3F
如果有新的AS4.0且符合ECMAScript4的標準,就可以做運算子
04/26 20:47, 3F

04/26 20:48, , 4F
多載了喔,就更直觀XD
04/26 20:48, 4F

04/26 20:51, , 5F
定義好了就可以直接用+-*/做矩陣運算或是向量運算哦@@
04/26 20:51, 5F

04/26 22:12, , 6F
我就是想要operator overloading啦 > <
04/26 22:12, 6F

04/26 22:12, , 7F
寫C++版本的Vector2的時候因為有overloading,比較順手
04/26 22:12, 7F
文章代碼(AID): #184nZ6Q8 (Flash)
文章代碼(AID): #184nZ6Q8 (Flash)