メイン 迷える子羊の部屋【初心者専用】 途切れる | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
xx_waka_xx | Åê¹ÆNo.17510 投稿日時: 2005-5-26 22:05 |
新米 居住地: 投稿: 7
使用環境:
WinXP MX2004 |
途切れる 2004を使用しています
はじめまして・・・ 教えてほしいことがあります。 a = 0; for (y=0; y<12; y++) { for (x=0; x<12; x++) { duplicateMovieClip("z", "z"+y+x, ++a); eval("z"+y+x)._x = 5+(x*5); eval("z"+y+x)._y = 5+(y*5); } } zを複写して並べてみたのですが、なぜか途中で切れているみたいなのですがなぜでしょう。教えてください。 |
Fla4man | Åê¹ÆNo.17511 投稿日時: 2005-5-26 22:23 |
職人 居住地: かまくら 投稿: 517
使用環境:
WinMe,Win2000, Flash4,アズさん,大仏、delphi |
Re: 途切れる それは式がおかしいからです。
ループのつもりのところ("z"+y+x)に注目してください。 多分他の人が見たらおかしいのが当たり前、 何がしたいのかわからないと思うかもしれません。 しかし大切なのは ちゃんと目的どうり動くつもりの式を書いた しかし結果が予想と違う なぜだかわからない というプロセスがどうして発生したかという点にあるのでは無いかと思います。 xとyにそれぞれ0から3程度まででいいので 実際に数を代入してステップ毎に値を見るとか あるいは手計算で紙とかtxtにループごとの値を書いてみるとか そういった作業を通して何が悪かったか理解することが大事だとおもいます。
|
森 巧尚 | Åê¹ÆNo.17512 投稿日時: 2005-5-26 22:50 |
モデレータ 居住地: 宝塚 投稿: 650
使用環境:
.5/CS4/Safari3 XP+2000//IE6 |
Re: 途切れる そうですね。
Fla4manさんの言われるように「"z"+y+x」のところに原因があります。 「文字」+「数字」+「数字」は文字になるので、xx_waka_xxさんはそれを利用して新しい名前を作ろうとしているのですね。 ですが、これによってどのような文字ができあがるかまで予想されればよかったのです。 途切れてしまうという問題は「数字が2桁になったときに、duplicateMovieClipで指定する名前に同じものができてしまうため」、一度複製されたムービークリップがあとから上書きされて消されるために起こるのです。 (ですから、このときの「xとyにそれぞれ0から3程度」ではうまく動くので気がつかないかも知れません。) for文の中で「trace("z" + y + x);」と記述して試してみましょう。 x=0、y=1のときは「z01」となります。 x=1、y=0のときは「z10」となります。 x=1、y=10のときは「z110」となります。 ところが、 x=11、y=0のときも「z110」となってしまいます。 これは、「2つの数字がくっついてしまうために起こってしまう現象」なので、防ぐには 2つの数値の間に「数字以外の文字」を間に挟んでやるなどの対応策が考えられますね。 例えば、「"z" + y + "-" + x」のようにしてみてはいかがでしょう。 そうすれば、「z1-10」「z11-0」と別々のインスタンス名を指定することができるので消えることはなくなります。
|
野中文雄 | Åê¹ÆNo.17513 投稿日時: 2005-5-26 23:08 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: 途切れる 書きかけていた内容は、ほとんど森さんが説明されてしまいました。しかたないので、若干の補足です。
姑の突込みのようで恐縮ですが、同名のMovieClipインスタンスであっても、深度が異なれば上書きはされずに存続します。ただ、先に生成された方[*1]が制御対象になるので、後から作成されたインスタンスは(xy座標が動かず)、複製元の真上に重なったままになります。 引用: 森 巧尚さんは書きました: あるいは、yに100掛けてもよいですね。
例えば、「"z" + y + "-" + x」のようにしてみてはいかがでしょう。 MovieClip. duplicateMovieClip()メソッドを使えば、Flash Player 6以降は戻り値が使えるので、問題は解消します。とはいえ、インスタンス名の重複は後々問題になりえるので、避けるべきことに変わりはありません。
なお、ご使用の環境は、プロフィールに記入されるとよいでしょう。 引用: xx_waka_xxさんは書きました: _____ [*1] 簡単にテストしてみたところでは、厳密には深度の低い方が対象になるようです。 |
xx_waka_xx | Åê¹ÆNo.17515 投稿日時: 2005-5-26 23:21 |
新米 居住地: 投稿: 7
使用環境:
WinXP MX2004 |
Re: 途切れる 途中で途切れるのは名前の付け方が悪かったのですか…
以後気をつけます。すばやい対応ありがとうございます。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |