- ベストアンサー
as2.0でattachMovieで新しいmcを生成する方法とは?
- as2.0でattachMovieを使用して同じ深度に新しいmcを生成する方法について教えてください。
- ライブラリには「go_next」というmcがあり、ステージには背景のmcがあります。
- mc「go_next」はボタンの役割を持っており、クリックすると背景のmcがスライドします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (1)
- BlurFiltan
- ベストアンサー率91% (1611/1754)
関連するQ&A
- duplicateMovieClipで生成したmcの深度
こんにちは。 Mac OS X/バージョン10.6.2 ActionSpript2,0 ステージ上にmcがあって、その後ろを duplicateMovieClipで空の背景を生成して移動させて 絶えず雲が動いているフラッシュを作りたいのですが・・・ 移動は上手くいったのですが、深度が上手く行かず 背景がmcの全面に来てしまいます。 よろしければご指導の程、お願いします。 背景=haikei ********************** var speed = 10; _root.haikei.duplicateMovieClip("haikei2",-1); ここで深度を設定しているんですよね?↑ _root.haikei2._x -= _root.haikei._width; this.onEnterFrame = function() { _root.haikei._x += speed; _root.haikei2._x += speed; if (_root.haikei._x>_root.haikei._width) { _root.haikei._x = _root.haikei2._x-_root.haikei._width; } if (_root.haikei2._x>_root.haikei2._width) { _root.haikei2._x = _root.haikei._x-_root.haikei2._width; } }; ***************** まだまだ未熟者で、duplicateMovieClip,depth等で検索などし、 試したのですが上手く行かず・・・理解できず・・・でした。 よろしくお願いします!
- ベストアンサー
- Flash
- attachMovieで表示した複数のMCが一瞬ずつしか表示されません
attachMovieでMCを複数表示しているのですが、 ランダムに表示したMCが一瞬ずつしか表示されません。 やりたいことは、aaaというMCが横位置と大きさがランダムで表示され、 下にまっすぐ落ちるという動きです。 こちらの記事を参考に作成しました。 http://oshiete1.goo.ne.jp/qa2500105.html -------------------------------------- // 深度の初期値を設定 var dep = 0; // 大きくなる限度を設定 var mag = 80; _root.dep++; _root.attachMovie("aaa", "myMC"+_root.dep, _root.dep); //座標を指定 _root["myMC"+_root.dep]._x = Math.random()*Stage.width; //下に落ちていく _root["myMC"+_root.dep]._y += 10; // 大きさを指定 var my_scale = Math.random()*_root.mag; _root["myMC"+_root.dep]._xscale = my_scale; _root["myMC"+_root.dep]._yscale = my_scale; -------------------------------------- ランダムに表示はできるのですが、すばやく消えて、すぐに次のMCが 表示されてしまいます。 同じ深度に表示されているように見えますが、 _root.dep++; で 深度は変わっているはずなんですが…。 ちなみに stop(); を入れたらひとつだけ表示されましたが 下に落ちていきませんでした…。 どうぞよろしくお願いいたします。
- ベストアンサー
- Flash
- MCの重なり順
今、ボタンをクリックするごとにattachMovieでステージ内にMC(ボールのアニメーション)を配置するというものを作っています。 ステージ内に設置したカラーバー(スライダー?)からsetRGBでそれぞれのMCに色をつけています。 そこで、それを応用して背景も色を変えられればいいなぁと思い、背景部分をMCにして背景ボタンを作り、 色を選択して背景ボタンを押すと、背景の色が変わるようにしました。 これで背景の色を自由に変えることができるようにはなったのですが、 クリックして出現させたボールMCの上に背景が重なってボールが見えなくなってしまいます。 きっとこれは深度に関係しているんだろうとは思いましたが、背景もattachMovieで複製させているため、どうしていいかわかりません。 もしくは、背景をMCにしないで色を変える方法があればいいのかとも思うのですが…。 環境はXP、FlashMXです。 どなたか分かる方、解答よろしくお願いします!!
- ベストアンサー
- Flash
- すべてのMCを1フレーム目へ
ステージ上にMCのインスタンスが100個あるとします。 ボタンのクリックで全部のMCを1フレーム目へ移動させたいと思っています。 _root.EVENT_btn.onRelease = function() { _root.A_mc.gotoAndStop(1); _root.B_mc.gotoAndStop(1); _root.C_mc.gotoAndStop(1); _root.D_mc.gotoAndStop(1); : : } とひとつずつ書くしかないのでしょうか? ほかに効率のよい書き方はありますか? (注)すべてのインスタンスの親は同一オブジェクトではありません。
- ベストアンサー
- Flash
- actionscript2.0でMCの切り替えなど
Flash初心者で勉強中の身なのですがどうか質問させてください。 根本的に間違っていたりできないことをやろうとしていたら申し訳ないです。。 その際にはこう改変した方がいいとのご指示をご教示頂きたいです。よろしくお願いいたします。 attachMovieを使ってライブラリ内のMCをステージに呼び出し、そのMCを押す度にそのMCを切り替えたいと考えています。 ライブラリにはa1,a2,,,a5、b1,b2,,,,b5,c1,d1,e1…という識別子をつけたMCを用意しています。 a-eの横幅は80×80です。 20ずつ間を空けて○1のMCを横一列に配置しました。 _root.attachMovie("a1", "a1",1, {_x: 100, _y: 100}); _root.attachMovie("b1", "b1",1, {_x: 200, _y: 100}); _root.attachMovie("c1", "c1",1, {_x: 300, _y: 100}); _root.attachMovie("d1", "d1",1, {_x: 400, _y: 100}); _root.attachMovie("e1", "e1",1, {_x: 500, _y: 100}); このMCを押すと、MCが数字の大きいものに切り替わる(b1を押すとb2のMCに…で5まで)ようにしたいので、 ひとつひとつを下記のscriptで記述しました。 _root.attachMovie("b1", "b1",1, {_x: 200, _y: 100}); b1.onPress=function(){ b1.removeMovieClip(); _root.attachMovie("b2", "b2",1, {_x: 200, _y: 100}); b2.onPress=function(){ b2.removeMovieClip(); _root.attachMovie("b3", "b3",1, {_x: 200, _y: 100}); b3.onPress=function(){ b3.removeMovieClip(); _root.attachMovie("b4", "b4",1, {_x: 200, _y: 100}); b4.onPress=function(){ b4.removeMovieClip(); _root.attachMovie("b5", "b5",1, {_x: 200, _y: 100});}}}} これをa-e同じことを繰り返しています。 ここからが問題なのですが、 ここで例えば a2,b5,c1,d3,e1 という風に適当に押されてMCが切り替わり、整列させるボタンが押された時、 その数字を参照して 縦に20pxずつ空けながら b5 (空行/4があった場合の行) d3 a2 c1(20pxの空白)e1 と並べ替えたいと思っています。 つまり、a-eが現在どの数字(○1,○2..)なのかを調べ、その数字の若い方から順に縦に配置させたいと考えています。 また、上のc1,e1のように1の数字のMCが2つ以上あった場合は、同じ行に20pxずつ空けて横に配置していきたいのです。 その調べた数字の順に縦と横に並べ替える(新たにステージ上に配置し直す)というルール付けをどういうscriptを書けば上手く行くかが自分ではどうにも分からず、ここから進めない状態です。。 誰がどんな回数押したとしてもそれに準じた整列をして欲しいのですが、そのやり方があるようでしたらどうかご教示頂きたいです。 また、上記の私の書き方では難しいようでしたらそこから改変したものをお教え願いたいです。 分からないことばかりで申し訳ないのですが、何卒よろしくお願いいたします。
- ベストアンサー
- Flash
- ランダムに mcを連続attachMovieさせるアニメ
MX2004初心者です。 ライブラリにsakura_mc(10フレーム)があります。 さくらの花びらが手前に飛んでくるこまアニメです。 //乱数生成関数 function rndInit(maxNum){ var a = math.random(); var b = Math.ceil( a*maxNum ); return b; } MC = "sakura" SW = Stage.width; SH = Stage.height; this.onEnterFrame = function(){ if( rndInit(10) == 1 ){ count ++; newName = MC + count; attachMovie( "sakura_mc", newName, 1 ); //表示位置の設定 this[ newName ]._x = Math.random()*SW; this[ newName ]._y = Math.random()*SH; } } この方法だと、sakura_mcがステージ上ランダムな位置に連続で再生 してくれます。 ただ、二つ以上のsakura_mcを同時にステージに再生はしてくれません。 sakura_mcを同時にいっぱい再生させたい場合はどうすればよいでしょうか? sakura2_mcをつくって同じ命令を追加してもダメでした。 よろしくお願いします。
- ベストアンサー
- Flash
- MC間でMCをやり取りできますか?
質問は初めてですがよろしくお願いします。 深度入れ替えの関係で(簡略化のため)、MCを似たような深度ずつに親MCにまとめる構造で作成してきました。 しかし、このやり方では、当初予定していた深度の移動はできますが、予定外の深度の移動が、不可能になりました。 やりたいこと _root.a.mc のような構造の中のmcというムービークリップを、 _root.b.mc の階層に移動したいのです。mcの持つ変数等も一緒に移動できるのが好ましいです。 不可能であれば、 attachMovie()、removeMovieClip()あたりを使って負荷のかかりそうなやり方で我慢しようとは思っています。 ParaFla!使用・SWF8:FLASH8相当の設定で製作中
- ベストアンサー
- Flash
- AS2 attachMovie 外部画像対応に
AS2 attachMovie 外部画像対応にしたい <やりたいこと> AS2 attachMovieを利用して、複数画像を読み込むサンプルがあるのですが、 これを外部画像読込対応に変更したいです。 <知りたいこと> AS2 attachMovieで、外部画像を読み込む簡単なサンプルコードを 作成していただけないでしょうか? あるいは、下記内容を、どう修正すればよいでしょうか? <現状> ・画像は「image_1」「image_2」「image_3」って感じで、ムービークリップにして、ライブラリへ入れてます。 ・ステージ上に画像は、配置せず、変わりに、ムービークリップのリンケージ識別子を、それぞれ「image_1」「image_2」「image_3」としています、また、「ASに書き出し」「最初のフレームに書き出し」にチェックを入れてます <現状のコード一部> next_bottun.onPress = function() { if (image_maisu>next_i) {//イメージ枚数より選択イメージが少なかったら next_i += 1;//選択イメージを加算 var mc_name = "image_"+next_i;//識別子の名前を変更して change_mc(mc_name, syoki_sokudo);//切り替わり関数に送る } }; function change_mc(mc_name, syoki_sokudo) { i++;//IDを加算して var new_name = "image_"+i;//インスタンス名を設定 var syoki = {_alpha:0, i:i, sokudo:syoki_sokudo};//初期値を設定 _root.main.attachMovie(mc_name, new_name, i, syoki);//mainの中に生成する
- 締切済み
- Flash
- attachMovieで生成したインスタンスを消す方法
1.現在A.B.C・・・・という名前の多数のボタンがあります 2.それぞれをクリックすると、A1.B1.C1・・・・とそれぞれのインスタンスがZ_mcというムービークリップ内に生成されます。その時にボタンに記述したスクリプト on (press) { Z_mc.attachMovie( "識別子", "A1", 1); } 3.このままですとA.B.C・・・・とボタンをクリックしていくとインスタンスがA1.B1.C1・・・・と同じ場所に生成されるため、重なってしまいます。 どのようにボタンにスクリプトを記載すれば、前に生成されたインスタンスを削除して、新しいインスタンスを生成できるのでしょうか?よろしくお願いします。
- ベストアンサー
- Flash
- attachMovieで生成したインスタンスへの文字代入
FlashMX(AS1.0)を使用しています。 ダイナミックテキストを子にしたムービークリップのインスタンスをattachMovieで配置したのですが、ダイナミックテキストに文字列を代入しても文字のみが表示されません。 試しに、duplicateMovieClipでコピーした場合はダイナミックテキスト内の文字は表示されています。 スクリプトは以下のように組んでいます。 (略) 1:cnt++; 2:samp_mc = "tag"+cnt; 3:_root.attachMovie("sym_ln",samp_mc,cnt);//sym_ln...ダイナミックテキストを含んだシンボルのリンケージ 4:samp_mc.dymtxt = "123";//dymtxt...ダイナミックテキストの変数名 インスタンスを配置してもdymtxtに表示されません。が、 3:base_mc.duplicateMovieClip(samp_mc,cnt);//base_mc...ステージに配置したmcのインスタンス名 とすると表示されます。 attachMovieを使用してインスタンスを配置するようにしたいのですが、文字が表示されないのはどこに原因があるのでしょうか?
- ベストアンサー
- Flash
お礼
BlurFiltanさん 説明が不十分にもかかわらず、 丁寧に回答して下さって、ほんとうにありがとうございます。 最初から、目的に合う方法を選べていなかったんですね。 すみません・・ 仮として背景mcにたくさんボタンを配置してonClipEventでスライドさせる仕掛けを書いていて、 それを残してボタンだけ別の方法で位置を固定しようとしたため、いつのまにか滅茶苦茶になっていました。 すべてのmcを予め配置して_visibleで表示/非表示にさせる方法をやってみます。 ほんとうに助かりました。 BlurFiltanさんの解説はとても分かりやすいので、他の方への回答なども見させて頂いて勉強しようと思います。 ありがとうございます。