2010年03月19日

thisかselfかrootかはっきりせい

いやー
thisってのが曲者なんですわ。

あ、Javaやってる人や、C++の人は気にしないでね。
これはActionScriptの話ざんす。

いわゆるグローバルなプロパティなんざんすが、_rootは、タイムライン(ムービークリップ)のベースのインスタンスを常にさしているのですわ。真の意味のroot。
それに対して、thisってのは、一向に定まらないざんす。
まるで、カレントディレクトリをあらわしているようなものなのですわ。

Flashというのは、ステージにいろいろ貼り付けるわけで、それがタイムラインを持っているムービークリップなら、そのインスタンスがthisのはずなのに・・・
でもそのクリップが、コントロールだったりするとそうはいかのテンプラなのでした。
コントロールは、図書館のように、シンボルクリップを格納しているライブラリよろしく便利に作れるのはいいんだけれど、貼るとそのインスタンスは何? this? self? _root?

ぶぶー
_rootにあるシンボルってな具合でインスタンスを見れば使えるギリス。
でもねー
thisじゃ、つかえねえギリス。
え?
CS4のバグ?
これを使うにはさ。

一旦セルフコピーするのよ。
こんな感じ

 _self = this;

_self.attachMovie_self.***,"hoge",_self.getNextHighestDepth());

みたいな・・・
あ、_selfってのは、グローバルプロパティじゃないから、
プライベートか何かのスコープで宣言しておくざます。
private var _self:MovieClip;

ちゃんとthisを使えるようにするギリス。


この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/36520248

この記事へのトラックバック