2016-11-02 48 views
0

我正在制作一个游戏,在屏幕上给用户一封信,他们必须跟踪这封信,我想知道什么时候用户正在绘图,我可以跟踪他们正在绘制的内容,看看他们是否正在绘制正确地写信。是否可以使用Java gui画布并跟踪鼠标在画布上绘制的内容?

我在考虑用if语句来说明鼠标是否沿着字母的坐标被拖动,如字母在屏幕上的位置,那么它是正确的,否则它是错误的。

会这样吗?

+0

虽然这封信的坐标是什么? – weston

+0

这封信在屏幕上 – Pirates

+1

这比您想象的要难得多。例如,假设该字母是“:A”。所以你希望用户追踪它。但用于绘制“A”的实际像素取决于正在使用的字体。用户必须与“A”的确切笔画接近?如果用户将他的踪迹延长或缩短一个像素,这是失败吗?你将如何确定用户完成跟踪的时间?那衬线呢? – FredK

回答

1

嗯,是的。你所说的技术上是正确的 - 这是行得通的。

通常对于这种类型的游戏,您会有某种代表画布像素的矩阵。您应该知道哪些像素属于该字母(因为它覆盖了画布的一部分)。当玩家开始会话时,可以有另一个相同大小的矩阵(但是为空),并且当玩家拖动鼠标时,矩阵中的某些像素会被标记。

您应该比较两个矩阵,以查看“正确”是否为玩家(字母中有多少标记像素)。也许如果有85%的匹配率,这意味着玩家画了这封信。你还需要考虑作弊(就像玩家试图画出整个屏幕一样),但这取决于你的游戏机制。