1

你好,我正在发财。我有动画工作,但试图弄清楚如何检测每个椭圆的位置,以便我可以检测到它何时处于 90 度并且指针指向它。我用来制造车轮的数据是一系列十六进制颜色。这是密码笔

这是构建轮子的函数

function prizes(revolve,xPosition,yPosition,data,radius,size){ 
var j = 0;
// translate(x,y);
  push()
  rotate(revolve)

for(i = 0 ; i < TWO_PI ; i+=TWO_PI/data.length)
{
  let x = radius * cos(i);
  let y = radius * sin(i);

  fill(data[j])
  textSize(32);
  ellipse(x,y,size)
  j++;
  }

  pop() 
}

提前致谢

4

1 回答 1

1

问题是您依靠revolve参数来设置旋转,这反过来会修改椭圆的位置。这使得很难计算出旋转后椭圆的实际位置。

您可以通过取消旋转点并检查它来弄清楚它,但恕我直言,这听起来很复杂。相反,如果我是你,我会停止使用该revolve函数来旋转整个画布,而是使用它来计算每个椭圆的位置。

一旦你有了每个椭圆的实际位置,你就可以找出哪个在顶部。或者您可以使用该dist()函数来确定哪个最接近指针。

于 2017-10-26T01:48:40.720 回答