![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
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で質問しましょう!
似たような質問が見つかりました
- Android(アンドロイド) Androidスマホの時刻の自動同期の頻度を短くしたい 4 2022/12/02 17:29
- SSL・HTTPS ルート証明書の有効期限がだいぶ前なのに時計が進んでいますと表示され今日になってみれなくなったサイト 1 2022/10/26 20:35
- その他(プログラミング・Web制作) pythonのグローバル変数 2 2022/11/25 18:02
- 英語 Systematic reviews have evaluated the efficacy of 2 2022/05/18 16:39
- UNIX・Linux メールアドレスにホスト名が入らないようにする設定 2 2022/06/23 21:06
- Windows 10 バッチファイルの記述法とルールについてアドバイスをお願いいたします。 1 2022/04/13 10:50
- Visual Basic(VBA) モードレスでユーザーフォームが開け(表示)ません。 4 2022/09/09 11:05
- その他(プログラミング・Web制作) pythonで、tkinterとpillowの組み合わせ 2 2022/08/16 17:42
- その他(パソコン・スマホ・電化製品) pthonのframeに演算結果(数値)を表示したい 1 2023/06/05 22:08
- UNIX・Linux マスターブートレコード方式のbiosを使ったシステムでインストールされたlinuxで/dev/sda 1 2023/05/13 21:23
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
多分探索木の高さを測定する関...
-
attachMovieについて(長文)
-
空のムービークリップを作成し...
-
ドラッグ&ドロップ
-
photoshopで書いた四角の枠の中...
-
VBScriptでMsgBoxのYesNoボック...
-
VBAで改行の入ったデータの正規...
-
POIでのテキストボックス作成に...
-
IP Address 入力フォームについて
-
変数に256文字以上のテキストを...
-
テキストボックスの中身をリセ...
-
Flashでカラーシュミレーション...
-
MCが放物線を描いて移動
-
外部SWF読み込み後の座標指定
-
シンボルの存在意義
-
python ボタンを押すと複数の関...
-
for & duplicateMovieClip & fu...
-
[AS3]自動的に画像が重なってい...
-
クリックされたインスタンス以...
-
Flashで文字の表示を
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
createEmptyMovieで作成したMC...
-
マウス 追従 範囲外
-
MovieClip(root)について
-
ムービークリップがマウスカー...
-
ドラッグで、mcの大きさを等倍...
-
360度パノラマ写真をループでき...
-
B-SHELL 特定の行を置き換えたい
-
多分探索木の高さを測定する関...
-
Suzukaで一行ニュースティッカ...
-
プログラミング、アーキテクチ...
-
photoshopで書いた四角の枠の中...
-
YOASOBI
-
VBScriptでMsgBoxのYesNoボック...
-
テキストボックスの中身をリセ...
-
五芒星は、悪魔崇拝とどういう...
-
VBAで改行の入ったデータの正規...
-
python ボタンを押すと複数の関...
-
else if文の順序を変えることに...
-
テキストボックスにセルの値を...
-
ipconfig /releaseって何ですか?
おすすめ情報