• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:何で重なり合おうとするんでしょうか??)

なんで重なろうとするんでしょうか??

ibara994の回答

  • ベストアンサー
  • ibara994
  • ベストアンサー率75% (9/12)
回答No.3

よく分かりませんが、startMM内の mc.addEventListener(Event.ENTER_FRAME,moveMM); を mm.addEventListener(Event.ENTER_FRAME,moveMM); に、したらどうでしょう?

関連するQ&A

  • 上手くいきません。

    なぜ上手くいきませんか??? http://image32.bannch.com/bbs/43055/img/0246328923.swf ↑のページを見てください。 var cnt:int=0; var myTimer:Timer=new Timer(2000,0); function moveMC(e:Event):void { if (mc.x<250) { if (mc.x<cnt*50) { mc.x+=10; } }else { mc.x=0; }} というコードで250まで行ったら0に戻すという処理をしていますが、0に戻ってからの動きにタイムイベントが反映されません。 どうしたらいいですか??

    • ベストアンサー
    • Flash
  • AS3.0 timer関数 経過時間について

    myTimer = new Timer (5000, 0); myTimer.addEventListener (TimerEvent.TIMER, onTimeUp); function onTimeUp (e:TimerEvent):void { trace("onTimeUp"); } timer の経過時間を調べる手段ってありますでしょうか?? 例えば上の例では5秒後 onTimeUp() を実行しますが、その5秒までの間の経過を監視したいのです。 パーセンテージでも何でもいいので取得できればと思います。 それともそんな事は timer 以外でなければ無理でしょうか。。

    • ベストアンサー
    • Flash
  • 関数を停止するには。。。。

    function moveMC(e:Event):void { if (mc.x<550) { if (mc.x<cnt*50) { mc.x+=30; mm.x+=30; } moveMCを止めたいので b1.addEventListener(MouseEvent.MOUSE_OVER, mcstop); function mcstop(event:MouseEvent):void { moveMC.stop(); } としたら1061エラーでstopが定義されていないと出ました。 どう定義させたらいいのでしょうか??

    • ベストアンサー
    • Flash
  • AS3:ステージリサイズするとムービークリップをすべて削除して何秒か後

    AS3:ステージリサイズするとムービークリップをすべて削除して何秒か後にまた、ムービークリップを設置。 ステージ横一杯にムービークリップ(以下MC)を縦2列で並べてステージをリサイズするたび、 MCをすべて削除してまた横一杯にMCを2列で並べるというものを作成中なのですが、リサイズの仕方によってはMCが何個か残ってしまいMCを再配置できないという現象がおきます。 以下のようにコーディングしているのですがどこが問題なのでしょう? 環境:AS3、Flash CS4、MC:W:80xH:100 Set(); stage.align=StageAlign.TOP_LEFT; stage.scaleMode=StageScaleMode.NO_SCALE; stage.addEventListener(Event.RESIZE,AddMC); function AddMC(eventObject:Event):void { var delate:uint=mc.numChildren; for (var k:uint=0; k<delate; k++) { mc.removeChildAt(k); } if (delate<=0) { var SetTimer:Timer=new Timer(500,1); SetTimer.addEventListener(TimerEvent.TIMER,ReAdd); SetTimer.start(); function ReAdd(eventObject:TimerEvent):void { Set(); } } } // function Set():void { var yoko:uint=Math.ceil(stage.stageWidth/80); for (var i:uint=0; i<yoko; i++) { for (var j:uint=0; j<2; j++) { var BX:MovieClip=new box(); mc.addChild(BX); BX.x=40+80*i; BX.y=50+100*j; } } } よろしくお願いします。

    • ベストアンサー
    • Flash
  • AS3.0 Timerの使い方

    AS3.0 Timerの使い方 a_mc、b_mc、c_mcがあり、a_mcが再生された1秒後にb_mcを作動させ b_mcが再生された0.5秒後にc_mcを再生というようにしたいのですが その場合、Timerはどのようにすれば良いのでしょうか? 初心者ですので、なるべく基本的な作り方が理想です。 下記のコードを参照にして頂ければと思います。 また、下記で間違っている部分がありましたらご指摘ください。 Flash CS3を使用しております。 宜しくお願い致します。 a_mc.y = 450; b_mc.y = 450; c_mc.y = 450; a_mc.alpha = 0; a_mc.addEventListener(Event.ENTER_FRAME, a_up); function a_up(event:Event):void { a_mc.y -= 2; a_mc.x -= 1; a_mc.alpha += 0.03; if (a_mc.y == 200) { a_mc.removeEventListener(Event.ENTER_FRAME, a_up); } } b_mc.addEventListener(Event.ENTER_FRAME, b_up); function b_up(event:Event):void { b_mc.y -= 2; b_mc.rotation += 6; if (b_mc.y == 200) { b_mc.removeEventListener(Event.ENTER_FRAME, b_up); } } c_mc.addEventListener(Event.ENTER_FRAME, c_up); function c_up(event:Event):void { c_mc.y -= 2; c_mc.x += 1; if (c_mc.y == 200) { c_mc.removeEventListener(Event.ENTER_FRAME, c_up); } }

    • ベストアンサー
    • Flash
  • 画面をドラッグ

    ActionScript3.0で画面をドラッグして移動させるflashを作っています。 マウスを離してからも少しだけ動くように*2.75しています。 しかしhoge_mcが画面外に出た時にif文やflagを使って止めようとすると進む力が残っているっぽくて確実に止まってくれません。 どなたかこの問題の解決法が分かる方いませんか? *ソースです。(ステージにhoge_mcを置けば動きます。) import caurina.transitions.Tweener; var startX:Number = 0; var cameraRange:Number = 0; var tweenNum:Boolean =false; this.stage.addEventListener(MouseEvent.MOUSE_DOWN, onDown); this.stage.addEventListener(MouseEvent.MOUSE_UP, onUp); function onDown(event:MouseEvent):void { tweenNum = false; this.stage.removeEventListener(MouseEvent.MOUSE_MOVE, onMove,false); startX = event.stageX; this.stage.addEventListener(MouseEvent.MOUSE_MOVE, onMove,false); } function onUp(event:MouseEvent):void { this.stage.removeEventListener(MouseEvent.MOUSE_MOVE, onMove,false); } function onMove(event:MouseEvent):void { trace(hoge_mc.x); if(tweenNum == true){ Tweener.removeTweens(hoge_mc); return; } var cameraIkata = event.stageX - startX; hoge_mc.x += cameraIkata; cameraRange = cameraRange + cameraIkata; Tweener.addTween(hoge_mc, {x:cameraRange*2.75, time:3, transition:"easeOut"}); startX = event.stageX; } stage.addEventListener(Event.ENTER_FRAME,loop); function loop(e:Event):void { if (hoge_mc.x > 401) { tweenNum = true; Tweener.removeTweens(hoge_mc); hoge_mc.x = 400.5; } if (hoge_mc.x < 0) { tweenNum = true; Tweener.removeTweens(hoge_mc); hoge_mc.x = 0.5; } }

  • 【AS3.0】Timerとタイムライン

    現在、10秒経過すると画像が切り替わって1秒経過するとまた元に戻り、また10秒経過すると同じように切り替わるというループアニメーションを作成しています。 しかし、フレームを使ったタイムラインアニメーションとtimerを使ったスクリプトで上手く同期しません。 タイムラインの作りはフレームレート30で レイヤー上:mc01 mc02と同じ1秒(30フレーム)ごと画像が切り替わっていくだけのループアニメーション(下の画像と連動していて10秒経過で切り替わるアニメーション) レイヤー下:mc02 mc01と同じ1秒(30フレーム)ごと画像が切り替わっていくだけのループアニメーション mc01とmc02は画像が違うだけで同じ動きをしています。mc01をvisible=false;で消しています。10秒経過したら1秒間true;になるように下記スクリプトに記述しています。 ■スクリプト-------------------------------------- var myTimer:Timer = new Timer(10000, 0); myTimer.addEventListener("timer", timerHandler); myTimer.start(); function timerHandler(event:TimerEvent):void { trace( "UP") mc01.visible = true; myTimer.reset(); myTimer.start(); } var myTimer2:Timer = new Timer(11000, 0); myTimer2.addEventListener("timer", timerHandler2); myTimer2.start(); function timerHandler2(event:TimerEvent):void { trace( "down") mc01.visible = false; myTimer.reset(); myTimer.start(); }*/ ■------------------------------------------------ はじめの何回かは上手く同期するのですが、段々ズレが激しくなっていきます。 そもそもタイムラインを使ったアニメーションとタイマーは上手く同期しないものなのでしょうか? 他によい方法がありましたらご助力願います。

  • ランダムで画像を表示させるには?

    環境はFlashCS5で、アクションスクリプト3.0を使用しています。 5枚の画像(インスタンス名:mc0~mc4)をランダムで表示させるムービーを制作しているのですが、 下記のスクリプトですと、ランダムで画像が表示されるのですが、画像の切り替えがループになってしまって、次から次へとランダムで画像が切り替わります。フレーム1に下記のスクリプトを記述し、フレーム1にムービーインスタンス「mc0」から「mc4」を配置しています。 function randomShowMC():void { for (var i:int=0; i<5; i++) { this["mc" + i].visible = false; } var rnd:int = Math.floor(Math.random() * 5); this["mc" + rnd].visible = true; } randomShowMC(); var myTimer:Timer = new Timer(3000); myTimer.addEventListener(TimerEvent.TIMER ,function(){randomShowMC()}); myTimer.start(); このスクリプトを改良?改造?して、ランダムの画像が1回のみ…つまり、おみくじみたいに、(mc0~mc4の画像を)ランダムで1回のみ画像を表示させたいのです…表示後の画像が切り替わらずそのままで停止させたいのです。 又は、ムービーインスタンス「mc0」から「mc4」の画像をランダムで表示させ、最初に表示された、その画像で停止させるスクリプトを新規に記述しても構いませんので、ご指導・アドバイスをお願い致します…。 どなたか、解る方がいましたらランダム画像表示で1回表示のみのループしないスクリプトを教えてください。よろしくお願い致します…。

    • ベストアンサー
    • Flash
  • [AS3]自動的に画像が重なっていくスライドショー

    ASに触れたての初心者です。 Actionscript3.0で、ボタンなどを使わない、ただ画像を順次流すだけのスライドショーが作りたいです。 何もないステージに、まずムービークリップ「Images1」が2秒くらかけて画面上からスライドして来ます。 ステージぴったりに収まった(座標が0,0になった)ところで2秒ほどImages1を見てもらいます。 次に、Images1の上にトランプが重なるように、新たなMC、「Images2」が同じような動作で降りてきます。 これも、ステージにぴたりと合わさったところで2秒ほど静止し、その上からさらに「Images3」が同じような動作で重なっていきます。 これをImages5くらいまで順次重ねていって、不要になった層は適時削除していきたいです。 Images1を「スライドしてくる」「数秒とどまる」「消える」といった動作はできたのですが、それをmages5まで繰り返させるのが全く解りませんでした…。 タイムライン上だけで作ると惜しいものができたのですが、Images5までいってImages1に戻ったときに、Images5の上からImages1を重ねるという操作がわからず、タイムラインで作るのを諦めました。 いったいどのようにスクリプトを組んだら良いのでしょうか? 大変困っています。どなたかお願い致します。 現時点のスクリプトは以下のとおりになります。 import flash.utils.Timer; import flash.display.MovieClip; import flash.events.TimerEvent; //ムービークリップ var Images1:Sprite = new Sprite(); Images1.graphics.beginFill(0x000000); Images1.graphics.drawRect(0, 0,300,-500); Images1.graphics.endFill(); addChild(Images1); //移動 this.addEventListener(Event.ENTER_FRAME,timerfunc); function timerfunc(e:Event):void { Images1.y=Images1.y+10;//スライド if(Images1.y>500)Images1.y=500;//スライドのとまる場所 timer1.start();//タイマースタート } //一定時間待ってから消えるタイマー var timer1:Timer = new Timer(6000,1); timer1.addEventListener(TimerEvent.TIMER, timerHandler1); function timerHandler1(e:TimerEvent):void{ removeChild(Images1); removeEventListener(TimerEvent.TIMER, timerHandler1); removeEventListener(Event.ENTER_FRAME,timerfunc); }

    • ベストアンサー
    • Flash
  • addEventListenerでムービークリップ名を渡す

    AS3です。 複数のムービークリップに対し、 同じ処理をしたいのですが、 下記の書き方だと、かなり効率が悪いのですが、 mc1.addEventListener(Event.ENTER_FRAME, test); function test(event:Event):void{ trace(mc1.x); } mc2.addEventListener(Event.ENTER_FRAME, test1); function test1(event:Event):void{ trace(mc2.x); } functionの方は大体同じ処理なので、 trace(mc1.x);←ここのmc1を動的に 処理することはできないのでしょうか。 やりたいことはこんな感じです。 mc1.addEventListener(Event.ENTER_FRAME, test); mc2.addEventListener(Event.ENTER_FRAME, test); mc3.addEventListener(Event.ENTER_FRAME, test); function test(event:Event):void{ trace(【ここにそれぞれmc1,mc2,mc3が呼ばれる感じ】.x); } ご教授お願いいたします。

    • ベストアンサー
    • Flash