於上年的時候,為了可以增強自己actionscript的功力,我決定自己學寫API。剛巧自己對3D graphics等東西很有興趣,於是就決定做一個2.5D 的 graphics library。

甚麼是Isometric View?

相信大家應該有玩過Simicty、Theme Hopsital這些經典遊戲吧? 它們的視點就是用了isometric view做的了。在以前CPU及display card都不夠的時候,唯有可以做的,就是利用2D扮3D了,因此Isometric View也叫2.5D。

Isometric view 的特點,如下:

  • 任何距離的物件大小一樣
  • 比較常用的isometric view是2:1的,即向右走兩格,向上就升一格,與水平線形成 26.565°(arctan 0.5) 的夾角

關於我的IsometricGL

IsometricGL 是一個render engine,主要做的是幫你在2.5D的世界上畫東西(類似papervision3D吧,它是3D,我的則是2.5D)。有了IsometricGL, 你只要寫幾行code,就可以創作你的2.5D世界,不懂複雜的數學也可以做到呢!!

先看看以下的demo再介紹吧,以下是用我的IsometricGL弄出來的迷你office:


* 請click地板,藍色的立方體會跟著走的呢

>> 下載Demo 及 IsometricGL source code

以下是IsometricGL的features:

  • 現只支持AS2.0
  • 支持的primitives包括: cube, cone, conical frustum, sphere, hemisphere, point, line, external image
  • 可以調較primitive的fill color, line color, line width,所有顏色都支持alpha channel
  • 可以把primitive group在一起,移動group時就等於移動所有物件
  • 可以複製primtive及primtive group,加入新的primitive就更加快捷了
  • primitives不同的面會因光暗有不同的顏色,從而增加立體感
  • primitives的brightness, alpha等屬性可以改變
  • 可以於primitives加上onRelease, onRollOver等等的handler,令到你的2.5D世界更interactive
  • 提供path-finding engine,可以令物件繞過障礙物走
  • 不支援物件碰撞等物理反應,要自己寫了

如果對我的IsometricGL有興趣,可以看看API doc
>> 下載Demo 及 IsometricGL source code

更多關於Isometric View的文章,頗有趣的:
Wiki – Isometric Projection
kirupa.com – Isometry (與Flash programming 有關,極力推介!!!)

IsometricGL做的guestbook,可到我的個人網看到:http://ifrog.frogiology.com

IsometricGL做的guestbook,可到我的個人網看到:http://ifrog.frogiology.com

  • Facebook
  • Twitter
  • del.icio.us
  • Digg
  • Google Bookmarks
  • Yahoo! Buzz
  • Live
  • RSS