Top > Tips > マウス反応(なで反応)を自然なものにする
  トップページへ   [ 一覧 | 検索 | 最終更新 ]   [ 差分 | バックアップ | 凍結 ]

マウス反応(なで反応)を自然なものにする

OnMouseMoveの例。
撫で間隔が一定の時間(ここでは1秒)以上開いたときにカウンタをリセットすることによって、撫で反応をより自然なものにできます。
ちょっと撫でる→撫でカウントが設定値ギリギリまで溜まる→カーソル外れる→カーソルが乗った瞬間カウンタが設定値に達し、瞬時に撫で反応発動、と言うのは不自然なので。

OnMouseWheelも同様にして処理できます

(reference*をreference[*]と書いています)

  0
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
OnMouseMove
{
  if reference[4] != "" {
    //----どこかが撫でられている
    if reference[4] == prev_reference4 {
      _nade_interval = systemuptime - nade_prev
      if _nade_interval > 1 {
        //1秒以上間隔が空いたらカウンタをリセット
        stroke = 0
      }
      nade_prev = systemuptime
 
      stroke++
      //---- 撫でられた量が一定量に達したら「なでられている」と判断
      if stroke >= 96 {
        //---- 撫でられた。撫でられた部位を見てトークする
        EVAL("MouseReaction%(reference[3])%(reference[4])")
        stroke = 0
      }
    }
    else {
      stroke = 0
    }
    prev_reference4 = reference[4]
  }
  else {
    // 定義された部位はどこも撫でられていない
    stroke = 0
  }
}
 
//メイン側の頭なで反応トーク
//(イベント名はMouseReaction[キャラ番号][識別子])
MouseReaction0Head
{
  ""
}

--ひと:ぜろでばいど

関連Tips