質問ページ2 / 69


質問ページ2 / 69

質問ページ2/69

概要loopに関して
投稿者Parafla Quality
状態
カテゴリーParaFla!
投稿日2007-12-30 (日) 21:47:32
バージョン1.37

質問内容

loop文でloopして、そのloopの回数、または残りのloop回数などを テキストなどであらわすことはできないでしょうか。 ご回答お願いします。

回答

  • for(i=0; i<max; i++){処理の最後にmy_txt = "只今の回数" + i + " 残り" + (max-i);}でどうでしょうか -- 2007-12-31 (月) 09:29:27
  • if文の場合はどうすればよいのでしょうか -- Parafla Quality 2008-01-04 (金) 16:54:09
  • if文は"もし〜ならば処理を実行する"という条件分岐です。なので条件を"max以下ならば"として処理の最後に上記のテキストへの記述とi++;を加えればいいと思います。この場合var i=new Number(0);と前もって変数の宣言をしてください。
    var i = new Number(0); //iの初期値の設定
    this.onEnterFrame = function(){
    if(i<=max){
     処理内容;
     my_txt = "回数"+ i + "残り" + (max-i);
     i++;
    };
    };
    ただし、これは再生ヘッドがこのフレームにきたときにこの条件を判定するので、onEnterFrame?()を使うか、フレームアクションを入れるなどをして再生ヘッドを制御する必要があります。処理内容がわからないので、何とも言えませんが、if文よりはfor文を使うほうが良いと思います。-- 2008-01-04 (金) 23:37:03
  • ありがとうございます。 -- 2008-01-06 (日) 16:47:06
  • すみません、if文が

if (i != loop){

   gotoandplay(3);

} // end if

の場合はどうあてはめればよいのでしょうか。また、残りの回数を表示するテキストは必要なのでしょうか。 -- Parafla Quality 2008-01-07 (月) 13:51:31

  • (i != loop)から察するに i の値が(i<=max)の条件外のときの処理ってことではないでしょうか?(つまりループから抜けた時)
    もしそうであるならば、
    var i = new Number(0); //iの初期値の設定
    var max = new Number(15); //最大回数を変数maxに代入します。
    this.onEnterFrame = function(){
    if(i<=max){ 
     処理内容;
     my_txt = "回数"+ i + "残り" + (max-i); //my_txtとはhtmlテキストの変数名です。
     i++; //iに1足す
    }else{
     gotoAndPlay(3);  //大文字と小文字は区別されますので注意してください。
    };
    };

    if(条件){処理A}else{処理B};
    ”もし条件を満たしているなら処理Aを実行、条件外ならば処理Bを実行する”という意味を持ちます。
    繰り返し処理にif文を使う場合、if文は再生ヘッドが来た時にだけその条件を評価しますので、onEnterFrame?を使って毎フレーム条件を評価して実行するようにしています。
    さらに、パラメータ i を操作します。
    iの初期値を0に設定して、処理が実行される毎に i に1ずつ足して、変数maxに近づけます。
    ※変数maxは前もって定義してください。例)var max = new Number(15); //ループの回数を15に設定
    >また、残りの回数を表示するテキストは必要なのでしょうか。
    my_txtはテキストの変数名です。ダイナミックHTMLテキストを作成して変数名を付けて配置してください。-- 2008-01-07 (月) 19:22:03