- 締切済み
外部テキストスクロールと時計のスプリクトを同時に
FlashMXで下記の様な構成で2フレーム目にテキストスクロールと時計を置くと時計が止まったまま動かないんです。 全くの初心者なのでアクションはこちらのサイトからコピペさせて頂いたのものなので自分ではどうしていいか分かないのでどなたかご教授下さい。 ○○ 外部テキストスクロールアクション ○● 外部テキスト ○○ 時計アクション ○● 時計 時計アクション1フレーム目 this.onEnterFrame = function(){ var nDate = new Date(); var nHour = nDate.getHours(); var nMinutes = nDate.getMinutes(); var nSeconds = nDate.getSeconds(); tTime.text = ""; //テキスト内を空に // 時 if ( nHour < 10 ){ tTime.text += "0"+nHour+":"; }else{ tTime.text += nHour+":"; } // 分 if ( nMinutes < 10 ){ tTime.text += "0"+nMinutes+""; }else{ tTime.text += nMinutes+""; } 外部テキストスクロールのアクション1フレーム目 stop(); System.useCodepage = true; myLoadVars = new LoadVars(); myLoadVars.onLoad = function(Success) { if (Success) { _root.gotoAndStop(2); } }; myLoadVars.load("data.txt"); } 外部テキストスクロールのアクション2フレーム目 // marqMC の初期座標の保存 marqX = _root.marqMC._x; marqY = _root.marqMC._y; // marquee の初期横幅の保存 marqW1 = _root.marqMC._width; // marqMC に マスクmarqMask をかける _root.marqMC.setMask(_root.marqMask); // マスクmarqMask をmarqMC の初期座標にセット _root.marqMask._x = marqX; _root.marqMask._y = marqY; // マスクmarqMask の横幅を marqMC と等しくする _root.marqMask._width = marqW1; // marqMC を出発座標に移動 _root.marqMC._x += marqW1; // myLoadVars のデータを marquee.text に代入 _root.marqMC.marquee.text = _root.myLoadVars.mydata; // marquee のサイズを代入された文字長に合わせる _root.marqMC.marquee.autoSize = true; // marqMC の新しい横幅を変数化 marqW2 = _root.marqMC._width; //------marquee の移動 ------// // 1フレーム進む時間ごとに1回 { } 内を実行 _root.onEnterFrame = function() { if (_root.marqMC._x+marqW2>=marqX) { //※ここの部分↓でスピード変更 _root.marqMC._x -= 3; } else { _root.marqMC._x = marqX+marqW1; } };
- みんなの回答 (1)
- 専門家の回答
みんなの回答
最初の 「時計アクション フレーム1」 で定義している this.onEnterFrame = function(){ と, 「marquee の移動 フレーム2」で定義している _root.onEnterFrame = function() { が,かぶっています。 同じ物に(この場合 _root)に, 同じ関数 や 同じ変数 や 同じ onEnterFrame を定義すると, 前に定義してあった物のに,あとから定義した物が上書きされて, 前にあった物は削除されます。 2つめの「marquee の移動 フレーム2」の _root.onEnterFrame = function() { を, _root.marqMC.onEnterFrame = function() { に変えてみてはいかがでしょうか。
お礼
出来ました!!初歩的な質問に回答頂きほんとにありがとうございました。