2012-09-12 100 views
5

我在Flash中遇到了一个游戏问题,我不知道是否想让它成为可能。绘图游戏Flash AS3

我正在尝试在Flash中使用AS3制作游戏,孩子们必须在其中制作一个类似于当前舞台上的形状。例如,有一封“a”字母,孩子必须画一些类似的字母。

我的问题是,如果有一种方法来检查孩子绘制的形状是否与舞台上的形状相似,我该如何做到这一点。

+1

见第一模式识别理论在http://en.wikipedia.org/wiki/Pattern_recognition – Lunik

回答

0

是的,这是可能的。

您可能想要跟踪鼠标的x,y坐标(如果使用鼠标绘制),然后将值转换为与其匹配的形状。

然后进行某种错误检查。例如,比较玩家绘制的形状的面积大小与给定的形状和其他东西。

另一个可能是绘制的线和它们的平均值之间的角度。画了多少条线,等等,我觉得很好。

您可以通过检查像素颜色并定义有图纸的地方以及不存在的地方(即白色背景)来实现此目的。

希望这会有所帮助。

2

我会把这两幅图像缩小到更低的分辨率......就像一个16×16的网格,左右。将网格中的每个点标记为打开或关闭(绘制或未绘制)。

然后重叠在一起,看看有多少点被设置在一个而不是另一个。如果超过阈值,则将其标记为不匹配。

你可以通过缩放绘制的图像改进算法。找到两者中最顶端和最底部绘制的像素,并缩放绘制的图像以匹配第一个图像。你可以用宽度来做同样的事情。这样玩家就不会受到惩罚画好,但规模较小,版本的图片。

另一项改进是做多比较,移位绘制图像从左向右,向上和向下,以“最好的”匹配。这样你就不会因为从中心偏移画一些东西而受到惩罚。

这一切都有点哈克,但我认为它可能是更有帮助走这条路,而不是试图纳入解析中风和其他OCR-或基于手势的算法逻辑。