x213212 2018/11/03 現在目前開發遇到的BUG將會塞在雜項筆記內~
x213212 2018/10/26 新增了XML數據的處理與特性,新增幾個小問題與解決方法。
x213212 2018/10/20 新增了事件處理,自定義類別事件發送 與 設計架構架構。
x213212 2018/10/11 新增簡易程式碼與基礎。
https://help.adobe.com/zh_TW/as3/learn/as3_learning.pdf
https://help.adobe.com/zh_TW/as3/learn/index.html
https://help.adobe.com/zh_TW/as3/dev/as3_devguide.pdf
https://www.youtube.com/watch?v=lyV3qO1sh44
https://www.youtube.com/results?search_query=FLEX+ACTIONSCRIPT+TUTOR
https://help.adobe.com/zh_TW/FlashPlatform/reference/actionscript/3/flash/filters/DropShadowFilter.html
https://www.oreilly.com/library/view/flex-4-cookbook/9781449388195/ch01.html
https://www.jb51.net/books/327716.html
https://www.youtube.com/watch?v=VjOOANWKbVk&list=PLBF4EE33511E0A190&index=1
https://youtu.be/awz4_0M31oY
https://youtu.be/HXK79X4M4Kw
http://flex.apache.org/tourdeflex/index.html
https://youtu.be/HXK79X4M4Kw
content Assitst alt+q
component 元件命名大駝峰命名 大寫開頭尾巴加C
EX:HistoryMedicineC
view 元件命名: 大駝峰命名,大寫開頭尾巴加v
Ex: private function doSomething ():void
元件id_事件名稱或功能
ex:but1_clickHandler();
自訂事件名:元件id_動作_名詞(全大寫)
STATE_狀態名
STATE_LOGOUT
STATE_LOGIN
STATE_MENU
public :xXXXXX
private : _xXXXX
local:xxxxx
Button buxXxxx
Label lblXxxx
TextInput txtXxxx
Group gpXxxx
HGroup hgpXxxx
VGroup vgpXxx
TitleGroup tgpXxx
DataGroup dgpXxx
List lstXxxx
XML xmlXxx
XMLList xltXxxx
XMLListCollection xlcXxxx
RemoteObject rmtXxxx
Array arrXxx
ArrayList altXxxx
ArrayListCollection alcXxxx
Object objXxxx
https://help.adobe.com/zh_TW/as3/learn/WS5b3ccc516d4fbf351e63e3d118a9b90204-7ec7.html
我覺得這蠻重要的,可以把類別、字串、數值等等推入,再用length個別讀出
https://stackoverflow.com/questions/3477736/actionscript-mxml-mx-vs-s
mx vs spark 在於版本的差異可以共用
一般寫法
簡化寫法
一般寫法
簡化寫法
相當於其他語言debug ,log 顯示在console,
物件宣告完id後,並可以在Action Script直接呼叫也就是fx script那邊
一樣可以達到這種效果
creationComplete
initialization
初始話可以加在最上端
分別是新增監聽事件和移除事件和發送事件
好像大多數軟體開發都是基於這種模式
這樣來看假設要拆分元件(公司規定!)
這樣來說的話 兩個Obj的東西是看不到的
但是Main卻得到兩個Obj裡面的東西
這時候我們就要來運用到上面
事件處理的裡面的事件的監聽
很簡單
假設我們在物件上按下一個按鈕,我們就發送一個訊號通知
監聽的Main知道,我在obj物件做了什麼事
然後Main在做出相對應的處理
因為我們obj之間是無法得知互相的內容,所以要統一由Main做溝通
我們來看實際範例吧!
我們可以看到我們的creationComplete
在物件初始化的時候並呼叫了initAPP這函數
那麼我們還要再撰寫一個actionscript
整體專案長
請注意引用package
再來是主畫面
再來新增一個panel
再來新增一個panel2
按下按鈕後就會發現我們能用事件傳遞自定義參數了!!!
我們創立一個actionscript的類別位於
再來回到我們的test並引入tmp類別
執行後可以看到我們的console成功顯示出新建立的類別並取得
初始化的Card_Id得到10的結果。
什麼特性呢,我們可以看到在語言特性上呢我們可以直接對XML的欄位進行新增
var tmp:xmllistcollection = new xmllistcollection();
var dragsource:dragsource= new dragspirce();
var item:xmllist= new xmllist(<test/>);
item.test= "1234";
dragsource.adddata(item,"item")
dragsource數據會顯示
<test>
<test>
1234
</test>>
</test>>
tmp.addItem(dragsource.dataforformat("item"))
dragsource.dataforformat("item").test[0]
得 1234
先得 datagrid dataorivude 所綁定的xmllistcolleciton
所以先得 datagrid selsection
now_index = event.selectionchange.rowIndex
fx: source="assets/xxx.xml"
package_name/xxx.xml
image 引入在地路徑檔
source = "@Embed("絕對路徑")"
因為再對上方排序的話將會讓整個index大亂
dgtaget.dataprovider[now_index].addItem()
xmllistcollection.addItem()
兩種都可以直接對畫面作為呈現
對某選項做修改時
則可以直接
dgtaget.dataprovider[now_index].欄位
但是實際上我們綁定的是xmllistcollection 的值
解決方法呢我們需要在DataGrid 插入change事件
並監測其index值,在對其相對印的xmllistcollection做搜尋的動作
搜尋到該目標後在對其相對印index進行一樣的修改即可避免程式上羅集出錯。
在插入數據後,沒有切換到改頁籤則會無法完成元件初始化
則解決方法就是插入,這樣的話就大概差不多囉。
https://my.oschina.net/zchuanzhao/blog/512581
var today:Date = new Date();(2018/9/2)
today.month -=6;(2018/3/2)
DateFiled.selecteDate = today;
viewstack
navigatyorcontent
xxxxx
resources.properties:
TEST.TEST="11"
resourceManger.getString('resources','TEST.TEST')
return 11;
可以傳入一個panel
var xxxx:mxml = new xxx;
可以用addeventListener新增事件
則跳出一個視窗
var titlewin:titleinforwindow =popupmanger呼叫建構元
titlewin.title=…
則可以對其視窗新增事件
titlewin.closebutton.addenentListener(MouseEvent.click,titileclose);
將彈跳出來的視窗把裡面元素設為xxx panel
titlewin.addelement(xxx);
titleclose(event:mouseevent)
{
popupmanager.removepopup(titlewin);
移除自己
}
則為右上角關閉按鈕並關閉移除
新增xxx panel 事件
也只要對
xxx.addeventListener就可即可在主畫面監控其跳出視窗並取得視窗內的按鈕事件或其回傳值
大大講的在一個程式語言,你要先有資料還是有畫面,當然當一個程式再載入的時候,前面有講到非同步程式語言,當你POP一個NEW PANEL 的話你會發現有時候你的資料並沒有辦法馬上的傳到新NEW出來的PANEL那麼你可以做兩種方式,這邊可以有兩個解決方案。
一個是在初始畫面長出來的同時馬上去跟服務器要資料,然後在開啟出來的PANEL的時候把資料傳送進去,所以當NEW PANEL生成的時候可以發現,資料已經準備好了,這樣的話也就沒這問題了。
在一個PANEL的剛生成時候,可以在裡面畫面元件都長好的時候,去做去要資料的動作,不過這裡有個缺點就是在資料量重複的時候將會讓程式不斷去做查詢的動作。
當要複寫原生插件,可以用override 複寫其函數。