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...)