質問: function(){ _root.mc._width += 10; _root.mc._height += 10; }; しかしこのようにすると、._widthと.widthを両方使ってしまいます。 そもそも、この二つの違いは何なのでしょうか?
回答: #1 です。 > このようにしないとうまくいかないのですが......。 「うまく行く行かない」は状況の説明ではなく,「好き・嫌い」と同じ単なる主観です。 つまり「どうなった」のかはわかりません。 さらにまた, 「どうしてみた」ということを具体的に書かれていらっしゃらないため, 何が悪いとも言えませんよ。 新規ドキュメントを作成して, 次の4例を _root のフレーム1にコピペして, それぞれの例について 「制御」→「ムービープレビュー」 してみてください。 【例1】 ------------------------------------ _root.createEmptyMovieClip("mc", 1); // 基準点左上で1辺5pxの赤い■を描く _root.mc.beginFill(0xFF0000); _root.mc.moveTo(0, 0); _root.mc.lineTo(5, 0); _root.mc.lineTo(5, 5); _root.mc.lineTo(0, 5); _root.mc.endFill(); // ↓アンダースコア無しでは _root.mc.width = 50; _root.mc.height = 50; // ↑※結果:5×5px のまま ------------------------------------ 【例2】 ------------------------------------ _root.createEmptyMovieClip("mc", 1); // 基準点左上で1辺5pxの赤い■を描く _root.mc.beginFill(0xFF0000); _root.mc.moveTo(0, 0); _root.mc.lineTo(5, 0); _root.mc.lineTo(5, 5); _root.mc.lineTo(0, 5); _root.mc.endFill(); // ↓アンダースコア有りでは _root.mc._width = 50; _root.mc._height = 50; // ↑※結果:50×50px になる ------------------------------------ 【例3】 ------------------------------------ _root.createEmptyMovieClip("mc", 1); // 基準点左上で1辺5pxの赤い■を描く _root.mc.beginFill(0xFF0000); _root.mc.moveTo(0, 0); _root.mc.lineTo(5, 0); _root.mc.lineTo(5, 5); _root.mc.lineTo(0, 5); _root.mc.endFill(); // ↓アンダースコア無しでは _root.mc.width = 50; _root.mc.height = 50; _root.onEnterFrame = function() { _root.mc._width += 10; _root.mc._height += 10; }; // ↑※結果:5×5px から大きくなる ------------------------------------ 【例4】 ------------------------------------ _root.createEmptyMovieClip("mc", 1); // 基準点左上で1辺5pxの赤い■を描く _root.mc.beginFill(0xFF0000); _root.mc.moveTo(0, 0); _root.mc.lineTo(5, 0); _root.mc.lineTo(5, 5); _root.mc.lineTo(0, 5); _root.mc.endFill(); // ↓アンダースコア有りでは _root.mc._width = 50; _root.mc._height = 50; _root.onEnterFrame = function() { _root.mc._width += 10; _root.mc._height += 10; }; // ↑※結果:50×50px から大きくなる ------------------------------------ 【例4】 では 「結果:50×50px から大きくなる」 になります。 これを kisori さんの主観では「うまく行かなかった」というのでしょうか? それとも「うまく行った」というのでしょうか? また, 【例1】の結果と【例2】の結果もしっかりと見くらべてください。 【例1】をあえて間違いではないものとして, width や height に関する意味書くとするなら, // _root.mc内の 変数 width に 50 を代入 _root.mc.width = 50; // _root.mc内の 変数 height に 50 を代入 _root.mc.height = 50; という意味になります。 変数に値を代入しただけで,幅や高さのプロパティは一切指示していません。 _root.mc内の 変数 width や height に 50 が代入されることを「うまく行った」とするなら, それはそれで良いのではないでしょうか? 野中文雄さんの 「番外編 - 質問NGワード集 - テクニカルノート」 より 【うまくいきません】