スクリプト/マルチタイマー

最終投稿者:Icon mini ikosami 更新:2016/07/08 11:38:14
時間の取得を複数同時に使いたいと思ったことはありませんか?

この関数を使えば、タイマーがほぼ無限に生成できます。


使い方は簡単。

#新しくタイマーを作成
timer = createTimer()
#タイマーを取得
getTimer(timer)
#タイマーをリセット
resetTimer(timer)






#######################################
######マルチタイマー Ver1.0############
#######################################
setVariable("multiTimer", createArray())
setBaseTime()


def createTimer()
  pushArray(getVariable("multiTimer"), getTime())
  return getArrayLength(getVariable("multiTimer"))-1
end


def getTimer(i)
  return getTime()-getVariable("multiTimer")[i]
end


def resetTimer(i)
  getVariable("multiTimer")[i] = getTime()
end
#######################################
#######################################
#######################################

コメントする

コメントするには、ログインする必要があります。

コメント一覧

            mini mosmoss(投稿日:2016/01/10 02:51, 履歴)
質問です。

このタイマーを二次元配列の中に作ろうとしているのですが、
ローカル変数の二次元配列だと動きますが、
通常変数の二次元配列だと動きません。
通常変数の普通の(?)配列だと動きます。


a = createArray()
a[0] = createArray()
a[0][0] = createTimer(); a[0][1] = createTimer(); a[0][2] = createTimer();a[0][3] = createTimer()
#動く




setVariable("a", createArray())

setVariable(getVariable("a")[0], createArray())
getVariable("a")[0][0] = createTimer(); getVariable("a")[0][1] = createTimer(); #この行にエラー
getVariable("a")[0][2] = createTimer(); getVariable("a")[0][3] = createTimer()  #この行にエラー
#動かない





エラー内容は 1st argument is not array です。

setVariable("a", createArray())

i = 0
while i < max #maxは適当な数

getVariable("a")[ i]  = createTimer()

i = i + 1

end

#動く




通常変数の二次元配列への入れ方が悪いのかもしれませんが、
このマルチタイマーの関数をしっかり理解できていないので、
そっちが原因かもしれません。
自分では、気づけないので、どなたか分かる方がいましたら
教えてくださるとうれしいです。
            mini mosmoss(投稿日:2016/01/10 03:07, 履歴)
解決しました。
setVariable("a", createArray())

getVariable("a")[0] = createArray()
getVariable("a")[0][0] = createTimer(); getVariable("a")[0][1] = createTimer(); 
getVariable("a")[0][2] = createTimer(); getVariable("a")[0][3] = createTimer()





二行目がまずかったでした。
人に伝えるために、コトを整理すると自分で気づきやすくなりますね。
お騒がせしました。
            mini mosmoss(投稿日:2015/12/22 20:55, 履歴)
箱を作ってその中にその時点での現在時刻をいれる。
getTimerを呼び出すたびに現在時刻から指定の箱に入れた時刻を引いた時間を取り出して返す。
リセットをするときは指定の箱の中に新しい現在時刻を入れるだけ。

という理解でいいでしょうか。