次の問題があります。私は小さなブラウザベースのゲームに取り組んでおり、キーボードキーで動きを追加しました。動作していますが、プレーヤーの現在の位置をMySQLデータベースに送信するコードを追加したいと思います。問題は、たとえばWのボタンを押すと、キャラクターが上に移動し続け、ステップごとにデータをMySQLに送信して、PHPリクエストの膨大なリストを作成することです。このプロセスをどのようにスピードアップできますか?これが私が使用するコードの一部です:
if (key == key_W) { // Player Up
if (parseFloat(wzr.style.top)-6 < 0)
{
$('#wzro').stop().animate({
top: 342
}, 0, function() {
$('#wzro').empty();
});
YWalk();
}
else
{
$('#wzro').stop().animate({
top: '-=6'
}, 0, function() {
$('#wzro').empty();
});
YWalk();
}
}
function YWalk(){
var wzr = document.getElementById("wzro");
var xmlHttp;
if (window.XMLHttpRequest){
xmlHttp=new XMLHttpRequest();
}
else{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlHttp.open("GET","datachodzeniey.php?y="+ wzr.style.top);
xmlHttp.send(null);
}
そしてdatachodzeniey.phpで:
<?php
session_start();
$username = $_SESSION['username'];
$y=$_GET['y'];
$connect = mysql_connect("localhost", "root", "");
$select_db = mysql_select_db("testdb", $connect);
$q=mysql_query("update players set y='$y' where dispname='$username'");
?>