ページを更新せずにリアルタイム ゲームを作成しようとしています。問題は、プレイヤーがマップ上を移動しているときに、次に何をすべきか、または ajax スクリプトを構成して mysql データベースを更新する方法がわからないことです。
これが使用しようとしているajaxコードです。
//calling ajax to update player location when he move around
function send(url){
var request;
try{
request= new XMLHttpRequest();
} catch (e){
try{
request= new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try{
request= new ActiveXObject("Microsoft.XMLHTTP");
} catch (e){
alert("Your browser broke!");
return false;
}
}
}
request.onreadystatechange = function(){
if(request.readyState == 4){
//I dont know what to add here :-(
}
}
request.open("GET", url, true);
request.send(null);
}
send("update_location.php?newX="+ toX + "&newY=" + toY)
update_location.php
<?php
$new_x=$_GET['newX'];
$new_y=$_GET['newY'];
//echo"$new_x , $new_y";
$update_loc=mysql_query("UPDATE users SET location_x='$new_x' WHERE username='admin'");
?>
主なアイデアは、プレーヤーがマップ上のどこかに移動すると、ajax が新しい x 値と y 値をデータベースに更新することです。ボタンや jquery コードを追加する必要はありません。
PS toX と toY は、php vars に変換した JavaScript vars であるため、それらを mysql datavase に更新できます。