最近似乎都會發現奇怪的鬼問題
我其中一個專案竟然不能用Connect to Data/Service (PHP)
Google了一下也沒看到有什麼解決方法
後來自己的解決方法是
在另外一個專案Connect to Data
然後在專案資料夾下找
.model\XXX.fml (假設專案名稱是XXX)
裡面有service的資料,選一下複製過去
.project
裡面有link的資料,也選一下複製過去
src\services\YYY (YYY是service名稱)
這是自動生成的ValueObject檔案,
整個複製到一樣的地方
記得都別用notepad開,排版會亂掉
星期六, 3月 20, 2010
Flex 的 layout
<s:Panel includeIn="checkPassWord" width="300" title="驗證視窗" borderVisible="true">
<s:layout>
<s:HorizontalLayout/>
</s:layout>
<s:Label text="請輸入密碼: " />
<s:TextInput id="password" displayAsPassword="true" />
<s:Button label="確認 "/>
</s:Panel>
原來還有layout這個標籤阿
以後再試試看他到底可以幹嘛好了
星期三, 3月 03, 2010
用loader 讀取 Flex swf
因為flex做出來的swf架構和flash做出來的有點不一樣
最近用loader的時候就卡了好久 囧
後來發現只用
form裡面是接不到startForm這個事件的
因為Flex有兩個Frame,第一個Frame只有systemManager,第二個Frame才有元件
而Event.COMPLETE的時候,完成的就只有systemManager,這時的loader.content就是systemManager
所以只有當systemManager送出FlexEvent.APPLICATION_COMPLETE的時,元件才算完全被載入
這時的loader.systemManager才會變成主程式
所以修改成這樣:
相關資料
一種Flex和as3代碼之間互相調用的方法
瞭解Flex程序的生命週期
最近用loader的時候就卡了好久 囧
後來發現只用
private function startForm(e:CloseEvent = null):void
{
this.initStage("form");
this.currentState = this.formState.name;
this.form.contentLoaderInfo.addEventListener(Event.COMPLETE, function (e:Event):void {
form.contentLoaderInfo.sharedEvents.dispatchEvent(new Event("startForm"));
});
}
form裡面是接不到startForm這個事件的
因為Flex有兩個Frame,第一個Frame只有systemManager,第二個Frame才有元件
而Event.COMPLETE的時候,完成的就只有systemManager,這時的loader.content就是systemManager
所以只有當systemManager送出FlexEvent.APPLICATION_COMPLETE的時,元件才算完全被載入
這時的loader.systemManager才會變成主程式
所以修改成這樣:
private function startForm(e:CloseEvent = null):void
{
this.initStage("form");
this.currentState = this.formState.name;
this.form.contentLoaderInfo.addEventListener(Event.COMPLETE, function (e:Event):void {
form.content.addEventListener(FlexEvent.APPLICATION_COMPLETE, function (e:FlexEvent):void {
form.contentLoaderInfo.sharedEvents.dispatchEvent(new Event("startForm"));
});
});
}
相關資料
一種Flex和as3代碼之間互相調用的方法
瞭解Flex程序的生命週期
星期六, 2月 27, 2010
ActionScript 3.0 中的 stage, root, MainTimeline
學了不算短的Flash還是沒有很瞭解stage, root, MainTimeline的差異
swf.com.tw - ActionScript 3.0里的stage(舞台), root和MainTimeline(主時間軸)
這篇的解釋非常詳細,也讓我很清楚的瞭解其中的差異
另外也做了個小實驗,發現Flash和Flex指的是不同的東西:
flash 下
trace(this, this.root, this.stage, root, stage, this==this.root, this.root == root, this.stage == stage);
[object Story] [object Story] [object Stage] [object Story] [object Stage] true true true
flash builder 4 下
trace(this, this.root, this.stage, root, stage, this==this.root, this.root == root, this.stage == stage);
WebometricsRanking null null null null false true true
swf.com.tw - ActionScript 3.0里的stage(舞台), root和MainTimeline(主時間軸)
這篇的解釋非常詳細,也讓我很清楚的瞭解其中的差異
另外也做了個小實驗,發現Flash和Flex指的是不同的東西:
flash 下
trace(this, this.root, this.stage, root, stage, this==this.root, this.root == root, this.stage == stage);
[object Story] [object Story] [object Stage] [object Story] [object Stage] true true true
flash builder 4 下
trace(this, this.root, this.stage, root, stage, this==this.root, this.root == root, this.stage == stage);
WebometricsRanking null null null null false true true
Workspace in use or cannot be created, choose a different one. (Flex & Eclipse)
今天不小心把專案關掉了,結果想要再開竟然跳出Workspace in use or cannot be created, choose a different one這個錯誤,真是嚇出我一身冷汗XD
找了一下解決方法:
不過呢..刪掉之後我還是開不起來...
後來才發現Flex 開啟的時候會把專案開在Package Explorer裡面..囧
所以最後從那邊開就好了
找了一下解決方法:
解決辦法:出現這種情況一般是workspace的配置文件中出現了.lock文件(workspace/.metadata/.lock),鎖定了workspace.把.lock文件刪除即可.
不過呢..刪掉之後我還是開不起來...
後來才發現Flex 開啟的時候會把專案開在Package Explorer裡面..囧
所以最後從那邊開就好了
星期一, 2月 15, 2010
ActionScript3.0 中的事件流(Event)
說要記錄一下自己對AS3事件的心得
可是拖了好久..想寫什麼大概也忘了
手邊有一些資料,姑且記錄一下吧~
以下節錄自SILK ROUTE - AS3筆記-事件流(event flow)
寫的很棒,非常建議先讀過
可是拖了好久..想寫什麼大概也忘了
手邊有一些資料,姑且記錄一下吧~
以下節錄自SILK ROUTE - AS3筆記-事件流(event flow)
寫的很棒,非常建議先讀過
Flex Builder快捷建
Ctrl-F11: 執行(Run)
F11: 除錯(Debug)
Ctrl-Alt-Down: 重複目前所在編輯列(Repeat current line )
Alt-Up: 移動本列,或選擇列往上移動(Move line (or selection) up )
Alt-Down: 移動本列,或選擇列下往移動(Move line (or selection) down )
Ctrl-Click: 移至定義區(Go to definition (also F3) )
Ctrl-D: 刪除本列(Delete line )
Alt-/: 文字自動完成(Word completion (cycles through possible matches))
Ctrl-Up: 捲軸向上(Scroll up )
Ctrl-Down: 捲軸向下(Scroll Down )
F11: 除錯(Debug)
Ctrl-Alt-Down: 重複目前所在編輯列(Repeat current line )
Alt-Up: 移動本列,或選擇列往上移動(Move line (or selection) up )
Alt-Down: 移動本列,或選擇列下往移動(Move line (or selection) down )
Ctrl-Click: 移至定義區(Go to definition (also F3) )
Ctrl-D: 刪除本列(Delete line )
Alt-/: 文字自動完成(Word completion (cycles through possible matches))
Ctrl-Up: 捲軸向上(Scroll up )
Ctrl-Down: 捲軸向下(Scroll Down )
星期日, 2月 07, 2010
星期四, 2月 04, 2010
swfloader vs Loader !! swfloader 只是方便而已..
因為swfloader的方便,原本想用它直接讀swf檔就好了,後來發現他沒有loader的靈活..
加上不知道怎麼樣讓被讀取的swf和讀取者溝通
(把bubble設成true可以單方向溝通,但是不能用sharedEvents,這個部分我另外PO文記錄)
後來整個翻新成用loader,做白工了 囧
以下就介紹一下swfloader
加上不知道怎麼樣讓被讀取的swf和讀取者溝通
(把bubble設成true可以單方向溝通,但是不能用sharedEvents,這個部分我另外PO文記錄)
後來整個翻新成用loader,做白工了 囧
以下就介紹一下swfloader
AS3 的 Dictionary Class
一開始還有點搞不懂Dictionary到底是什麼
後來發現她就跟Object一樣是hash表
不過有點不一樣的是,Dictionary可以用Object當作Key..
實在太神奇了XD
節錄Kimo Chung's AS3 Playground - 秘技: 用Sprtie & Dictionary 熷加自定的variables 而不改變Sprite 的結構的例子
使用Dictionary 和Array 有何分別呢?
Array 使用object.toString() 作為index, 因此若果有兩個Sprite 的名稱相同, 會使用同一格
延伸閱讀
Ticore's Blog - AS3 Dictionary 居然無法用 QName 當 Key
後來發現她就跟Object一樣是hash表
不過有點不一樣的是,Dictionary可以用Object當作Key..
實在太神奇了XD
關聯數組有時候也稱為「哈希」或「映射」,它使用「鍵」而非數字索引來組織存儲的值。關聯數組中的每個鍵都是用於訪問一個存儲值的唯一字符串。關聯數組為 Object 類的實例,也就是說每個鍵都與一個屬性名稱對應。關聯數組是鍵和值對的無序集合。在代碼中,不應期望關聯數組的鍵按特定的順序排列。
ActionScript 3.0 中引入了名為「Dictionary」的高級關聯數組。字典是 flash.utils 包中 Dictionary 類的實例,使用的鍵可以為任意數據類型,但通常為 Object 類的實例。換言之,字典的鍵不侷限於 String 類型的值。
as3,Dictionary,關聯數組
節錄Kimo Chung's AS3 Playground - 秘技: 用Sprtie & Dictionary 熷加自定的variables 而不改變Sprite 的結構的例子
使用Dictionary 和Array 有何分別呢?
Array 使用object.toString() 作為index, 因此若果有兩個Sprite 的名稱相同, 會使用同一格
var myPictureIndexDict = new Dictionary;
var myPictureIndexArray = new Array;
var a = new Sprite;
a.name = "myName";
myPictureIndexDict[a] = 1;
myPictureIndexArray[a] = 1;
var b = new Sprite;
b.name = "myName";
myPictureIndexDict[b] = 2;
myPictureIndexArray[b] = 2;
trace(myPictureIndexDict[a]); //output: 1
trace(myPictureIndexArray[a]); //output: 2
延伸閱讀
Ticore's Blog - AS3 Dictionary 居然無法用 QName 當 Key
add MovieClip by addChild in Flex4
為什麼Flex內不能直接用addChild呢?
從mybeky's blog -
Flex Application裡的addChild()節錄一些句子:
在Flex Application裡,是不能直接用addChild添加Sprite,MovieClip等來自flash.display包裡的類的。譬如以下代碼就會報錯:
private function init():void { var sp:Sprite = new Sprite(); addChild(sp);}
這是因為Application的addChild方法並非完全繼承自DisplayObjectContainer,而是在Container那裡被重寫了,雖然參數child的類型是DisplayObject,但是它必須實現IUIComponent接口(所有Flex組件都實現了這一接口),才能添加。
從mybeky's blog -
Flex Application裡的addChild()節錄一些句子:
在Flex Application裡,是不能直接用addChild添加Sprite,MovieClip等來自flash.display包裡的類的。譬如以下代碼就會報錯:
private function init():void { var sp:Sprite = new Sprite(); addChild(sp);}
這是因為Application的addChild方法並非完全繼承自DisplayObjectContainer,而是在Container那裡被重寫了,雖然參數child的類型是DisplayObject,但是它必須實現IUIComponent接口(所有Flex組件都實現了這一接口),才能添加。
星期二, 2月 02, 2010
Flex 組件的大小與各個屬性的差異
組件的大小(size)就是指組件的高度和寬度。查看Flex幫助,可以看出關於Flex組件大小的屬性有很多,以寬度為例,有以下有關寬度的屬性:
* width
* maxWidth
* minWidth
* explicitWidth
* explicitMaxWidth
* explicitMinWidth
* measuredWidth
* measuredMinWidth
* percentWidth
* scaleX
* 以及組件的MXML標記中的width屬性。
* width
* maxWidth
* minWidth
* explicitWidth
* explicitMaxWidth
* explicitMinWidth
* measuredWidth
* measuredMinWidth
* percentWidth
* scaleX
* 以及組件的MXML標記中的width屬性。
星期三, 1月 27, 2010
訂閱:
文章 (Atom)