![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
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ランキング
-
多分探索木の高さを測定する関...
-
チェックボックスのテキストを...
-
テキストボックスの中身をリセ...
-
VB.NETでパラメータクエリを使...
-
arduino プログラムについて
-
C# chart controlの透過について
-
変数に256文字以上のテキストを...
-
五芒星は、悪魔崇拝とどういう...
-
else if文の順序を変えることに...
-
【VB.NET】別Formのボタンが押...
-
YOASOBI
-
VBAで改行の入ったデータの正規...
-
Flash8での文字数と画像幅、画...
-
python ボタンを押すと複数の関...
-
ACCESSフォームで、入力から一...
-
photoshopで書いた四角の枠の中...
-
マスクをとるとオーバーフロー...
-
VB.NET2005 DataGridViewでレコ...
-
ダイナミックテキストについて
-
ムービークリップの中のボタン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
AS2でカスタムカーサーを使って...
-
function
-
360度パノラマ写真をループでき...
-
[actionscript] XMLを使ってス...
-
多分探索木の高さを測定する関...
-
MovieClip(root)について
-
AS3でのNowLoading処理について
-
ドラッグ&ドロップ
-
Flash professional CS5を使っ...
-
Flash AS2でMCをDragしたいです
-
ドラッグをさせない方法は?
-
マウスアウトで非表示にする
-
AS2をAS3にしたい
-
startDragの範囲
-
ドラッグで、mcの大きさを等倍...
-
ムービークリップがマウスカー...
-
1フレームにActionを設定した...
-
空のムービークリップを作成し...
-
attachMovieについて(長文)
-
FLASHフォトアルバムの画像を外...
おすすめ情報