首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >绘图游戏Flash AS3

绘图游戏Flash AS3
EN

Stack Overflow用户
提问于 2012-09-13 00:11:13
回答 2查看 787关注 0票数 5

我在Flash中面临着一个游戏的问题,我不知道我想让它成为可能还是不可能。

我正在尝试为闪存中的孩子们做一个游戏,使用AS3,孩子们必须画一个与目前舞台上的形状相似的形状。例如,有一个"a“字母,孩子必须画出和它相似的东西。

我的问题是,是否有一种方法可以检查孩子画的形状是否与舞台上的形状相似,以及我如何实现这一点。

EN

回答 2

Stack Overflow用户

发布于 2012-09-13 00:52:27

我会把这两张图片缩小到更低的分辨率...就像一个16x16的网格,大概。将栅格中的每个点标记为打开或关闭(绘制或不绘制)。

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

您可以通过缩放绘制的图像来改进算法。在这两个图像中找到最上面和最下面绘制的像素,并缩放绘制的图像以匹配第一个图像。你也可以对宽度做同样的事情。这样一来,玩家就不会因为画了一个好的、但更小的图片而受到惩罚。

另一个改进是进行多次比较,将绘制的图像从左到右、向上和向下移动,选择“最佳”匹配。这样你就不会因为画出偏离中心的东西而受到惩罚。

这一切都有点老生常谈,但我认为走这条路可能比尝试结合解析笔画和其他基于OCR或手势的算法的逻辑更有帮助。

票数 2
EN

Stack Overflow用户

发布于 2012-09-13 00:15:42

是的,这是可能的。

您可能希望跟踪鼠标的x,y坐标(如果正在使用鼠标绘制),然后将这些值转换为与之匹配的形状。

然后进行某种类型的错误检查。例如,将玩家绘制的形状的面积大小与给定的形状等进行比较。

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

只需检查像素颜色并定义哪里有绘图,哪里没有绘图(即白色背景),就可以做到这一点。

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12392369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档