2

我正在创建一个小型儿童游戏,其中我在面板中有一张爱尔兰地图,并且会弹出一个问题,要求用户单击某个县。将地图划分为每个县的各个部分的最佳方法是什么?

所以我会随机弹出一个问题,询问“都柏林在哪里?” 然后用户点击都柏林的黑点。

我有一个想法,我将如何处理随机出现的问题(如果没有,我稍后会回来),但是有没有为我的图像分配热点的建议?

爱尔兰地图

4

2 回答 2

2

我假设这是一张图片,并且显示为未重新缩放

这样你就可以

  1. 预先计算并记下黑点的文件或数据结构位置(即Photoshop)
  2. 当用户点击获取坐标时
  3. 找到一个最近的黑点指向用户点击

UPD:通过第 1 步,您可以为每个黑点确定一些精度半径。如果点击的点不在最近黑点的精度半径范围内,您可以要求用户澄清。

UPD2:提高准确性的另一种方法是记住每个黑点的区域颜色。如果单击点的颜色与最近黑点区域的颜色不同,则要求用户再次单击。

于 2012-12-18T12:25:59.827 回答
1

您可以将地图矢量化,以便将每个县定义为多边形。有一些常用算法可以确定一个点是否在多边形内。但是有些形状非常复杂,所以这可能需要很多工作。

当您想要保持栅格化方法时,您可以将每个县的图形放在单独的图像对象中,并让每个县在点击时做出反应。当用户点击面板时,首先确定点击所在的所有这些子图形(它们会重叠,所以可以有多个)。然后检查每个子图形中单击的像素是否透明。当它不透明时,用户点击了那个县。

当您将每个县作为单独的图形时,您可以与它们一起玩很多其他游戏。就像拼图游戏或显示形状一样,用户必须猜测它是哪个县。不过,我不知道您是否会为此获得报酬。

于 2012-12-18T12:34:58.177 回答