2011年6月24日 星期五
使用actionscript binding function
今天有同事問到如何使用純as動態綁定函數於是順便研究一下相關作法.
以下範例主要是透過BindingUtils.bindProperty並傳入自己創建的Chain object來完成動態綁定函數及額外的參數更新.
(Read more...)
2011年6月9日 星期四
從MX Datagrd 升級至 Spark Datagrid 的簡易筆記心得
從MX Datagrd 升級至 Spark Datagrid 的簡易筆記心得
最近因為Flex 4.5版relase了spark版本的datagrid, 剛好手頭上案子正在進行改版的動作,於是趁這次機會順便升級成spark datagrid, 因為flex4引入了skin的機制, 在UI切換的使用上更
以下為遇到與之前mx datagird不同行為的簡單筆記與解法 :
1 . 沒有ListEvent.ITEM_CLICK事件
解法 : 可以監聽datagrid.grid.addEventListener(GridEvent.GRID_CLICK, gridClickHandler);
2. 沒有ListEvent.ITEM_DOUBLE_CLICK事件
解法 : 可以實作itemrenderer並在itemrenderer dispatch doublie click event.
3. 沒有DataGridEvent.HEADER_RELEASE事件
解法 : 可以監聽datagrid.columnHeaderGroup.addEventListener(GridEvent.GRID_CLICK, headerReleaseHandler);
*4. 重新設定新的datagrid column IList collection時, 這在mx datagrid會保持原本的selectedItem/selectedIndex,
但spark datafrid會在下一個影格將selectedItem/selectedIndex重新設為null.
解法 :
- 不要重新設定新的colleciton, 保持一份collcetion以removeall/addItem function來做更新.
- 如果還是要設定新的collection,可以使用UIComponent.callLater重新更新datagrid selectedIndex迴避這個問題
ex :
5. 沒有useRollOver="false" style可以設定.
解法 :
如果不要rollover效果可以新建一個spark.skins.spark.DataGridSkin把裡面的hoverIndicator移除掉.
先筆記到這裡, 有時間在更新其他升級相關遇到的問題...
以上這些解法也許有更好的解決方法, 也歡迎大家留言告知, 大感謝!
(Read more...)
2011年3月10日 星期四
Molehill 2D繪圖測試
Molehill 2D貼圖旋轉測試 ( 需安裝 Flash Player Incubator )
Molehill API 是支援GPU加速的低階3D API,目前公開的資料還不多,AGAL又是組合語言相當苦手( ;; ´ Д ` )人( ´ Д ` ;; ),只好吃苦當吃補。
以下連結是這幾天研究Molehill幫助很大的文章 :
組合語言 wiki
Flash molehill 簡單例子
AGAL心得筆記
My Name is AGAL, and I Come from Adobe – Part1
agalminiassembler-primer
Molehill-roundup
(Read more...)
2011年2月4日 星期五
利用include as的方式新增/覆寫類別函數
利用include as的方式新增/覆寫函數, 可以使多種類別include需要的as而做群集性新增/覆寫函數.
- AddMethods.as
- A.as
- B.as
- Main.as
(Read more...)
2010年2月12日 星期五
2010年2月11日 星期四
用XML當做Dictionary的key值取出為undfined?
昨天在做Dictionary測試時本來用xml當做key mapping, 結果卻發現用迴圈將xml內資料重新取出return的值卻是undefined.
目前還在找原因為何:S
以下為示範code:
(Read more...)
目前還在找原因為何:S
以下為示範code:
(Read more...)
2010年2月6日 星期六
撲克牌牌型排列組合
最近迷上了一款iphone game : sword & poker, 這款遊戲是運用撲克牌牌型做組合給予敵人傷害的回合制rpg, 相當的耐玩.
因此這幾天花了點時間找資料研究關於撲克牌牌型的演算法, 以下為成果:
希望有機會也能來嘗試作作這類型的遊戲. :D
(Read more...)
因此這幾天花了點時間找資料研究關於撲克牌牌型的演算法, 以下為成果:
希望有機會也能來嘗試作作這類型的遊戲. :D
(Read more...)
2010年1月27日 星期三
QuickBox2D
QuickBox2D
QuickBox2D is a mini-library I created to work with Box2DFlashAS3. The main purpose of this library is to significantly simplify instantiation of rigid bodies and provide a simple way to skin rigid bodies with custom graphics.
可以讓你更為直覺快速建構Box2DFlashAS3物理碰撞環境.
讚! :D
(Read more...)
QuickBox2D is a mini-library I created to work with Box2DFlashAS3. The main purpose of this library is to significantly simplify instantiation of rigid bodies and provide a simple way to skin rigid bodies with custom graphics.
可以讓你更為直覺快速建構Box2DFlashAS3物理碰撞環境.
讚! :D
(Read more...)
2010年1月26日 星期二
ListBase設定CSS後ComboxBox下拉選單字體顏色設定失效問題
在flex開發的專案中有用到css設定顏色的功能, 最近遇到ComboBox設定color下拉選單卻無法起作用的問題.後來發現如果在List組件 or ListBase 設CSS color, 會造成ComboBox設定CSS color失效,
造成的原因可能是ComboBox所顯示的下拉選單是ListBase Class的緣故.
我想這應該算是CSS繼承邏輯上的認知問題, 應該不算是什麼bug吧 :p
在這邊特此記錄一下以免又遇到相同狀況.
以下為示範的code :
(Read more...)
我想這應該算是CSS繼承邏輯上的認知問題, 應該不算是什麼bug吧 :p
在這邊特此記錄一下以免又遇到相同狀況.
以下為示範的code :
(Read more...)
2010年1月17日 星期日
AS3 Data Structures For Game Developers (AS3DS)
AS3 Data Structures
AS3 Data Structures (code.google.com)
'AS3 Data Structures For Game Developers' is a package containing common data structures useful for flash game programming and application development. The project was started because I wanted a unified library which I could reuse in my games.
裡面定義許多可以運用的資料結構類別, 對開發遊戲相當地實用. 如果有機會能夠開發遊戲一定要好好研究一下:D
教學範例參考:
the graph class
the tree class
the queue class
the linked lists class
more on linked list
(Read more...)
2010年1月11日 星期一
PushButton Engine + Box2DFlashAS3 小作品
上週末survey了幾個flash遊戲引擎, 後來挑了 PushButton Engine 研究.
The PushButton Engine is an Open Source, Flash game engine and framework that's designed for a new generation of games. PushButton Engine makes it easy to bring together great existing libraries and components for building Flash games. Spend less time on code, more time on building fun games.
PBE有加入Box2DFlashAS3的物理引擎支援,趁這週末花些時間研究一下如何應用
雖然實作上有遇到不少問題(我是挑svn latest版本研究, 跟r470版本差異部分蠻多的), 不過還是兜出了一個小作品"Avoid Ball":D
感覺PBE如果摸熟對遊戲開發上是個不錯的選擇.
- Avoid Ball:用左右鍵控制避免被球砸到(加上Box2DFlashAS3物理引擎)
- 2010/01/12 新增一個射擊遊戲範例:上下左右方向鍵控制 + 空白鍵射擊
(Read more...)
The PushButton Engine is an Open Source, Flash game engine and framework that's designed for a new generation of games. PushButton Engine makes it easy to bring together great existing libraries and components for building Flash games. Spend less time on code, more time on building fun games.
PBE有加入Box2DFlashAS3的物理引擎支援,趁這週末花些時間研究一下如何應用
雖然實作上有遇到不少問題(我是挑svn latest版本研究, 跟r470版本差異部分蠻多的), 不過還是兜出了一個小作品"Avoid Ball":D
感覺PBE如果摸熟對遊戲開發上是個不錯的選擇.
- Avoid Ball:用左右鍵控制避免被球砸到(加上Box2DFlashAS3物理引擎)
- 2010/01/12 新增一個射擊遊戲範例:上下左右方向鍵控制 + 空白鍵射擊
(Read more...)
2009年12月30日 星期三
Flex4 速記
把一些常用的觀念先記下來, 日後有需要的再補上。
- Layout與組件脫離降低耦合度, 能更加靈活運用Layout.
Differences between Flex 3 and Flex 4 beta
- Group / Scroller
Introduction to viewports and scrolling in Flex 4 beta
- State狀態屬性切換更為直覺並增加易讀性
Differences between Flex 3 and Flex 4 beta
- effects : Animate/Transitions
Effects in Adobe Flex 4 beta
- CSS
*宣告namespace
*多樣式設置
*針對id設置
*針對狀態樣式設置
How to use the new CSS syntax in Flex 4
- 雙向資料繫結 two-way data binding
How to use two-way data binding in Flex 4
(Read more...)
- Layout與組件脫離降低耦合度, 能更加靈活運用Layout.
Differences between Flex 3 and Flex 4 beta
- Group / Scroller
Introduction to viewports and scrolling in Flex 4 beta
- State狀態屬性切換更為直覺並增加易讀性
Differences between Flex 3 and Flex 4 beta
- effects : Animate/Transitions
Effects in Adobe Flex 4 beta
- CSS
*宣告namespace
*多樣式設置
*針對id設置
*針對狀態樣式設置
How to use the new CSS syntax in Flex 4
- 雙向資料繫結 two-way data binding
How to use two-way data binding in Flex 4
(Read more...)
2009年12月27日 星期日
Mate flex framework
Mate is a tag-based, event-driven Flex framework.
雖然說關注這個framework有一陣子了卻一直沒有機會能用到,目前已經使用過Cairngorm,PureMVC. 希望日後有機會可在實際專案開發上使用。 :D
(Read more...)
雖然說關注這個framework有一陣子了卻一直沒有機會能用到,目前已經使用過Cairngorm,PureMVC. 希望日後有機會可在實際專案開發上使用。 :D
(Read more...)
2007年2月14日 星期三
2007年1月29日 星期一
actionscript2 樹狀選單實作 (2)
這個範例會運用到flash8 的隱含函數setTimeout/clearTimeout,如果要讓使用該函數的類別通過編譯,您必須在Flash 8\en\First Run\Classes裡的 TopLevel.as多增加兩行:
intrinsic function clearTimeout(id:Number):Void;
intrinsic function setTimeout():Number;
接下來請看asdemo.ui.tree.DemoTree2類別幾個重點部分。
在addNode與addTree函數中,我們必須讓每一個被建立的節點利用while掃出每個上層的父節點,並註冊子節點所發生的RollOver/RollOut事件。才能使得每個父節點清楚跟蹤滑鼠在子節點上的動作。 注意mouseIsOver/mouseIsOut這兩個函數,當他們被呼叫是先改變isMouseOut的Boolean值,接著在利用setTimeout呼叫checkTreeIsOpen/checkTreeIsClose函數來確認isMouseOut的狀態決定打開或關閉。 ps. 這個版本可能有bug,如果有抓到bug希望可以留言告訴我修正,謝謝。:D
(Read more...)
actionscript2 樹狀選單實作
treedemo範例檔案下載
首先先了解一下asdemo.events這個package裡面的as。
- IEventDispatcher.as 所有附有事件廣播機制的類別都必須實作這個介面。
- EventSource.as 實作了IEventDispatcher介面的類別。
asdemo.ui.DispatcherMC繼承了MovieClip並實作IEventDispatcher類別,讓所有繼承該類別都附有事件廣播機制功能。
接下來進行到重點階段,我們先了解asdemo.ui.tree package內兩個介面的繼承關係。一個為INode,一個為ITree。ITree繼承了INode。這代表Itree也含有節點的特性。 - asdemo.ui.tree.INode - asdemo.ui.tree.ITree - INode的繼承關係 TextNode實作了Inode介面,並且會在onRelease發出ButtonEvent.RELEASE事件。 - ITree的繼承關係 首先AbstractTree實作了ITree介面,大部分基本方法已經在這個類別完成。 -setNodePosition方法:在節點被加入時要調整節點位置,當節點被刪除時要重新調整所有節點的位置。 -adjustPosition方法:在節點被刪除時呼叫重新調整所有節點的位置。 -childTreeCloseHandler方法:在同一節點被click時呼叫將其他節點樹關閉。 DemoTree繼承了AbstractTree,並實現兩各尚未實作的抽象方法addNode與addTree。每個被加入的節點會被加入陣列裡,而在addNode裡父節點對子節點註冊ButtonEvent.RELEASE事件,addTree方法裡父節點對子節點樹註冊TreeEvent.TREE_OPEN事件。目的在於當某個節點被click後,通知父節點樹必須將其他同一階層的節點樹關閉。 - asdemo.ui.tree.AbstractTree (Read more...)
接下來進行到重點階段,我們先了解asdemo.ui.tree package內兩個介面的繼承關係。一個為INode,一個為ITree。ITree繼承了INode。這代表Itree也含有節點的特性。 - asdemo.ui.tree.INode - asdemo.ui.tree.ITree - INode的繼承關係 TextNode實作了Inode介面,並且會在onRelease發出ButtonEvent.RELEASE事件。 - ITree的繼承關係 首先AbstractTree實作了ITree介面,大部分基本方法已經在這個類別完成。 -setNodePosition方法:在節點被加入時要調整節點位置,當節點被刪除時要重新調整所有節點的位置。 -adjustPosition方法:在節點被刪除時呼叫重新調整所有節點的位置。 -childTreeCloseHandler方法:在同一節點被click時呼叫將其他節點樹關閉。 DemoTree繼承了AbstractTree,並實現兩各尚未實作的抽象方法addNode與addTree。每個被加入的節點會被加入陣列裡,而在addNode裡父節點對子節點註冊ButtonEvent.RELEASE事件,addTree方法裡父節點對子節點樹註冊TreeEvent.TREE_OPEN事件。目的在於當某個節點被click後,通知父節點樹必須將其他同一階層的節點樹關閉。 - asdemo.ui.tree.AbstractTree (Read more...)
2007年1月25日 星期四
2007年1月22日 星期一
2007年1月20日 星期六
actionscript2 scrollbar 實作分享
- asdemo.ui.Bar
Hello Fucking World
訂閱:
文章 (Atom)