我目前正在研究基于网格的游戏地图原型。每个“图块”为 24 像素 x 24 像素,脚本在屏幕上绘制出 31 个基于 x 的图块和 21 个基于 y 的图块,总共 651 个图块。
我遇到的问题是我的脚本运行方式,它为每次页面刷新时绘制的每个图块进行数据库调用,这意味着它正在进行 651 次数据库调用以检查图块是什么以及图块的坐标. 对我来说,这似乎效率低下。
x 和 y 坐标存储在会话变量中。当用户单击地图下方的方向按钮之一时,它会相应地偏移适当的坐标并重新绘制地图。
如果我要根据我使用的逻辑创建一个游戏,并玩数字游戏,假设我有 100 名玩家在任何时候玩这个游戏并且他们都在浏览地图,我会同时进行 65,100 个数据库调用。这对系统资源不利。
在 PHP/MySQL 编程方面,我不是菜鸟,因为我创建并启动了一些不同的基于浏览器的游戏,但是,这是我第一次尝试生成地图并在地图上导航。
瓦片地图可以在这里查看:
http://fordserver.com/gamemap/
可以在这里找到实际的代码:
http://fordserver.com/gamemap/index.txt
任何人都可以推荐一个让这个运行更顺利的好方法吗?您会注意到,当使用其中一个方向按钮时,游戏可能需要相当长的时间才能生成实际地图,尤其是当您只是第一次访问它时。
我试图想出不同的方式来使用数组和其他所有东西,但实际上,游戏需要检查数据库中每个单独的图块,因为我计划合并功能,以便它显示特定用户当前的位置或建筑物, ETC。
我很感激我能得到的任何帮助。
瑞奇