辣鸡

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2013年9月23日

摘要: 所謂BitmapFont,就是事先將我們會用到的字型,會用到的字,輸出成一張圖片,類似Sprite sheet,以及一個xml格式的Data file,然後我們一次將這文字圖片轉成Texture,upload到GPU,當我們要用到某個文字時,再利用Data file對照將Texture貼上。這樣做的好處是比起我們動態的去產生文字的Texture,BitmapFont只做一次upload Texture到GPU的動作,之後重複利用這個Texture,GPU的負擔比較小;相對的,如果我們動態去產生文字的Texture,upload到GPU的次數多,GPU的cost就比較大。缺點是要先決定我們會用到 阅读全文
posted @ 2013-09-23 10:39 辣鸡 阅读(292) 评论(0) 推荐(1) 编辑

摘要: 最後,來看看Starling裡一個很炫的功能:Particle。Particle屬於extension,所以要另外下載檔案:Starling-Extension-Particle-System。下載之後把檔案複製到Starling的source裡面就可以了。Particle一樣需要工具,Mac的使用者可以用Particle Designer。$7.99美金,一樣可以拿來開發iOS的遊戲。另外ONEBYONE提供了一個線上的Particle Editor,可以線上測試效果,然後產生Starling需要的檔案。這個網頁開著似乎會讓我們發佈swf時看不到Starling的內容,如果有這種情形請關閉這 阅读全文
posted @ 2013-09-23 10:38 辣鸡 阅读(253) 评论(0) 推荐(1) 编辑

摘要: 這篇開始來講Starling裡的Animation。Juggle是個簡單的Class,用來控制動畫的進行。他負責管理經由add()加進來的實現IAnimatable介面的物件,然後當Juggler的advanceTime()被呼叫時,它會負責去呼叫這些IAnimatable的advanceTime(),讓動畫進行下去;而當某個IAnimatable到達complete狀態時,則會被Juggler踢出去。我們就只要負責每個frame去呼叫Juggler的advanceTime()就好。而Starling class裡有個預設的juggler,當Starling.current正在運行時,Star 阅读全文
posted @ 2013-09-23 10:37 辣鸡 阅读(610) 评论(0) 推荐(1) 编辑

摘要: 承上一篇,我們接著來講最後一個IAnimatable類別,MovieClip。Starling的MovieClip跟native的MovieClip不太一樣,它只能接收一個Vector.<Texture>,來指定每個frame的貼圖,而不能像native一樣當DisplayObjectContainer,加入一堆東西。不過透過一些工具,我們可以把native做好的MovieClip,輸出成一張Sprite sheet,以及一個XML檔,再將這張圖片與XML匯入Starling產生一個TextureAtlas,最後由這個TextureAtlas轉出Vector.<Texture>給MovieCl 阅读全文
posted @ 2013-09-23 10:37 辣鸡 阅读(255) 评论(0) 推荐(1) 编辑

摘要: 這篇來談談Starling的Multi-Touch。前一篇也提到,Multi-Touch一樣是監聽TouchEvent.TOUCH,然後由TouchEvent的e.getTouches()取回多點的資訊。通常提到Multi-Touch會想到Gesture,不過Starling目前沒有GestureEvent可用。需要的時候只能自己動手寫。在開始練習之前,我們要回到Document Class,Main.as。要使用Multi-Touch,要先設定Starling Class的靜態屬性:Starling.multitouchEnabled = true; 然後Starling也提供了可以在電腦上 阅读全文
posted @ 2013-09-23 10:34 辣鸡 阅读(232) 评论(0) 推荐(1) 编辑

摘要: 這一篇來介紹一下TouchEvent。我們先來談單點的touch,下一篇再介紹MultiTouch。翻過Starling文件的應該會發現,Starling裡面沒有MouseEvent,而是整合在TouchEvent裡,但使用上有一些些小技巧要注意一下,才能做出MouseEvent.MOUSE_OUT的功能。首先來比較一下Starling的TouchEvent跟native的TiuchEvent,Starling只有一個TouchEvent.TOUCH,而不像native有分TouchEvent.TOUCH_BEGIN、TouchEvent.TOUCH_MOVE、TouchEvent.TOUCH 阅读全文
posted @ 2013-09-23 10:33 辣鸡 阅读(324) 评论(0) 推荐(1) 编辑

摘要: 週末夜來介紹個簡單的DisplayObject就好。不論是在電腦上或行動裝置上,跟使用者互動次數最多的,大概就是按鈕了。因此,Starling有個Button類別,來做出這個常用的互動元件。同樣是因為由Sparrow移植過來的影響,Button的行為完全是行動裝置上的按鈕。它只有一個一般狀態的Texture,按鈕上的文字,以及壓下狀態的Texture(也可以不要)。事件只有一個:Event.TRIGGERED。沒有mouse over的狀態,也沒有useHandCursor可用。Document Class依然不需要更動,再新增一個Game3.as當做Starling的rootClass,程式 阅读全文
posted @ 2013-09-23 10:32 辣鸡 阅读(192) 评论(0) 推荐(1) 编辑

摘要: 上一篇我們放了一個Quad與TextField在舞台上慢慢轉。眼尖的可能會發現轉起來邊緣有點鋸齒,這可以透過設定Starling的反鋸齒來解決,在Main.as裡,新增了_starling之後,可以加上_starling.antiAliasing = 2; 後面的值可以是0到16間2的次方數(0, 1, 2, 4, 8, 16),預設為0(沒有反鋸齒效果),通常有需要的話也不會設大於2。設其他數值也可以跑,不過應該是自動取了最接近值。這一篇,我們就來測測Starling的效能有多強,另外介紹最基本的圖像Image與Texture。我們來做個簡單的測試:在舞台上加入大量的物件,這裡先使用最簡單的 阅读全文
posted @ 2013-09-23 10:31 辣鸡 阅读(188) 评论(0) 推荐(1) 编辑

摘要: 開場Starling Framework是一套Flash 2D遊戲開發"工具",是使用Flash最新的Stage3D API建構出來的一套Framework。最大優點在於使用GPU做圖形的運算,讓Flash的效能能夠到之前的1000倍(官方說法)!另一大優點是易學,使用跟Flash native API類似的類別,方法,架構等,讓原本熟悉Flash的開發者可以很快的上手。提到Starling Framework,不得不提一下另外一隻鳥:Sparrow Framework,是一套iOS上的遊戲開發Framework,特點是"inspired by the Flash 阅读全文
posted @ 2013-09-23 10:30 辣鸡 阅读(225) 评论(0) 推荐(1) 编辑

摘要: 雖然已經一堆Hello World的介紹文章跟影片了,但中文資料畢竟是比較少,所以不能免俗的來一篇中文版Hello World。首先開啟一個AS3.0專案,fps不用客氣,設為60,Starling很快的。當然要發佈的版本是Flash Player 11。使用FlashDevelop的需要打開Project->Properties,如下圖的地方加上:-swf-version=13設定輸出的swf版本:FlashBuilder的使用者請參考官網的介紹影片。接著來看程式碼。假設Document Class為Main.as,我們直接把程式碼列出來如下:package pj{import fla 阅读全文
posted @ 2013-09-23 10:30 辣鸡 阅读(188) 评论(0) 推荐(1) 编辑