- ベストアンサー
Flash8でランダムにMCを配置する方法
- Flash8のwinXP環境で、6つのMC(h0~h5)をランダムに配置する方法を教えてください。
- 座標を決めて配置しようとしていますが、何かがうまくいっていないようです。どこが違うのでしょうか?
- お願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
> num = "_root.h" + R[i]; ここと, > num._x = "tx" + [i]; ここが違います。 これだと, num は『文字列:"_root.h" + R[i];』となります。 つまり, num は『文字列:"_root.h1"』や,『文字列:"_root.h5"』 などになるということです。 また, num._x にも 『文字列:"tx" + [i]』 が代入されます。 つまり, num._x には『文字列:"tx1"』や,『文字列:"tx5"』 などが代入されるということです。 num には MC が入り,num._x には数値が入らなければなりませんよね。 ここら辺を修正すると次のようになります。 ----------------------------------------- // 何らかの形で 配列 R に // 0~5 のランダムな要素が入ったものとする R = [2, 4, 1, 3, 0, 5]; tx0 = 60; tx1 = 136; tx2 = 212; tx3 = 288; tx4 = 364; tx5 = 440; for (i=0; i<6; i++) { num = _root["h"+R[i]]; num._y = 76; num._x = this["tx"+i]; } ----------------------------------------- 簡単に問題点をまとめると, 例のごとく『配列アクセス演算子』の部分に問題があります。 あと,おそらく,ご質問の文章の文字の方が間違っているのだと思いますが, > 6個のmc(h0~h5)をステージに この小文字の h が全角になっています。 これは,ここに書いた文字が間違っているだけで, Flash の方の MC のインスタンス名は半角の h にしていますよね。 それだと OK です。
お礼
ありがとうございました。 また、『配列アクセス演算子』で失敗していました。 そうか、文字列になってしまっていたのですね。 おかげさまで、うまくいきました。 これを参考に、今後、壁にぶちあたった時もできるだけ自力で道を 開けるようにしていきたいと思います。