6.10.2010

[Interactive] OpenFrameWorks


OpenFrameWorks 有高執行效率,是由Zach Lieberman與Theodore Watson這兩位藝術家所寫的程式,用VC++程式開發環境,和 Pocessing 一樣,主要是為了藝術家,設計師,整合多媒體等等應用。


[Flash] AI in Flash Games, 2010 ADOBE.

AI in Flash Games, 2010 北京 ADOBE.

這兩週課堂中介紹到很多人工智慧運用在遊戲、電影、電畫中。而"BOID"就是其中之一,這個演算法的效果非常的有趣,為群體(鳥群、魚群)運動效果。而當M看到時就說可以跟開心水族箱一樣嗎?經過一番的爬文之後,找到一篇2010 北京 ADBOE,確實這個遊戲也是用這個演算法來開發的。等我哪天開竅的話,再分享Boid的成果上來。先看看下面的資訊吧。

[Flash] FIM Media Player - BoxModel in Flash

FIM Media Player - BoxModel in Flash

6.09.2010

[Flash] SWFObject 2.2

SWFObject 2.2 提供了更聰明的方法,提供了「替代圖片、替代文字」的功能,遇到不支援Flash Plaer的平台裝置時(如iphone、ipad),也可以順利的瀏覽。使用方法非常的簡單,只需要下載 swfobject_2_2.zip,將index.html 裡面的 *.swf 檔置換掉就行了。官方皆有文件說明,詳請可至官方查詢。


6.05.2010

[Interactive] 3D Building Projection Mapping

3D Projection 是利用高流明數的投影機及特殊3D立體影片投影在建築物上,來達到以下這些精彩的效果。以下精彩例子請慢慢欣賞。


[AS3] 基本 AS3 常用語法


基本 AS3 常用語法:
場景屬性
stage.scaleMode=StageScaleMode.NO_SCALE;
//設置舞台屬性,不跟隨播放器而改變大小。
stage.showDefaultContextMenu=false;
//隱藏右鍵選單。
stage.frameRate=30;
//設 FPS 為 30。
var stageW=stage.stageWidth;
var stageH=stage.stageHeight;
//場景的寬與高。

Text用法:
var txt=new TextField();
//創建文件
txt.autoSize=TextFieldAutoSize.CENTER;
//文件大小自動並置中。
txt.text="CityRay";
txt.textColor=0x000000;
txt.selectable=false;
//文字設定不可圈選
txt.x=stageW/2-txt.width/2;
txt.y=stageH/2-txt.height/2;
//設置物件置中的公式
this.addChild(txt);

6.02.2010

[AS3] 在IE Browser 中 stageWidth 為 0 Bug

在開發的過程中,SWFObject 在 IE Browser中瀏覽時,一直 trace stageWidth 與 stageHeight 時都會為0,而 Chrome, Firefox 似乎沒有這問題。

因此找了個方法,在 IE Browser 中使用stage的resize事件處理器,似乎就可以解決掉這個問題。以下demo不管在哪個Browser中,應該都是會置中的。

DEMO


resize程式碼如下:

this.addEventListener(Event.ADDED_TO_STAGE, onAdded);
this.addChild(cp);

       private function onAdded(e:Event):void{
            if(stage.stageWidth > 0 && stage.stageHeight > 0){
                createChild();
            }else{
                stage.addEventListener(Event.RESIZE,onResize);
            }
        }
      
        private function onResize(e:Event):void{
            if(stage.stageWidth > 0 && stage.stageHeight > 0){
                stage.removeEventListener(Event.RESIZE, onResize);
                createChild();
            }
        }
      
        private function createChild():void{
          
            cp.stop();
            cp.x = (stage.stageWidth>>1) - (cp.width>>1);
            cp.y = (stage.stageHeight>>1) - (cp.height>>1);
        }

另外也可參考這篇原文... 
...

[Browser] Google Chrome Firebug


Firebug 功能:可即時預覽網頁、觀看網路執行狀況、DOM資訊、script偵錯等.
Google Chrome 本身也有內建類似 Firebug 的功能.




使用方式:
  1. 滑鼠右鍵.
  2. 檢查元素(Inspect element).
  3. 就會有相類似 Firebug 的功能. (快速鍵 Ctrl + Shift + j).
或你已習慣Firebug的使用者也可使用:Firebug 擴充功能.

[AS3] "BulkLoader" 介紹

"BulkLoader"是個不錯的載入開源項目,簡化了AS3中載入不同類型資料所產生的複雜性,為不同類型內容載入提供統一的介面。

首        頁:http://www.stimuli.com.br/trane/2007/nov/25/loading-reloaded/
下載位址:http://code.google.com/p/bulk-loader/



簡單的源碼範例:
var loader : BulkLoader = new BulkLoader("main");
loader.add("bg.jpg");
loader.add("config.xml");
loader.add("soundtrack.mp3");
loader.add("intro.flv");
loader.addEventListener(BulkLoader.PROGRESS, onProgress);
loader.addEventListener(BulkLoader.COMPLETE, onComplete);
loader.start();
function onProgress(evt : BulkProgressEvent) : void{
trace(evt.percentLoaded);
}
function onComplete(evt : Event) : void{
var bgBitmap = loader.getBitmap("bg.jpg");
addChild(bgBitmap);
var video : Video = new Video();
video.attachNetStream(loader.getNetStream("intro.flv"));
parseConfig(loader.getXML("config.xml"));
}