2010年1月28日 星期四

Blender AS3 Library

由 Papervision3D 的 core developer Tim Knip 寫成的 AS3Blender Library - 可以讓 Blender export 出來的 .blend file 直接給 Flash 使用
它 使用 Embed 的方法, 再call 一個 blend file parser 就可以 load 3D model to flash.

Details:
http://drawlogic.com/2010/01/27/asblender-library-to-use-blender-files-directly-in-flash/

2010年1月25日 星期一

Alternativa3D 教學

Wonderfl 自家出的 Alternativa3D 教學 (日文) , 有齊 source code
Alternativa3D 是 Flash 3D Engine 之一
Performance 不比 Away3D 差
有分 商用版及免費版

Wonderfl 教學:
http://marubayashi.net/tips/alternativa3d/

Alternativa3D:
http://alternativaplatform.com/en/alternativa3d/

2010年1月22日 星期五

AS3 QuickBox2D Library

QuickBox2D 是 簡化版的 Box2D
它將 Box2D 的 Code 整合~再提供一個簡單的 API
使用起來上都十分方便~ 如下:

            var sim:QuickBox2D = new QuickBox2D(this); 

            sim.setDefault({fillColor:0x00CC22, lineAlpha:0.5, radius:1.5});
            sim.createStageWalls();
 
            sim.addBox({x:5, y:5, width:1, height:1});
            sim.addCircle( { x:4, y:8, radius:2 } );

            sim.start();
            sim.mouseDrag();


下載:
http://actionsnippet.com/?page_id=1391
下載 QuickBox2D 之前, 也要下載 Box2D
http://sourceforge.net/projects/box2dflash/files/


2010年1月19日 星期二

Away3DLite: 3D Coordinates to 2D Coordinates

這個在寫 3D Application 時常用的技巧
要計算出 3D Object 在 screen 的 2D position. 

Away3DLite 的寫法:
public function calc2DCoords(screen_element:*):Point
{
    var posn:Vector3D = screen_element.viewMatrix3D.position;
    var screenX:Number = posn.x / posn.z;
    var screenY:Number = posn.y / posn.z;
    return new Point(screenX+screenW_offset,screenY+screeH_offset);
}

如果有 Away3D 就可以直接用 camera.screen function.

2010年1月18日 星期一

Papervision3D XML CoverFlow Source

 Cover 雖然已經不是新鮮, 不過都分享一下 Papervision3D 寫成的 Cover Flow 教學
加上用了 XML 讀取圖像,  十分方便易學

可以去以下連結下載 Source Code: 
http://papervision2.com/adding-xml-to-the-papervision-coverflow/

2010年1月17日 星期日

Gordon: An open source Flash™ runtime written in pure JavaScript

一個 純 Javascript 的 Flash runtime. 即是瀏覽器沒有 flash player plugin 也可以 play swf file.
它將 Flash 內容再變成 SVG, 這樣就可以不用 Flash Player 也可以看到 Flash

加了一句 Javascript 就可以直接使用, 如下:
onload="new Gordon.Movie('blue.swf', {id: 'stage', width: 500, height: 400})"

範例:
http://paulirish.com/work/gordon/demos/

Source:
http://github.com/tobeytailor/gordon/

的確是有趣的 Project , 不過...我測試看看~~ 實在很慢, 也不能完全支大多數瀏覽器, 至少 IE 不完整支援, 現在只可以做簡單的 Flash Animation 及 Button

轉自:
http://drawlogic.com/2010/01/13/gordon-an-open-source-flash%E2%84%A2-runtime-written-in-pure-javascript/

2010年1月16日 星期六

AS3 Event.Added 與 MovieClip goto Frame 之錯誤使用

最近打算自己整一個 ScrollPane
用了 Event.ADDED & Event.REMOVED 來計算最新的高度
在 ScrollPane中, 有 MovieClip 的物件
當我在 MovieClip 上使用 gotoAndStop(2), 發現了會 dispatch Added & Removed Event
一陣子研究之下, 發現原來 當 MovieClip change frame 時 timeline frame 入面的東西
也會不斷 add & remove

範例:


Source