我正在制作一个游戏,其中用户在网格上绘制三角形并与其他三角形一致。但是,用户获得额外的点以使新三角形与原始三角形不同。我会使用movieclip的rotation属性,但由于三角形被绘制成动态创建的MC,因此它们都具有0度的旋转。
有没有办法做到这一点?我绝对难过。
答案 0 :(得分:0)
我认为这只是一个数学问题。
首先,如果你有一个等边三角形,你将无法可靠地计算出旋转差异,因为边的大小相同。
否则,你将始终拥有'重要的一面'
假设您的三角形是等腰,那么您的重要一面是与另外两个匹配边长度不同的一面。
假设你有一个斜角三角形,你最重要的一面是最长的一面。
一旦你知道了最重要的一面......
您应该能够使用trig。
计算出用户三角形的重要一面您还应该知道用户试图绘制的基本三角形的重要一面,因为您正在“制作”它。
然后你基本上有两条线(两条重要的边),再次使用trig来计算两条线之间的旋转差异,然后你就可以了。
答案 1 :(得分:0)
我解决了这个问题。我所做的是让程序挖掘三角形以找到最左边和最高点。然后我用这个点作为原点绘制所有三角形。这确保了无论点击点的顺序如何,所有三角形都将具有相同的原点。
为了检测它们是否匹配,我编写了一个复制三角形并将它们移动到同一点的函数。因为它们现在具有相同的原点,如果它们具有相同的角度,它们将占据相同的空间。使用这个,然后我写了一个函数,检查三角形是否完全重叠。