在Flash內要讀取,所在網頁上所帶的參數
可透過loaderInfo.parameters讀取相關參數
但若是要讀取Flash Object ID則需要透過
ExternalInterface來取得
以下是判斷特定參數是否存在的測試
使用loadInfo讀取網頁 check html tag所帶參數
測試this.loaderInfo.parameters["test"]
1.tag:embed src="myflash.swf?"..
結果:false
2.tag:embed src="myflash.swf?test"
結果:false
3.tag:embed src="myflash.swf?test=11"
結果:true
2009年6月4日 星期四
2009年5月15日 星期五
取得TextField的TextFormat
通常對於fla已存在的textField要取得textField上設定的粗體,斜體,顏色等性質
如果透過
tf:TextFormat=myText.getTextFormat()
會發現
tf.size=12(有取到)
t.bold=undefined(沒抓到)
要抓到完整的textFormat還是要輸入取樣的文字範圍
tf:TextFormat=myText.getTextFormat(0,1)
就可以取得全部的值了
如果透過
tf:TextFormat=myText.getTextFormat()
會發現
tf.size=12(有取到)
t.bold=undefined(沒抓到)
要抓到完整的textFormat還是要輸入取樣的文字範圍
tf:TextFormat=myText.getTextFormat(0,1)
就可以取得全部的值了
2009年4月16日 星期四
解決與其他JS FrameWork衝突問題
jQuery的selector為$()
但許多其他frameWork亦使用$(),
要解決這部份衝突
1.jQuery.noConflict();
2.原本使用$,都改用jQuery
如$(this)
改為jQuery(this)
但許多其他frameWork亦使用$(),
要解決這部份衝突
1.jQuery.noConflict();
2.原本使用$,都改用jQuery
如$(this)
改為jQuery(this)
2009年4月9日 星期四
Flash解析xml,對空白tag判斷的幾種結果
當Flash由xml取得整份的xml資料,要檢查某個tag是否存在
或是否是空值
sample xml
測試結果
(xml.tag1=="")為true
(xml.tag2=="")為true
(xml.tag3=="")為true
(xml.tag4=="")為true
(xml.tag4)為true
即使node不存在還是會傳回true...不要用tag去做存在檢查
或是否是空值
sample xml
(test)
(tag1)(/tag1)
(tag2/)
(tag3) (/tag3)
(/test)
測試結果
(xml.tag1=="")為true
(xml.tag2=="")為true
(xml.tag3=="")為true
(xml.tag4=="")為true
(xml.tag4)為true
即使node不存在還是會傳回true...不要用tag去做存在檢查
2009年3月27日 星期五
載入外部swf當作Asset Library
如果在開發Flash專案,有部份asset可能需要動態更新
由設計人員進行維護,可以將asset存放在獨立的swf內
透過載入外部swf到主程式內操作使用
這部份可應用在需要做介面更換的程式或遊戲開發
1.載入外部swf檔案
這個要當作Asset Lib的swf擋,stage上可以不要放物件
lib內要被當作asset使用的物件,都要設定其linkage
linkage名稱就會被當作被Class名稱而被其他程式引用
2.載入完成後,透過取物件的applicationDomain屬性來取得
ApplicationDomain物件
3.利用ApplicationDomain物件的getDefinition()來取得所要的class
4.注意:當要實體化取得的class時,實體的類別還是要宣告為MovieClip
才不會出錯
相關連結
由設計人員進行維護,可以將asset存放在獨立的swf內
透過載入外部swf到主程式內操作使用
這部份可應用在需要做介面更換的程式或遊戲開發
1.載入外部swf檔案
這個要當作Asset Lib的swf擋,stage上可以不要放物件
lib內要被當作asset使用的物件,都要設定其linkage
linkage名稱就會被當作被Class名稱而被其他程式引用
2.載入完成後,透過取物件的applicationDomain屬性來取得
ApplicationDomain物件
3.利用ApplicationDomain物件的getDefinition()來取得所要的class
4.注意:當要實體化取得的class時,實體的類別還是要宣告為MovieClip
才不會出錯
var myLoader:Loader= new Loader();
var myUrlReq:URLRequest= new URLRequest(_path);
myLoader.load(myUrlReq);
myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded);
function onLoaded(event:Event):void{
var appDomain:ApplicationDomain = event.target.applicationDomain;
var myClass:Class = Class(appDomain.getDefinition(_name));
var myInstance:MovieClip=new myClass();
addChild(myInstance)
}
相關連結
訂閱:
文章 (Atom)