0

好的,伙计们,我想旋转我在这种方法中拥有的 PVector。此方法将 posX 和 posY 替换为 PVector 的 x 和 y。运动由来自 arduino 的操纵杆确定,它在 x 和 y 中移动图像,但我想根据操纵杆正在寻找的轴来转动矢量

public void moverPjUno(PVector coordenadas) {

if(areaXad==-1 && areaXat==-1){

miPersonaje.setPosX((miPersonaje.getPosX())+(int)coordenadas.x);

}

if(areaYab==-1 && areaYar==-1){

miPersonaje.setPosY((miPersonaje.getPosY())+(int)coordenadas.y);

}

}
4

1 回答 1

1

我没有连接Arduino,也不知道你的摇杆给你什么样的信息,所以我做了一个使用鼠标模仿摇杆的处理示例:

int rad = 100;

void setup() {
  size(400, 400);
}

void draw() {
  background(255);
  ellipse(width/2, height/2, rad*2, rad*2);

  // Using the mouse to mimic the position of the joystick
  float theta = atan2(mouseY-height/2, mouseX-width/2);

  // Get the new position
  float x = width/2+cos(theta)*rad;
  float y = height/2+sin(theta)*rad;

  // Show the new position
  ellipse(x, y, 30, 30);
}

atan2函数给出鼠标位置的角度,将参数替换为与操纵杆位置等效的参数。绘制的较小ellipse的部分显示了您miPersonaje将根据xy更早的代码设置的位置。该rad变量是任意的,仅用于显示目的,您可以将其设置为您想要的任何内容(如果需要的话)。

于 2013-05-06T02:29:45.203 回答