2010-03-28 50 views
1

我正在使用javascript/ajax制作2D游戏,这将使用存储在mysql数据库中的数据。每个用户都有自己的“小区”,由小方块组成,可以有一些价值。但我不知道,如何在每个用户可以拥有不同宽度或高度的区域时,将每个方块的值存储在mysql中。你有什么想法吗?如何在mysql中存储2D游戏世界

+0

正方形的大小是否相等?它们可以重叠吗? – jholster 2010-03-28 12:18:22

+0

广场有相同的大小,并设置在一个大的矩形,就像其他2D游戏:) – monthon1 2010-03-28 12:32:51

回答

4

如何存储矩形的四个角(x0,y0,x1,y1)?如果你对它们做一个索引,查询应该是相当高效了,但是你的里程可能会有所不同...

+0

似乎比多对多关系表(@dario建议)更可行。 – strager 2010-03-28 12:23:43

+0

@strager:我在@达里奥的解决方案中看不到很多人。 (可能被重新删除并重新提交?) 他的想法是通过为用户数据添加一张表(因此N个用户到1个方格)来扩展AKX's – lexu 2010-03-28 12:58:35

+0

@lexu,@ AKX的答案仅需要用户表中的几个字段,无论该区域的大小。 @达里奥的回答需要一个“USERSQUARES”表,例如25个5x5平方的参赛作品。 – strager 2010-03-28 14:36:59

2

,可以储存数据这样

SQUARES(squareId, XYdataOfSqare) 
USERSQUARES(userId, squareId) 
1

我只想救坐标,对于一个条目每个用户每平方米。

表结构:

id 
square_x 
square_y 
user_id 

ID是自动递增,square_x和square_y是方形的位置。

然后,您可以插入每个用户的广场与单个记录。