[AS3.0] MouseEvent時のtarget指定
- 2010年5月17日 10:00
- ActionScript3.0 | Memo
完全に個人用の覚書(笑)
MouseEvent時のtargetで意図したMovieClipが指定されずに困ってたのが解決できたのでメモ。
そもそも子に[InteractiveObject](DisplayObjectContainerやTextFieldなど)を持つかどうかでイベントのターゲットが異なるようでよく起こりうる話。
以下簡略化したコードサンプル。
そのままコピーしても動かないです。
[変更前]
var mc : MC01= new MC01(); // 任意のMC
var mc_child : MC02= new MC02(); // InteractiveObjectを持つMC
mc.addChild( mc_child );
addChild( mc );
mc.addEventListener( MouseEvent.CLICK, mouseClick );
function mouseClick ( e : MouseEvent ) : void {
trace( e.target ); // [mc_child]
}
そんなときは1行追加するだけで解決。
[変更後]
var mc : MC01= new MC01(); // 任意のMC
var mc_child : MC02= new MC02(); // InteractiveObjectを持つMC
mc.addChild( mc_child );
addChild( mc );
mc.mouseChildren = false; // ここを追加
mc.addEventListener( MouseEvent.CLICK, mouseClick );
function mouseClick ( e : MouseEvent ) : void {
trace( e.target ); // [mc]
}
最近知らないプロパティがたくさん出てきて覚えるのが大変。
- Comments: 0
- TrackBacks: 0
[AS3.0] rootの変数にアクセスする
- 2010年5月15日 11:05
- ActionScript3.0 | Memo
一般常識なのかもしれないけど、知らなかったのでメモ。
AS2なんかだと簡単にアクセスできてたrootの変数にアクセスできなくて困ってたのであれこれ調べたりやってみたりしてて、ようやく謎が解けた。
[AS2]
_root.variable = "hogehoge";
[AS3]
MovieClip(root).variable = "hogehoge";
MovieClip か Object にキャストしてやるとアクセス出来るようになるみたい。
そんなんわかるかー!ヽ(#`ロ´)ノ(笑)
- Comments: 0
- TrackBacks: 0
[AS3.0] 外部XMLの読み込み
- 2010年4月13日 14:13
- ActionScript3.0 | Memo
XMLの読み込みなんかは、よく使う処理なのでクラス化して使う方が便利。
CMSツールなんかでXMLを書き出して、それを利用するなんかはよくみる手法ではないかと思います。
TwitteenやNicoRankingでも使っています。
XML形式のデータはすごく扱い易くて便利ですよー。
と、言ったところでコードサンプル。
package {
import flash.net.URLLoader;
import flash.net.URLLoaderDataFormat;
import flash.net.URLRequest;
import flash.events.Event;
import flash.events.EventDispather;
import flash.system.System;
public class XMLLoader extends EventDispatcher {
var urlLoader : URLLoader;
var xml : XML;
/*
* コンストラクタ
*/
public function XMLLoader ( _url : String, _isUnicode : Boolean = true ) {
urlLoader = new URLLoader();
urlLoader.dataFormat = URLLoaderDataFormat.TEXT;
urlLoader.addEventListener( Event.COMPLETE, urlLoaderCompleted );
System.useCodePage = ! _isUnicode;
urlLoader.load( new URLRequest( _url ) );
}
/*
* XML読み込み完了時
*/
private function urlLoaderCompleted ( e : Event ) : void {
try {
xml = new XML( urlLoader.data );
dispatchEvent( new Event( Event.INIT ) );
dispatchEvent( new Event( Event.COMPLETE ) );
} catch ( e : TypeError ) {
trace( e.message );
}
}
/*
* XMLデータを取得
*/
public function get data () : XML {
return xml;
}
}
}
上記コードを[XMLLoader.as]の名前で保存、インクルードしていると仮定した状態でのサンプルがこちら。
var xmlLoader : XMLLoader = new XMLLoader("XMLファイルのURL", true);
xmlLoader.addEventListener( Event.INIT, function ( e : Event ) : void {
var xml : XML = xmlLoader.data;
// 以下省略
} );
このように1行でXMLデータの取得が可能です。
あとはイベントリスナーの中で好き勝手データを触ることができるます。
例えばRSSデータならXMLListに格納してfor eachで回すなどで自由自在に扱えるはず。
- Comments: 0
- TrackBacks: 0
[AS3.0] Progression (1)
- 2010年4月 8日 21:06
- ActionScript3.0 | Memo
最近Progressionの名前をよく見かけるのでちょっと触ってみようと思ってメモ。
と言ってもまだ環境設定しただけで、なんにも作ってないからインストール設定までを覚書。
開発環境は Windows7 / Adobe Flash CS3 / Progression 4.0.1 RC1 なので、
もし参考にされる方がいらっしゃるようでしたら適当に置き換えて読んでください。
Progression - Framework for Flash > Progression 4 RC
Progression - Framework for Flash > ドキュメント
- Comments: 0
- TrackBacks: 0
[AS3.0] BitmapDataの透過
- 2010年3月30日 11:41
- ActionScript3.0 | Memo
知らなかったのでメモ。
/*
* width : int 横幅
* height : int 縦幅
* transparent : Boolean 透過するかどうか
* fillcolor : uint 背景色
*/
var bmd : BitmapData = new BitmapData( 300, 300, true, 0xffffff );
bmd.draw( hoge ); // hogeは適当なMC
addChild( new Bitmap( bmd ) );
これで300x300の背景透過Bitmapを表示、らしい。
今まで第3引数をfalseにしてた。
そりゃ透過しないわけだよ!
差し当たってTwitteenの一覧表示タイプに適用してみた。
時間とツイートが重なっても見えるようになったはず。
- Comments: 0
- TrackBacks: 0
- GAME
- [NDS] ポケットモンスターブラック
/ ホワイト
- [PSP] 英雄伝説 零の軌跡 限定版
/ 通常版
- [PS3] グランツーリスモ5 本体同梱版
- [PS3] グランツーリスモ5 初回生産版
/ 通常版
- [PSP] The 3rd Birthday
- [PC] 魔法使いの夜 初回版
- [PS3] 魔界戦記ディスガイア4 初回限定版
/ 通常版
- Blu-ray / DVD
- [BD] Angel Beats! 4
- [BD] Fate/stay night UNLIMITED BLADE WORKS
- [BD] Angel Beats! 5
- [BD] Angel Beats! 6
- [BD] 涼宮ハルヒの消失 限定版
/ 通常版
- [BD] Angel Beats! 7
- [BD] 劇場版 こわれかけのオルゴール
- [BD-BOX] 涼宮ハルヒの憂鬱
- [BD-BOX] 空の境界
- PlayStation3
- 160GB黒
/ 160GB白
/ 320GB黒
- 160GB + torne
- torne
- サラウンドサウンドシステム CECH-ZVS1
- YOU: サーバ移転後のコメン read more
- YOU: >すいさん こんにち read more
- すい: はじめまして。 tw read more
- Tr: 回答ありがとうござい read more
- にょぞみ: こんにちは。 いつも read more
- YOU: ツイートの取得は全て read more
- Tr: 昨日からツイッターを read more
- にょぞみ: ご報告遅れてすいませ read more
- YOU: Flashのせいか、 read more
- 遊民。: ソースを眺めていて、 read more
