## 時間とアニメーション

### 時間

CindyScript は現在の日付と時間にアクセスする内部時計を持っています。時計はいくつかの自動化されたアニメーションを同期するのにも用いられます。 さらに、動いているアニメーションまたはシミュレーションの現在の時刻表示を同期するのにも使います。

#### 時刻にアクセスする: `time()`

説明: この演算子は４つの整数からなるリスト `[h,m,s,ms]` を返します。４つの数はコンピュータの時計で "hour," "minute," "second," "millisecond" に相当します。
例: 次のコードは、シンデレラの画面上に簡単な時計を描きます。まず変数 `t` に時刻の情報を代入します。以降のコードで時計の図を描きます。関数 `p(w)` は単位円周上の点を定義します。スクリプトは連続的に動くように、 "Timer Tick" スロットに置かなければなりません。

    t=time();

    p(x):=[sin(2*pi*x),cos(2*pi*x)];
    O=[0,0];
    S=p(t_3/60)*4;
    M=p(t_2/60)*5;
    H=p((t_1*60+t_2)/(12*60))*3.5;
    draw(O,S);
    draw(O,M,size->2);
    draw(O,H,size->3);
    apply(1..12,draw(p(#/12)*5));
    apply(1..60,draw(p(#/60)*5,size->1));

    drawtext((3,5),t);

#### 日にアクセスする: `date()`

説明: この演算子は３つの整数からなるリスト `[y,m,d]` を返します。 ３つの数は、コンピュータのカレンダーの "year," "month," "day" に相当します。

#### 時刻表示: `seconds()`

説明: この演算子は、 `resetclock()` の実行後に経過した時間を返します。時間は１単位が１秒になるように調整されます。時計の精度はミリ秒です。

#### 内部時計のリセット: `resetclock()`

説明: `seconds()` 演算子の値をリセットします。

#### シミュレーションの時刻表示にアクセスする: `simulationtime()`

説明: この演算子は、アニメーションまたはシミュレーションの進行に同期した実行用時計のハンドルを得ます。
注意: この演算子は、まだきちんと実装されていません。

#### 待ち時間: `wait(<real>)`

説明: パラメータで与えられたミリ秒単位ですべてのスクリプトの実行を止めます。
例: 次のコードは、音階を鳴らします。wait()の数字を変えると、速さが変わります。

    repeat(25,i,
      playtone(72+i);
      wait(100);
    )

### アニメーションのコントロール

#### アニメーションを始める: `playanimation()`

説明: アニメーションを始めます。CindyLabの物理シミュレーションも同様です。

#### アニメーションの一時停止: `pauseanimation()`

説明: アニメーションを一時停止します。

#### アニメーション停止: `stopanimation()`

説明: アニメーションを停止します。幾何学要素などの状態は初めの状態に戻ります。

Page last modified on Tuesday 26 of July, 2011 [12:42:11 UTC].
The original document is available at http://doc.cinderella.de/tiki-index.php?page=Timing%20and%20AnimationsJ