void カスタム::On_チック(int システム時刻, int 前回差分間隔)

void カスタム::On_チック(int システム時刻, int 前回差分間隔) {
}
  • 引数の補足

    • システム時刻:

      システム時刻がミリ秒で得られる。
    • 前回差分間隔:

      前回「On_チック」メソッドを呼び出してから、今回「On_チック」メソッドを呼び出すまでに何ミリ秒経過したかが渡ってくる。 一般的に言う「デルタ時間」などと呼ばれるもの。
  • タイミング

    • このイベントハンドラはいわゆるタイマーメソッドであり、1秒間に3~4回ほど呼ばれる。
    • プログラム的には比較的データの値を変更しても大丈夫な「画面描画更新」のタイミングで呼ばれている。
  • 一般的用途

    • 通常は、何か値の変化を監視し、デバッグしたい時に利用するのが良い。
    • このイベントハンドラは危険性の高いメソッドであり、下手なプログラムを記述すると、すぐにフリーズすることとなる。
      特に、「待ち(Wait, Sleep)」が発生する処理をすることはタブーである。
  • 例①

    static int 差分間隔総計 = 0;
    void カスタム::On_チック(int システム時刻, int 前回差分間隔) {
      /*
      3秒以上経過する度に、自作太郎という名前の武将が居たら、そいつの戦闘熟練度を表示する。
      デバッグ用途。
      */
      差分間隔総計 += 前回差分間隔;
    
      if ( 差分間隔総計 >= 3000) { // 3秒以上経過した。
        差分間隔総計 = 0; // 蓄積リセット
    
        int iBushouID = Get_武将番号【配列用】("自作太郎"); // 自作太郎というのが自作武将だ。
    
        // 居れば…
        if ( 0 <= iBushouID && iBushouID < 最大数::武将情報::配列数 ) {
    
         // 数値系の値をデバッグ出力する際には、とにかく「(int)」のキャストを付ける癖を付けること。
          デバッグ出力 << (int)p武将情報[iBushouID].戦闘熟練値 << endl;
        }
      }
    }