0

我正在制作一个游戏,其中用户在网格上绘制三角形并与其他三角形一致。然而,用户获得额外的分数,因为他们的新三角形与原始三角形不同。我会使用动画剪辑的旋转属性,但由于三角形被绘制到动态创建的 MC 中,它们都有 0 度的旋转。

有没有办法做到这一点?我完全被难住了。

4

2 回答 2

0

我认为这只是一个数学问题。

首先,如果您有一个等边三角形,您将无法可靠地计算出旋转差异,因为边的大小相同。

否则,你将永远拥有“重要的一面”

假设您的三角形是等腰三角形,那么您的重要边是与其他两个匹配边长度不同的边。

假设你有一个不等边三角形,你最重要的一边是最长的一边。

一旦你知道你最重要的一面...

您应该能够使用 trig 计算出用户三角形的重要一侧。

您还应该知道用户尝试绘制的基本三角形的重要一侧,因为您正在“制作”它。

然后你基本上有两条线(两条重要的边),再次使用 trig 计算两条线之间的旋转差异,然后你就可以走了。

于 2013-05-21T12:24:57.563 回答
0

我解决了这个问题。我所做的是让程序挖掘三角形以找到最左边和最上面的点。然后我以该点为原点绘制所有三角形。这可确保无论单击点的顺序如何,所有三角形都将具有相同的原点。

为了检测它们是否匹配,我编写了一个复制三角形并将它们移动到同一点的函数。因为它们现在具有相同的原点,所以如果它们具有相同的角度,它们将占据相同的空间。使用它,然后我编写了一个函数来检查三角形是否完全重叠。

于 2013-05-22T17:24:29.807 回答