AS3.0 筆記重點11-20項
ActionScript3.0 2007/09/21 12:42 11.使用AS3的XML元件取得一個XML TAG的值時,和沒有定義的判斷方法
import flash.net.*;
import flash.events.*;
var URLstr:String="http://mydomain.com/myxml.xml";
var myXML:XML=new XML();
var myLoader:URLLoader=new URLLoader();
var myRequest:URLRequest=new URLRequest(URLstr);
myLoader.addEventListener(Event.COMPLETE,XMLinit);
myLoader.load(myRequest);
function XMLinit(e:Event):void {
var myLoader:URLLoader=URLLoader(e.target);
myXML=XML(myLoader.data);
trace(myXML.adFilePath=="");//TAG中沒有值傳回true
trace(myXML.adFilePath222==undefined);//不存在的TAG傳回true
}
12.執行sound.play()會RETURNㄧ個SoundChannel物件[具有stop() 方法、監視聲道振幅 (讀取音量) 的屬性,以及將 SoundTransform 物件(設定音量)設定為聲道的屬性]
13.在CS3中已沒有ReleaseOutSide這個事件了,而我們在CS3使用startDrag()做拖曳效果時還是會遇到ReleaseOutSide的問題,下列程式碼可以解決這個問題,模擬使用ReleaseOutSide這個事件
btn.addEventListener(MouseEvent.MOUSE_DOWN,btn_Down);
function btn_Down(e:MouseEvent):void {
btn.startDrag(false,new Rectangle(100, 100, 100, 100));
btn.stage.addEventListener(MouseEvent.MOUSE_UP,btn_Up);
}//把MOUSE_UP這個事件註冊再btn的stage上面是這個技巧的重點
function btn_Up(e:MouseEvent):void {
btn.stage.removeEventListener(MouseEvent.MOUSE_UP,btn_Up);
btn.stopDrag();
}
14.AS3的attachMovie
用這個~import flash.utils.getDefinitionByName;
像醬:getDefinitionByName(id.toString());//回傳class,記得NEW起來才可以用
15.Bitmap才可以被addChild因為BitmapData不是繼承DisplayObject,所以從元件褲動態抓過來的JPG(非MC)要再包一層Bitmap
像醬:new Bitmap(new BitmapData(width,height),PixelSnapping.AUTO,true);
16.AS3改顏色
var colorTransform:ColorTransform = square.transform.colorTransform;
colorTransform.color = 0xFF0000;
square.transform.colorTransform = colorTransform;
17.localToGlobal!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
//sMenu裡頭包很多myBtn 這段語法將會把myBtn.x轉換成"sMenu的PARENT"上的場景座標
var clickPoint:Point = new Point(myBtn.x, myBtn.y);
var targetPoint=sMenu.localToGlobal(clickPoint);
import flash.net.*;
import flash.events.*;
var URLstr:String="http://mydomain.com/myxml.xml";
var myXML:XML=new XML();
var myLoader:URLLoader=new URLLoader();
var myRequest:URLRequest=new URLRequest(URLstr);
myLoader.addEventListener(Event.COMPLETE,XMLinit);
myLoader.load(myRequest);
function XMLinit(e:Event):void {
var myLoader:URLLoader=URLLoader(e.target);
myXML=XML(myLoader.data);
trace(myXML.adFilePath=="");//TAG中沒有值傳回true
trace(myXML.adFilePath222==undefined);//不存在的TAG傳回true
}
12.執行sound.play()會RETURNㄧ個SoundChannel物件[具有stop() 方法、監視聲道振幅 (讀取音量) 的屬性,以及將 SoundTransform 物件(設定音量)設定為聲道的屬性]
13.在CS3中已沒有ReleaseOutSide這個事件了,而我們在CS3使用startDrag()做拖曳效果時還是會遇到ReleaseOutSide的問題,下列程式碼可以解決這個問題,模擬使用ReleaseOutSide這個事件
btn.addEventListener(MouseEvent.MOUSE_DOWN,btn_Down);
function btn_Down(e:MouseEvent):void {
btn.startDrag(false,new Rectangle(100, 100, 100, 100));
btn.stage.addEventListener(MouseEvent.MOUSE_UP,btn_Up);
}//把MOUSE_UP這個事件註冊再btn的stage上面是這個技巧的重點
function btn_Up(e:MouseEvent):void {
btn.stage.removeEventListener(MouseEvent.MOUSE_UP,btn_Up);
btn.stopDrag();
}
14.AS3的attachMovie
用這個~import flash.utils.getDefinitionByName;
像醬:getDefinitionByName(id.toString());//回傳class,記得NEW起來才可以用
15.Bitmap才可以被addChild因為BitmapData不是繼承DisplayObject,所以從元件褲動態抓過來的JPG(非MC)要再包一層Bitmap
像醬:new Bitmap(new BitmapData(width,height),PixelSnapping.AUTO,true);
16.AS3改顏色
var colorTransform:ColorTransform = square.transform.colorTransform;
colorTransform.color = 0xFF0000;
square.transform.colorTransform = colorTransform;
17.localToGlobal!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
//sMenu裡頭包很多myBtn 這段語法將會把myBtn.x轉換成"sMenu的PARENT"上的場景座標
var clickPoint:Point = new Point(myBtn.x, myBtn.y);
var targetPoint=sMenu.localToGlobal(clickPoint);
Trackback Address :: http://diary.tw/allenliao/trackback/306

