2012年3月15日 星期四

增加一個Custom Tab到Facebook粉絲頁(Timeline也適用)

新增一個自訂的頁籤到Facebook粉絲頁一直都是經營粉絲頁一個重要的功能。隨著Facebook不斷改版,這個月底粉絲專頁又要全面升級成Timeline版型,新增自訂頁籤的方法也一直在變。由於現在最新的加法有點詭異,問Google也會找到一堆過時的方法,所以就來記錄一下。

2012年3月5日 星期一

使用 FlashDevelop 開發 AIR 3.2 RC + Starling Framework1.0 行動裝置專案

AIR 3.2 RC 與 Starling Framework 1.0都在一個禮拜前Release了,AIR 3.2的一大重點是行動裝置上可以支援Stage 3D API了,而Starling Framework也正式更新到1.0。因此我們終於可以拿它來開發行動裝置上高效能的2D遊戲了。當然配合Away 3D 4.0等3D API也能開發高效能的3D遊戲。這篇來整理一下使用FlashDevelop如何開發並發佈到行動裝置上。

2012年1月19日 星期四

再次介紹TexturePacker

上次介紹Starling Framework的時候介紹了TexturePacker這個工具,用來產生MovieClip需要的Sprite Sheet圖檔與Data file。開始用這個工具主要是因為他是官方推薦的,所以轉出來的格式絕對沒有問題,使用了幾次之後,發現它支援了一堆格式,而且也有好幾個優點,值得跟大家再介紹一下。

2011年12月23日 星期五

測試Logitech的iPad專用鍵盤

剛收到的禮物,立刻來試用看看。
trace("搭配Dropbox,拿來寫些簡單的文章也沒什麼問題!");
反應速度也很快,所以以後帶個iPad到咖啡廳坐的機會又增加了。

2011年12月13日 星期二

小試一下HTML5與CSS3

自從去年開始看到一些HTML5+CSS3實驗性的範例出來,就一直想找時間來接觸這一塊。今年更多HTML5的網站陸續冒出來,書籍的資料也更多了。於是玩了一下HTML5跟CSS3,紀錄一些些心得。

我想以HTML5的發展來看,大概沒有人會懷疑它是網路上未來的標準。所謂的標準,倒不是"會不會取代Flash"這類膚淺的問題,而是只要製作網站,就得跟它打交道。即使是從過去到現在,開發一個全Flash網站,絕對不是丟幾個.swf檔案到伺服器上面就解決了,少不了還是要處理HTML、CSS、以及Javascript。未來當然也是如此。與其到時候因為一些doctype、meta等等瑣碎的東西搞得焦頭爛額,不如找個時間好好的了解一下。我相信很多人都準備要投入這一塊,只是因為某些因素而暫緩。以下分享幾個我玩了之後的心得,也許還在觀望的人看了會比較想開始接觸HTML5與CSS3。

2011年11月18日 星期五

一起來玩鳥 Starling Framework(9)Particle

最後,來看看Starling裡一個很炫的功能:Particle。Particle屬於extension,所以要另外下載檔案:Starling-Extension-Particle-System。下載之後把檔案複製到Starling的source裡面就可以了。

一起來玩鳥 Starling Framework(8)BitmapFont

所謂BitmapFont,就是事先將我們會用到的字型,會用到的字,輸出成一張圖片,類似Sprite sheet,以及一個xml格式的Data file,然後我們一次將這文字圖片轉成Texture,upload到GPU,當我們要用到某個文字時,再利用Data file對照將Texture貼上。這樣做的好處是比起我們動態的去產生文字的Texture,BitmapFont只做一次upload Texture到GPU的動作,之後重複利用這個Texture,GPU的負擔比較小;相對的,如果我們動態去產生文字的Texture,upload到GPU的次數多,GPU的cost就比較大。缺點是要先決定我們會用到哪些字?最大的字級多少?圖片儲存文字檔案也比較大。

2011年11月17日 星期四

一起來玩鳥 Starling Framework(7)MovieClip

承上一篇,我們接著來講最後一個IAnimatable類別,MovieClip。Starling的MovieClip跟native的MovieClip不太一樣,它只能接收一個Vector.<Texture>,來指定每個frame的貼圖,而不能像native一樣當DisplayObjectContainer,加入一堆東西。不過透過一些工具,我們可以把native做好的MovieClip,輸出成一張Sprite sheet,以及一個XML檔,再將這張圖片與XML匯入Starling產生一個TextureAtlas,最後由這個TextureAtlas轉出Vector.<Texture>給MovieClip使用。

2011年11月16日 星期三

一起來玩鳥 Starling Framework(6)Juggler、Tween、以及DelayCall

這篇開始來講Starling裡的Animation。Juggle是個簡單的Class,用來控制動畫的進行。他負責管理經由add()加進來的實現IAnimatable介面的物件,然後當Juggler的advanceTime()被呼叫時,它會負責去呼叫這些IAnimatable的advanceTime(),讓動畫進行下去;而當某個IAnimatable到達complete狀態時,則會被Juggler踢出去。我們就只要負責每個frame去呼叫Juggler的advanceTime()就好。而Starling class裡有個預設的juggler,當Starling.current正在運行時,Starling.juggler在每個frame時會自動被呼叫advanceTime()。通常我們把遊戲裡的動畫加到Starling.juggler裡,而一些特殊的動畫,例如遊戲暫停時要撥放的動畫,再加到另一個我們新增的Juggler,然後每個frame去呼叫它的advanceTime()。這裡講的每個frame,我們是使用EnterFrameEvent.ENTER_FRAME,而不是Event.ENTER_FRAME,因為EnterFrameEvent可以取得passedTime,這個passTime是指跟上一次事件發生經過的時間,可以傳給Juggle的advanceTime()的第一個參數。用經過時間來播放動畫,這樣就不會受frame數不穩定而影響動畫撥放的時間。

2011年11月15日 星期二

一起來玩鳥 Starling Framework(5)Multi-Touch

這篇來談談Starling的Multi-Touch。前一篇也提到,Multi-Touch一樣是監聽TouchEvent.TOUCH,然後由TouchEvent的e.getTouches()取回多點的資訊。通常提到Multi-Touch會想到Gesture,不過Starling目前沒有GestureEvent可用。需要的時候只能自己動手寫。