學了不算短的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
星期六, 2月 27, 2010
用C#操作Xml
Xml的操作應該是非常常用的技巧
前陣子做的抓學校流量的程式
也就是把網頁上的東西撈下來分析而已XD
以下是一些在學的時候參考的網頁
NaCl- C# xml的操作
非常推薦先看完這篇,主要是講較常用的Class: XmlDocument的用法
基本上的東西都可以在這邊了解
接下來不懂的就慢慢翻MSDN了吧XDD
其他參考
yilinliu - [c#]Regular Expression抓取/取代特定資料的說明
KKcat ^_^ - xml大全加自己的一點心得
前陣子做的抓學校流量的程式
也就是把網頁上的東西撈下來分析而已XD
以下是一些在學的時候參考的網頁
NaCl- C# xml的操作
非常推薦先看完這篇,主要是講較常用的Class: XmlDocument的用法
基本上的東西都可以在這邊了解
接下來不懂的就慢慢翻MSDN了吧XDD
其他參考
yilinliu - [c#]Regular Expression抓取/取代特定資料的說明
KKcat ^_^ - xml大全加自己的一點心得
為甚麼不能用su? - Ubuntu 9.10 的root權限
剛用VirtualBox灌完Ubuntu ,要安裝一點更新,結果竟然發現不能用su
找到一些資料,隨手做個筆記。
Ubuntu安裝後,root用戶默認是被鎖定了的,不允許登錄,也不允許「su」到root。有人說這是個不好的實踐,特別是對於服務器來說。我覺得對於桌面用戶來說,這樣安全性更高一些,是應該的;但對於服務器可以設置成「允許su 到root,但不允許root用戶直接登錄」。
找到一些資料,隨手做個筆記。
Ubuntu安裝後,root用戶默認是被鎖定了的,不允許登錄,也不允許「su」到root。有人說這是個不好的實踐,特別是對於服務器來說。我覺得對於桌面用戶來說,這樣安全性更高一些,是應該的;但對於服務器可以設置成「允許su 到root,但不允許root用戶直接登錄」。
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月 19, 2010
Read a Web Page in C#
查了一下資料,用法大概有以下三種,稍微記錄一下
WebClient: Thinking more... - 讀取網頁
WebClient: 利用 WebClient 類別模擬 HTTP POST 表單送出的注意事項
webclient&HttpWebRequest: httpgreenerycn的專欄 - 用C#讀取網頁
WebBrowser: 軟體世界 - [C#] WebBrowser 元件
WebBrowser: 式門遁甲 - (C#)用WebBrowser控制項寫網頁抓取程式之一些心得
HttpWebRequest: 狼翔天地 - C#,從網頁上下載檔案範例
HttpWebRequest: 狼翔天地 - C#, 使用 HttpWebRequest 向網站提交資料
WebBrowser&webclient&HttpWebRequest: 水煮.net - C#三種模擬自動登錄和提交POST信息的實現方法
WebClient: Thinking more... - 讀取網頁
WebClient: 利用 WebClient 類別模擬 HTTP POST 表單送出的注意事項
webclient&HttpWebRequest: httpgreenerycn的專欄 - 用C#讀取網頁
WebBrowser: 軟體世界 - [C#] WebBrowser 元件
WebBrowser: 式門遁甲 - (C#)用WebBrowser控制項寫網頁抓取程式之一些心得
HttpWebRequest: 狼翔天地 - C#,從網頁上下載檔案範例
HttpWebRequest: 狼翔天地 - C#, 使用 HttpWebRequest 向網站提交資料
WebBrowser&webclient&HttpWebRequest: 水煮.net - C#三種模擬自動登錄和提交POST信息的實現方法
星期一, 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
Function中傳遞不定多個參數(.apply() , .call() ) :: 改善doNext
繼以function 當作 object :: 實作 doNext 之後,又注意到Function內的一個方便的函數
apply(thisArg:*, argArray:*):*
call(thisArg:*, ... args):*
最大的不同就是apply是將參數指定為一個 Array 對象。
如果在腳本實際執行前,無法知道要傳遞的參數的數量,那麼這種方法通常很有用。
(官方文件 : ActionScript 3.0 語言和組件參考 - Function)
apply(thisArg:*, argArray:*):*
call(thisArg:*, ... args):*
最大的不同就是apply是將參數指定為一個 Array 對象。
如果在腳本實際執行前,無法知道要傳遞的參數的數量,那麼這種方法通常很有用。
(官方文件 : ActionScript 3.0 語言和組件參考 - Function)
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組件都實現了這一接口),才能添加。
Html5 vs Flash
最近在學Flash,也正巧注意到Html5這個新東西。
Html5看起來似乎方便許多,許多的標籤也更符合需求也更人性化
flash如果不努力一點,說不定會被追過呢
說實在的也不知道未來會怎麼發展,不過我自己在猜
或許Flash會靠ActionScript3.0變得較偏程式設計這塊也說不定。
星期二, 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屬性。
訂閱:
文章 (Atom)