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

Away3D Texture Mapping Learning

與 Papervision3D 完全不同的寫法, 不過一樣簡單

Away3D 如要使用 Texture Mapping 就要使用 TransformBitmapMaterial
e.g.
material = new TransformBitmapMaterial(Cast.bitmap(headBmp), { repeat:true, scaleX:.5, scaleY:.5 } );

"repeat" 屬性就相等於 "tile"
scaleX & scaleY 就相等於 mapping 的UV比例

可以看看以下範例:


Source

2010年1月9日 星期六

embed swf 網頁置中問題

相信大多數人都會使用 javascript 的 swfobject.js 去 embed swf
不過要做到上下左右置正中間, 發現有點難道
橫向置中沒有問題, 不過直向置中就搞不到

問題就是 embed swf 是來自 javascript 加入 div
所以要解決問題, 都要用 javascript

以下是個解決方法:

    if (window.addEventListener) {
        window.addEventListener("resize", windowResizeHandler, true);
        window.addEventListener("load", windowResizeHandler, true);
    }
    else if (window.attachEvent) {
        window.attachEvent("onresize", windowResizeHandler);
        window.attachEvent("onload", windowResizeHandler);
    }
   
    function windowResizeHandler(event) {
        var myWidth = document.body.clientWidth;
        var myHeight = document.body.clientHeight;
   
        if (myWidth > 970) {
           
            document.getElementById("container").style.left = Math.round((myWidth - 970) * .5) + "px";
        }
       
        if (myHeight > 625) {
            document.getElementById("container").style.top = Math.round((myHeight - 625) * .5) + "px";
        }
    }

2010年1月6日 星期三

Flash Player 10.1 on Google's Nexus One Phone

Flash Player 10.1 終於可以在手機面世
AS3不斷向手機市場出發,
開發易了~寫手機遊戲也變得輕鬆

Away3DLite Mario3D Model

最近用了Away3DLite做了個測試看看 Performance
結果都不錯~~ 非常易用及方便



Away3DLite Source Code
Source

2010年1月5日 星期二

Flash Player 10.1 Beta AS3 Microphone Record and Play

遲了的測試~
雖然 FP10.1 還在Beta當中, 要開Browser做Testing
做了以下一個幾有趣的一個 Demo

需要預備: Flash Player 10.1 & Microphone

1. 首先~Click "Start Record" 開始錄音
2. 錄下一秒左右的單音~之後 Click "Stop Record & Play"
3. 就會播放一段短歌曲 (由錄下來的聲音唱出的)



Source

要成功執行需要下載兩個 Library source code
1. minimalcomps
2. SiON Sound Driver

2010年1月1日 星期五

2010虎年快樂!!!

送個Effect給大家, 點點Pixel砌出來的中文字

//首先創造一個文字
var tf:TextField = new TextField();
tf.text = "Hello World";

//之後再打散成BitmapData
var bd:BitmapData = new BitmapData(tf.width, tf.height, false, 0xF2D8FF);
bd.draw(tf);

//每一點進行運算
for (var i:int = 0; i < bd.width; i++)
{
   for (var j:int = 0; j < bd.height; j++)
   {
        // 創造任何東西都可以啦 
   }
}



Source