有没有办法让三角形旋转以面向圆上的鼠标?

问题描述 投票:0回答:1

我试图让一个三角形(其两个基点始终位于圆的外边缘)指向鼠标所在的位置。我确信这主要是我错过的一个特定的数学问题,但我一直无法弄清楚。重申一下,我正在尝试制作一些类似于 .io 游戏的东西,其中玩家显示为一个圆圈,并且一个箭头从圆圈中出来,始终指向鼠标所在的方向。

由于从头开始使用三点系统来绘制三角形,我一直在尝试找到一个公式,该公式将使用圆的周长和变量 mouseX 和 mouseY 来找到三角形的底部两个点,无论鼠标在哪里屏幕上。因此,我一直在使用这个公式:

mouseXRelative = mouseY-(mouseX-(x+25));
mouseYRelative = mouseX-(mouseY-(y+25));
cEdgeXL = x + 25 * cos(mouseXRelative*radians(1));
cEdgeYL = y + 25 * sin(mouseYRelative*radians(1));
cEdgeXR = x - 25 * cos(mouseXRelative*radians(1));
cEdgeYR = y - 25 * sin(mouseYRelative*radians(1));
  
stroke(0,0,0);
triangle(cEdgeXL,cEdgeYL,mouseX,mouseY,cEdgeXR,cEdgeYR);

MouseXRelative 和 mouseYRelative 旨在保持相对于三角形端点的距离。

我已经非常接近我想要的了,但我发现的主要错误是这些点几乎会绕着圆的边缘旋转?看起来真的很奇怪。

processing mit-scratch triangle
1个回答
0
投票

你是否过度设计了?

如果你在“圆形”精灵上绘制三角形,你可以指示它指向鼠标。

查看我的演示

© www.soinside.com 2019 - 2024. All rights reserved.