Php Javascript游戏项目Javascript/数据库
我正在尝试使用javascript和php制作一个小的在线游戏 关键是我不想刷新页面。我想让它成为一种“实时游戏”,但我遇到了一个严重的问题。 我成功地建立了一个数据库,但我想在玩家每次在地图上移动时更新他的位置 我只想要某种AJAX/javascript,它可以在玩家每次移动时用新的数据库更改玩家位置值;我不想使用按钮、表单或其他页面;我只是想得到一些帮助,制作一个脚本,每30秒将播放器位置更新到MySQL数据库中 下面是带有播放器移动的javascriptPhp Javascript游戏项目Javascript/数据库,php,javascript,mysql,ajax,database,Php,Javascript,Mysql,Ajax,Database,我正在尝试使用javascript和php制作一个小的在线游戏 关键是我不想刷新页面。我想让它成为一种“实时游戏”,但我遇到了一个严重的问题。 我成功地建立了一个数据库,但我想在玩家每次在地图上移动时更新他的位置 我只想要某种AJAX/javascript,它可以在玩家每次移动时用新的数据库更改玩家位置值;我不想使用按钮、表单或其他页面;我只是想得到一些帮助,制作一个脚本,每30秒将播放器位置更新到MySQL数据库中 下面是带有播放器移动的javascript //player movement
//player movement here
engine.player.move = function(direction)
{
var index, x, y;
index = x = y = 0;
engine.keyboard.canInput = false;
switch(direction)
{
case 'up': index = 0; y = 1; break;
case 'right': index = 3; x = -1; break;
case 'left': index = 9; x = 1; break;
case 'down': index = 6; y = -1; break;
}
var toX = engine.viewport.x + (engine.screen.tilesX / 2 - 0.5) - x;
var toY = engine.viewport.y + (engine.screen.tilesY / 2 - 0.5) - y;
var toTile = engine.map.get(toX, toY);
if(engine.tile.hasProperty(toTile, 'solid', 1) ||
engine.npc.isNpcAt(toX, toY))
{
engine.keyboard.canInput = true;
}else{
engine.viewport.playerOffsetX = x * Math.ceil(5 / 16 * engine.tileSize);
engine.viewport.playerOffsetY = y * Math.ceil(5 / 16 * engine.tileSize);
setTimeout(engine.player.animate, engine.player.speed / 2);
setTimeout(engine.player.reset, engine.player.speed);
}
engine.player.spriteIndex = index;
engine.draw();
engine.output('player walks ' + toX + 'x' + toY + 'y');
};
这就是我想要进行mysql更新的地方
switch(direction)
{
case 'up': index = 0; y = 1; if(Y++){update player Y+1} break;
case 'right': index = 3; x = -1; break;
case 'left': index = 9; x = 1; break;
case 'down': index = 6; y = -1; break;
}
好的,没有jquery就不要开始新的一天。试试post函数。我无法为您提供完整的解决方案,但这里有一个关键点:
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<script>
function userMove() {
var data = {
yourData1: value,
...
}
$.ajax({
type: "POST",
url: your_file.php,
data: data,
success: success,
dataType: dataType
});
}
</script>
函数userMove(){
风险值数据={
yourData1:值,
...
}
$.ajax({
类型:“POST”,
url:your_file.php,
数据:数据,
成功:成功,
数据类型:数据类型
});
}
看一看
您可以使用php中的GET position变量,从javascript中“获取”用户位置,而不是使用通用的
SELECT/FROM/WHERE
查询表单。我正在考虑使用php中的GET position变量,从javascript中“获取”用户位置,但我不确定这是否可行。您需要向我们展示您所做的尝试,我们将帮助您找出它不起作用的原因。我们不仅仅是为您编写代码。这就是游戏本身,玩家的x,y坐标保存在mysql数据库中,问题是我真的不知道如何建立到数据库的活动ajax连接,如果玩家移动到其他位置,它会保存新的x和y坐标