2011-01-31 2 views

答えて

0

これを行う1つの方法は、各フレームの数を変更することです。これを行うには、Enter Frameイベントを使用します。ここに例があります。

var frameCount:int = 0; 

// Add an event listener that will fire on each ENTER_FRAME event. 
addEventListener(Event.ENTER_FRAME, OnEnterFrame); 

//This function will get called after each frame 
function OnEnterFrame(e:Event):void{ 
    frameCount++; 
    trace(frameCount); 
} 

この例では、frameCountをフレームごとに(1秒に数回)トレースします。代わりに時間を把握したい場合は、2つのことを行う必要があります。

  1. 時にタイマーがスタートのための変数を宣言して、次のように行うことができ、現在の時刻に設定します。

    のvarのstartTime:数=(新しいDate())時間。

  2. OnEnterFrame関数内で、同じ(new Date())。timeメソッドを使用して新しい時刻を取得し、その時刻から開始時刻を差し引きます。これにより、タイマーが開始されてから現在までの時間がミリ秒単位で表示されます。

イベントはAS3の大きな部分です。詳しくは、tutorialをご覧ください。これが助けて欲しい!この一読

+0

フレーム内で複数回変更する方法はありますか? フレームごとに1回変更するのはかなり遅いと思います。 数字の使用は、それが急速に種類を変える必要がある理由の多くのフレームを最後にしないでください。 –

+0

フレームレートを上げます。 –

+0

しかし、私は映画全体が速くて、ちょうど数字であることを望んでいません。 –

1

、それはあなたが必要とするすべての情報提供します:http://www.republicofcode.com/tutorials/flash/as3timer/

を本質的に、あなただけの何か

このような
var myTimer:Timer = new Timer(10,0); 
myTimer.addEventListener(TimerEvent.TIMER, timerListener); 
myTimer.start(); 

function timerListener (e:TimerEvent):void{ 
    trace("10 ms passed"); 
} 

タイマーを必要とする正確ではありません(だから、+ /取得します - 負荷に応じて、ここまたはそこに数ミリ秒、あなたは時間を表示するためにそれを使用したいので、もしは、れるgetTimer()http://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/flash/utils/package.html


を使用しますミリ秒の精度はこのように作成するのが非常に難しく、ユーザーが結果を見ることができないため、フレームレートよりも頻繁にタイマーを更新する必要はありません。

(ない限り、そこにあなたが時間を表示する以上のことをやっているのです)しかし、あなたはsomeTextfieldに渡されたミリ秒数をお見せします。この

var myTimer:Timer = new Timer(10,0); 
var startTime:int = -getTimer(); 
myTimer.addEventListener(TimerEvent.TIMER, timerListener); 
myTimer.start(); 

function timerListener (e:TimerEvent):void{ 
    someTextfield.text = ("ms passed: " + getTimer()+startTime); 
} 

のようなあなたのコードを見て何かを持っている可能性があり、

+0

ちょうど私が理解している、上記のコードは10msのタイマーを持っていて、私がgetTimerを使用した場合、映画に10msタイマーが表示されますか?私が(9,10)に設定した場合、9msタイマが10回表示されますか? (これは基本的に正確に私が必要とするものです) –

+0

しかし、再び、私は00:09のようなものを表示したくありません。私が何を意味するのか知っていればいいです。各msを増やした数値変数が9にしかない場合はどうなりますか? 私はこれで全面的に謝罪しています。私は本当にフラッシュするのが新しいです。 –

0

このような効果をマトリクスにしたい場合は、ムービークリップを作成する方がよいでしょう。余計な計算をする必要はなく、フレームレートよりも上のテキストフィールドを更新するイベントリスナーをたくさん持っているのは残酷です。

数値に垂直ブラーフィルターを追加します(または、不透明度を下げた別の数値をオーバーレイします)。その数値をスキップさせます。これは、すぐに更新されているように見えますが、数字を変更するだけではその効果はありません。

関連する問題