最近發現了一個作橫向捲軸遊戲的引擎
名叫:Citrus Engine。
他是結合許多flash的遊戲framework在封裝起來的遊戲引擎
看上圖就知道了他結合哪些東西進去
有starling(flash gpu加速2D引擎)、away3d(flash 3d引擎)
還有三個物理引擎,最常聽到的box2d還有nape跟away3d自己家的awayPhysics
看起來是一個蠻方便的東西,不知道有沒有真的整合的很好
有時間再來研究看看,另外官網有影片教學也有範例檔可以下載
搜尋文章
2013年3月29日 星期五
2013年3月28日 星期四
AS3-Vector 初始化
1. var vec1:Vector.<int> = new Vector.<int>(5); //第二個參數boolean代表是否能夠修改長度 //var vec1:Vector.<int> = new Vector.<int>(5,true); for(i = 0;i<vec1.length;i++){ vec1[i] = i; } 2. var vec2:Vector.<int> = Vector.<int>([1, 2, 3]); 3. var vec3 = new <int>[1, 2, 3];
2013年3月25日 星期一
starling framework (一)
最近開始想記錄一下starlin的學習過程也算是複習,不然老了很多事都記不得了(咳!
starling是什麼呢?
相信google會很清楚的告訴你的,但這邊還是簡單的一句話介紹一下
就是使用stage3D的GPU加速的2D引擎。
如果有聽沒有懂的話,直接看結果會比較清楚。
以下有兩個swf,滑鼠每click一次會產生一百隻鳥不斷的移動
上面的是沒有使用starling的,只是單純的產生bitmap然後不斷移動
下面的是使用starling,可以比較一下個別產生的物件數及FPS
要分開測試喔!先點清除按鈕清除其中一個內容,不要點了上面的又去點下面的這樣不管怎麼點都會慢唷 !
下面這邊有各種2D引擎的效能比較可以參考看看
2D引擎效能比較
我自己手邊的裝置有測過的
htc desire he 約600
SAMSUNG GALAXY Tab 7.0 700
ipad2 約700
new ipad 約1000
以上的數量是FPS維持在30左右的數目
2013年2月21日 星期四
as3-vector sort
在as3裡,vector可以透過sort()函數來進行排序
跟array比較不同的是,array的sort可以不帶參數或是用定義好的參數帶入
例如:
Array.CASEINSENSITIVE:這個選項會忽略大小寫限制加以排序。例如,小寫字母 b 會排在大寫字母 D 之前。
Array.DESCENDING:這會反轉預設的依遞增順序排序。例如,字母 B 會排在字母 A 之前。
Array.UNIQUESORT:這會在發現兩個相同的值時,中止排序作業。
Array.NUMERIC:這會進行數值排序,因此 3 會排在 10 之前。
在vector的sort裡一定要帶入一個自訂義用來執行排序的function,或是也可以使用上面的參數帶入
例如:vector.sort(Array.CASEINSENSITIVE);
如果今天有5個MovieClip要進行名字的排序的話,就可以用自定義的涵式來執行了。
import flash.display.MovieClip; import flash.text.TextField; //先建立5個MovieClip var mc1:MovieClip = new MovieClip(); var mc2:MovieClip = new MovieClip(); var mc3:MovieClip = new MovieClip(); var mc4:MovieClip = new MovieClip(); var mc5:MovieClip = new MovieClip(); //命名 mc1.name = "mc_1"; mc2.name = "mc_2"; mc3.name = "mc_3"; mc4.name = "mc_4"; mc5.name = "mc_5"; //此時在mcVector裡的MovieClip已經不是按照mc_1、mc_2 ...的順序排列了 var mcVector:Vector.<MovieClip> = new Vector.<MovieClip>(); mcVector[0] = mc3; mcVector[1] = mc5; mcVector[2] = mc1; mcVector[3] = mc4; mcVector[4] = mc2; trace(showName(mcVector)); //output mc_3,mc_5,mc_1,mc_4,mc_2 mcVector.sort(vectorSortFunction); trace(showName(mcVector)); //output mc_1,mc_2,mc_3,mc_4,mc_5 function vectorSortFunction(firstMc:MovieClip , secandMc:MovieClip) { //先把名字後面的數字拆出來 var number1:int = int(firstMc.name.split("_")[1]); var number2:int = int(secandMc.name.split("_")[1]); //之後在用數字去作排序 if (number1 > number2) { //這邊返回1的意思是,如果前面的數字大於後面的數字,前面的對象就要往後排 return 1; } else if (number1 < number2) { //返回-1的意思是,如果前面的數字小於後面的數字,前面的對象就要往前排 return -1; } else { //返回0的意思是,一樣的話就不變動順序 return 0; } } function showName(vector:Vector.<MovieClip>):String { var _txt:TextField = new TextField();; for each (var mc:MovieClip in vector) { _txt.appendText(mc.name+","); } return _txt.text; }
2012年10月5日 星期五
android-Too large bitmap to be uploaded into a texture
今天遇到了一個問題是開啟了硬體加速後在imageView裡面塞圖片後發現畫面一片黑,
看了log他寫 Too large bitmap to be uploaded into a texture
上網查了一下原因找到這一篇文章
Too large bitmap to be uploaded into a texture
看來也有人遇到同樣的問題,裡面的回答是
When using hardware acceleration, there is a limit to the size of a texture.
When you render a bitmap, it has to be uploaded to an OpenGL texture first.
Your bitmap happens to be bigger than the maximum texture size on Xoom (2048x2048.)
You need to use a smaller bitmap or split it into several bitmaps.
所以解答就是把圖縮小到2048之內吧 ! !
看了log他寫 Too large bitmap to be uploaded into a texture
上網查了一下原因找到這一篇文章
Too large bitmap to be uploaded into a texture
看來也有人遇到同樣的問題,裡面的回答是
When using hardware acceleration, there is a limit to the size of a texture.
When you render a bitmap, it has to be uploaded to an OpenGL texture first.
Your bitmap happens to be bigger than the maximum texture size on Xoom (2048x2048.)
You need to use a smaller bitmap or split it into several bitmaps.
所以解答就是把圖縮小到2048之內吧 ! !
標籤:
Android,
Android-Bitmap
2012年2月28日 星期二
Alternativa3D 8.17.0 環境設置
1.先到Alternativa的官網下載Alternativa3D 8.17.0的SWC。
2.下載FlashPlayer11 Standalone Debuggers找到Flash Player 11.2 Beta 32-bit Standalone Debuggers,
點選Download standalone for Windows (EXE, 9.0 MB),這個連結是windows的如果是其他作業系統的話請至adobe labs下載。
3.下載Flash Player 11.2 Beta Global SWC,一樣可在adobe labs下載。
4. 到此路徑Adobe Flash CS5.5\Common\Configuration\ActionScript 3.0底下新建一個資料夾名稱取為FP11,再將下載的 Flash Player 11.2 Beta Global SWC放到資料夾裡並且更改檔名為playerglobal.swc。
5. 新增FlashPlayer11.xml
至此路徑下Adobe Flash CS5.5\Common\Configuration\Players先複製一份FlashPlayer10_2.xml,並且更名為FlashPlayer11.xml,之後打開文件修改,將第三行修改為
<player id="FlashPlayer11" version="13" asversion="3">,第四行修改為 <name>Flash Player 11</name>,第8行<playerDefinitionPath>標籤裡的as3屬性修改為"$(AppConfig)/ActionScript 3.0/FP11/playerglobal.swc" 這邊的路徑就是第四點新增資料夾的路徑。
6. 放置debugger,將第二點下載的FlashPlayer11 Standalone Debuggers修改檔名為
FlashPlayerDebugger.exe放到此路徑下Adobe Flash CS5.5\Players\Debug。
7.開啟flash,點選編輯/偏好設定/ actionScript/actionScript3.0設定,在元件庫路徑下新增第一點下載的Alternativa3D 8.17.0的SWC。
8.打開A3D的DEMO檔案,記得A3D要發布的時候要按住ctrl+shift+enter用Debugger的player發布才會有stage3D,如果單點swf檔也要用flashPlayer11看的話來這下載吧連結,下載 Windows Flash Player 11.1 Projector content debugger (EXE, 8.91MB)這個檔案,然後指定swf永久用這個player開啟就可以了~
2.下載FlashPlayer11 Standalone Debuggers找到Flash Player 11.2 Beta 32-bit Standalone Debuggers,
點選Download standalone for Windows (EXE, 9.0 MB),這個連結是windows的如果是其他作業系統的話請至adobe labs下載。
3.下載Flash Player 11.2 Beta Global SWC,一樣可在adobe labs下載。
4. 到此路徑Adobe Flash CS5.5\Common\Configuration\ActionScript 3.0底下新建一個資料夾名稱取為FP11,再將下載的 Flash Player 11.2 Beta Global SWC放到資料夾裡並且更改檔名為playerglobal.swc。
5. 新增FlashPlayer11.xml
至此路徑下Adobe Flash CS5.5\Common\Configuration\Players先複製一份FlashPlayer10_2.xml,並且更名為FlashPlayer11.xml,之後打開文件修改,將第三行修改為
<player id="FlashPlayer11" version="13" asversion="3">,第四行修改為 <name>Flash Player 11</name>,第8行<playerDefinitionPath>標籤裡的as3屬性修改為"$(AppConfig)/ActionScript 3.0/FP11/playerglobal.swc" 這邊的路徑就是第四點新增資料夾的路徑。
6. 放置debugger,將第二點下載的FlashPlayer11 Standalone Debuggers修改檔名為
FlashPlayerDebugger.exe放到此路徑下Adobe Flash CS5.5\Players\Debug。
7.開啟flash,點選編輯/偏好設定/ actionScript/actionScript3.0設定,在元件庫路徑下新增第一點下載的Alternativa3D 8.17.0的SWC。
8.打開A3D的DEMO檔案,記得A3D要發布的時候要按住ctrl+shift+enter用Debugger的player發布才會有stage3D,如果單點swf檔也要用flashPlayer11看的話來這下載吧連結,下載 Windows Flash Player 11.1 Projector content debugger (EXE, 8.91MB)這個檔案,然後指定swf永久用這個player開啟就可以了~
標籤:
Alternativa3D,
Flash_AS3
訂閱:
意見 (Atom)