第3回 勉強会 特設サイト | h9 Inc.

Actionscript3.0 < ナビゲーション周り >

→ ボタン処理系
→ xmlパース
→ イベントリスナーとは
→ 画像周り


■ボタン処理系



☆000_enterFrame.fla

mc.addEventListener( Event.ENTER_FRAME, onEnterFrameHandler ); function onEnterFrameHandler( event:Event ) { mc.x++; }


☆001_botton_引数について.fla

function onClickButton(e) { trace( e.target.name + "を押しました"); } button1.addEventListener(MouseEvent.CLICK,onClickButton);


☆002_ボタンとロールオーバー1.fla

button.buttonMode = true; //ロールオーバー function onRollover(event:MouseEvent):void { button.alpha=1 } //ロールアウト function onRollout(event:MouseEvent):void { button.alpha=0 } button.alpha=0; button.addEventListener(MouseEvent.ROLL_OVER, onRollover); button.addEventListener(MouseEvent.ROLL_OUT, onRollout);


☆003_ボタンとロールーオーバー2__fade.fla

button.buttonMode = true; //ロールオーバー function onRollover(event:MouseEvent):void { button.addEventListener(Event.ENTER_FRAME, onRollover2); button.removeEventListener(Event.ENTER_FRAME, onRollout2); } function onRollover2(event:Event):void { (button.alpha<=1) ?button.alpha+=(1.1-button.alpha)/3 : button.removeEventListener(Event.ENTER_FRAME, onRollover2); } //ロールアウト function onRollout(event:MouseEvent):void { button.addEventListener(Event.ENTER_FRAME, onRollout2); button.removeEventListener(Event.ENTER_FRAME, onRollover2); } function onRollout2(event:Event):void { (button.alpha>=0) ?button.alpha+=(-0.1-button.alpha)/3 : button.removeEventListener(Event.ENTER_FRAME, onRollover2); } button.alpha=0; button.addEventListener(MouseEvent.ROLL_OVER, onRollover); button.addEventListener(MouseEvent.ROLL_OUT, onRollout);


☆004_for文_.fla

var ttt=[m0,m1,m2]; for (var i=0; i<3; ++i) { ttt[i].n=i; ttt[i].addEventListener(MouseEvent.CLICK, nnn); } buttonMode = true; function nnn(event:MouseEvent):void { trace(event.target.name); trace(event.target.n); }


☆005_event.target as MovieClip.fla

function onRollover(event:MouseEvent):void { var mc:MovieClip=event.target as MovieClip; mc.frag=1; mc.addEventListener(Event.ENTER_FRAME, onEnterframe); } function onRollout(event:MouseEvent):void { var mc:MovieClip=event.target as MovieClip; mc.frag=0; mc.addEventListener(Event.ENTER_FRAME, onEnterframe); } function onEnterframe(event:Event):void { var mc:MovieClip=event.target as MovieClip; if (mc.frag==1) { (mc.alpha<=1) ?mc.alpha+=(1.1-mc.alpha)/3 : mc.removeEventListener(Event.ENTER_FRAME, onEnterframe); } else { (mc.alpha>=0) ?mc.alpha+=(-0.1-mc.alpha)/3 : mc.removeEventListener(Event.ENTER_FRAME,onEnterframe); } } function onClick(event:MouseEvent):void { trace(last_num); // mc_array[last_num].mouseEnabled = true; mc_array[last_num].frag=0; mc_array[last_num].addEventListener(MouseEvent.ROLL_OUT, onRollout); mc_array[last_num].addEventListener(Event.ENTER_FRAME, onEnterframe); // mc_array[event.target.n].mouseEnabled =false; mc_array[event.target.n].removeEventListener(MouseEvent.ROLL_OUT, onRollout); // last_num=mc_array[event.target.n].n; // } var last_num:int =0; //ステージにbutton0,button1,button2を置く var mc_array=[button0,button1,button2]; for (var i=0; i<3; ++i) { mc_array[i].n=i; mc_array[i].frag=0; mc_array[i].alpha=0; mc_array[i].buttonMode = true; mc_array[i].addEventListener(MouseEvent.CLICK, onClick); mc_array[i].addEventListener(MouseEvent.ROLL_OVER, onRollover); mc_array[i].addEventListener(MouseEvent.ROLL_OUT, onRollout); } //初期化が必要な場合。。。 mc_array[last_num].alpha=1; mc_array[last_num].mouseEnabled =false;


☆006_ボタンとロールーオーバー_main_sub.fla

長いので省略♪


■xmlパース




☆007_外部XML_URLLoader

// 外部XMLはURLLoaderで読み込む var myLoader:URLLoader = new URLLoader(); myLoader.addEventListener(Event.COMPLETE, completeData); myLoader.load(new URLRequest("test.xml")); // 読み込み完了後の処理 function completeData(event:Event):void { // 読み込んだ文字列をmyXMLに入れる var myXML:XML = new XML(myLoader.data); // データのnameとpriceの値をリストアップ表示 for (var i = 0; i < myXML.drink.length(); i++) { trace(myXML.drink[i].name); trace(myXML.drink[i].@price); } }


■イベントリスナーとは



↓ここで勉強しましょう♪
http://oshige.com/flash/as3note/2007/07/511.html


☆008_ドラッグと階層.fla

//window上でマウスボタンを押した時に実行する関数 function window_onDown(e:MouseEvent) { if (e.target==e.currentTarget) { //イベント発生対象と,イベント通知対象(window)が //等しければドラッグ開始 e.currentTarget.startDrag(); message.text = "windowをドラッグ開始"; //ボタンを離したときと,画面外までドラッグしたときに関数を実行 e.currentTarget.addEventListener(MouseEvent.MOUSE_UP,window_onUp); e.currentTarget.addEventListener(MouseEvent.MOUSE_OUT,window_onUp); } } //window上でマウスボタンを離した時に実行する関数 function window_onUp(e:MouseEvent) { if (e.target==e.currentTarget) { //ドラッグ解除 e.currentTarget.stopDrag(); //イベント処理を外す e.currentTarget.removeEventListener(MouseEvent.MOUSE_UP,window_onUp); e.currentTarget.removeEventListener(MouseEvent.MOUSE_OUT,window_onUp); message.text = "windowのドラッグ終了"; } } //ボタン上をクリックしたときの処理 function button_onClick(e:MouseEvent){ message.text = e.target.name + "をクリックしました"; } //イベントを関連付ける window.addEventListener(MouseEvent.MOUSE_DOWN,window_onDown); window.button1.addEventListener(MouseEvent.CLICK,button_onClick);


■画像周り




☆009_外部サイトの画像を取得.fla

var loader:Loader = new Loader(); var req:URLRequest = new URLRequest("http://k.yimg.jp/images/top/sp/logo.gif"); loader.load(req); addChild(loader); loader.x=50 loader.y=50


☆010_スライドショー

参加者だけの特典♪


h9 Inc.