
ActionScript3.0で、ルートタイムラインにある変数の代入処理を、他の階層(ムービークリップなど)から命令する場合、
私は
MovieClip(root).hoge = MovieClip(root).fuga;
と書きますが、
MovieClip(root)を1回しか書かずに済ませる書き方は、ありませんでしょうか?
※その都度書くのは、あまり効率が良くないと思ったので。
たとえば、FlashLite1.1では、
tellTarget("/"){
hoge = fuga;
}
と書けて、効率が良いのですが、、、
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
前置きとして,
root の階層には変数「fuga」とその「fugaの値」がすでに与えられている(定義されている)ものとします。
その場合,
普通は次のように書きます。
//----------------------------------------
var my_mc:MovieClip = MovieClip(root);
my_mc.hoge = my_mc.fuga;
//---↓検証してみるとするなら↓---
trace(my_mc.hoge);
trace("↑↓同じでしょう?")
trace(MovieClip(root).hoge);
//----------------------------------------
もし仮に
root の階層には変数「hoge」とその「hogeの値」までもが
すでに与えられている(定義されている)場合に限っては
with も使えますが...(使えますがあまり推奨されていませんよ。)。
//----------------------------------------
var my_mc:MovieClip = MovieClip(root);
my_mc.hoge = 0;
with(my_mc){
hoge = fuga;
}
//---↓検証してみるとするなら↓---
trace(my_mc.hoge);
trace("↑↓同じでしょう?")
trace(MovieClip(root).hoge);
//----------------------------------------
回答ありがとうございます^^
大変参考になります。
MovieClip(root)と書くことで、
プロパティrootを、MovieClip型に型変換している、
と、私は理解しております。
MovieClip(root).hoge = MovieClip(root).fuga;
と書かずに、
var my_mc:MovieClip = MovieClip(root);
my_mc.hoge = my_mc.fuga;
と書くのは、
繰り返し、rootをMovieClip型に型変換するのは
効率が悪いから、でしょうか?
また、withを使った書き方があり、
なおかつ非推奨なんですね。
今まで疑問に思っていた部分が、スッキリしました。
ありがとうございます。
No.2
- 回答日時:
#1です。
#1の お礼 より引用
> MovieClip(root).hoge = MovieClip(root).fuga;
> と書かずに、
>
> var my_mc:MovieClip = MovieClip(root);
> my_mc.hoge = my_mc.fuga;
> と書くのは、
> 繰り返し、rootをMovieClip型に型変換するのは
> 効率が悪いから、でしょうか?
むむむむ???
それは確かにその通りです。
書かれている通りで効率が悪いからですが,
それ以前の問題で,
ご質問に
> MovieClip(root)を1回しか書かずに
> 済ませる書き方は、ありませんでしょうか?
と書かれているのでしょう?
ですから その "1回しか書かず" の例を示しているわけです。
効率が良い悪いよりもっと前段階(最低条件)の話でそう書いているのです。
>> MovieClip(root)を1回しか書かずに
>> 済ませる書き方は、ありませんでしょうか?
>と書かれているのでしょう?
>ですから その "1回しか書かず" の例を示しているわけです。
たしかに、私が、そうお願いしていました。
失礼しました^^;
大変勉強になりました。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
potplayerについて質問です
-
chrome flash
-
FLASHの再生はできないのでしょ...
-
uwscでExcelに自動記入
-
PHPの変数をAS3に渡す方法
-
FLASHでゲームを作っていた人は...
-
この曲はなんでしょう?
-
laptop go2からの買い替え、lap...
-
スクリップト
-
私のコンピューター上のファイ...
-
arduino プログラムについて
-
フラッシュゲームアーカイブ2
-
ウェブサイトで Flash が事実上...
-
Flashコンテンツを使ったWebサイト
-
Flash Playerのサポートが終了
-
Form内のselectを連動させるに...
-
Flashをブロックしないで
-
ダウンロードしたデジブックはa...
-
ad or script について
-
Flashplayerの運用について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スマホでサイトの画像を長押し→...
-
potplayerについて質問です
-
ゲオでカードを作るのは何歳か...
-
flash.ocxエラーについて
-
ウェブサイトで Flash が事実上...
-
chrome flash
-
uwscでExcelに自動記入
-
flash (.swf) を編集したい
-
arduino プログラムについて
-
Form内のselectを連動させるに...
-
ActionScript 3.0についての質...
-
laptop go2からの買い替え、lap...
-
Flashでの画像、フェードイン・...
-
私のコンピューター上のファイ...
-
Flash Builder 4.7 デザインモード
-
FLASHでゲームを作っていた人は...
-
Adobe(マクロメディア)のFLAS...
-
Excel VBAについて。
-
フラッシュゲームアーカイブ2
-
パソコンのリカバリーについて
おすすめ情報