作成中のゲーム用にサーバーでタイマーを設定しようとしていますが、「オブジェクト以外のメンバー関数 stop() の呼び出し」エラーが発生し続けます。
時間を開始するには、次の ajax 呼び出しを行います
$.post('game.php', {
action: 'start'
}, function(res) {
},'json');
ゲームが終了したら、次の ajax 呼び出しを行ってタイマーを停止しようとします
$.post('game.php', {
action: 'stop'
}, function(res) {
},'json');
game.phpコードは
$action = $_POST['action'];
switch($action) {
case 'start':
$gameTime = new timer();
$gameTime->start();
break;
case 'stop':
$gameTime->stop();
break;
}
class Timer {
var $classname = "Timer";
var $start = 0;
var $stop = 0;
var $elapsed = 0;
# Constructor
function Timer( $start = true ) {
if ( $start )
$this->start();
}
# Start counting time
function start() {
$this->start = $this->_gettime();
}
# Stop counting time
function stop() {
$this->stop = $this->_gettime();
$this->elapsed = $this->_compute();
}
# Get Elapsed Time
function elapsed() {
if ( !$elapsed )
$this->stop();
return $this->elapsed;
}
# Get Elapsed Time
function reset() {
$this->start = 0;
$this->stop = 0;
$this->elapsed = 0;
}
#### PRIVATE METHODS ####
# Get Current Time
function _gettime() {
$mtime = microtime();
$mtime = explode( " ", $mtime );
return $mtime[1] + $mtime[0];
}
# Compute elapsed time
function _compute() {
return $this->stop - $this->start;
}
}
タイマーを停止する呼び出しを行うと、エラーが発生します。私は何が問題なのかを見つけようとしましたが、それは ajax 呼び出しを行っているためでしょうか?
これを機能させる方法を知っている人はいますか?