• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ASだけで○秒停止する方法)

ASだけで○秒停止する方法

このQ&Aのポイント
  • AS3で画像をぼかしながら消していく方法について質問しています。ひとまず動くコードを作成したが、任意の秒数停止させる方法を知りたいです。
  • AS3でぼかしながら画像を消していく方法を実装していますが、任意の秒数停止させる方法について質問です。
  • AS3で画像をぼかしながら徐々に表示し、ぼかしがなくなった後に任意の秒数停止させたいです。どのように実現できるでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.2

「実行を○秒停止する」というニュアンスで考えるのではなくて 「実行を○秒待つ」または「実行を○秒遅延させる」と考えれば良いでしょう。 この遅延には Timer クラスを使えば良いと思います。 その場合の修正案です↓。 //--------------------------------------------- package { import flash.display.*; import flash.events.*; import flash.utils.*; //↓削除 //import fl.events.*; import flash.filters.*; //↓Timer クラスと TimerEvent クラスのインポート import flash.utils.Timer; import flash.events.TimerEvent; public class Main extends MovieClip { public var logoObj1:MovieClip = new logo1(); public var blur:BlurFilter; public var i:uint = 70; public var ii:uint = 0; //↓勝手に適当な付け加え public var w:Number = stage.stageWidth; public var h:Number = stage.stageHeight; //Timer インスタンス tm の宣言 public var tm:Timer; //↓待つミリ秒数の設定(1秒=1000ミリ秒) public var wait_ms:uint = 5000; public function Main():void { opening(); } private function opening(e:Event=null):void { blur = new BlurFilter ; addEventListener(Event.ENTER_FRAME,BlurMinus); //↓Timer インスタンス tm を作成 tm = new Timer(wait_ms,1); //↓指定ミリ秒後に setBlurPlas を実行する設定にする tm.addEventListener(TimerEvent.TIMER, setBlurPlas); } private function BlurMinus(e:Event):void { blur.blurX = i; blur.blurY = i; logoObj1.filters = [blur]; logoObj1.x = w / 2; logoObj1.y = h / 2; addChild(logoObj1); if (i == 0) { //↓BlurMinus のイベントリスナーを削除 removeEventListener(Event.ENTER_FRAME,BlurMinus); //↓タイマースタート tm.start(); } i = i - 2; } //↓setBlurPlas の定義 private function setBlurPlas(e:TimerEvent):void { //↓毎フレームBlurPlasを実行 addEventListener(Event.ENTER_FRAME,BlurPlas); } private function BlurPlas(e:Event):void { blur.blurX = ii; blur.blurY = ii; logoObj1.filters = [blur]; logoObj1.alpha += 0 - logoObj1.alpha / 50; if (logoObj1.alpha==0) { //↓削除 //removeEventListener(Event.ENTER_FRAME,BlurMinus); removeEventListener(Event.ENTER_FRAME,BlurPlas); } ii=ii+2; } } } //---------------------------------------------

その他の回答 (1)

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1
dcx147
質問者

補足

お返事ありがとうございます。 http://www.oro.co.jp/cd/column/flash/actionscript/wait.html は質問前に試したのですが、一度(1フレーム分)しか動作せず徐々に薄れて いくという表現ができませんでした。 引き続き具体的な回答をお願いいたします。

関連するQ&A