旋转PVector

时间:2013-05-06 01:42:08

标签: java vector rotation arduino processing

好的家伙我想要旋转我在这种方法中使用的PVector。 此方法用PVector的x和y替换posX和posY。 运动是由来自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);

}

}

1 个答案:

答案 0 :(得分: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显示了代码中前面miPersonajex设置y的位置。 rad变量是任意的,仅用于显示目的,您可以将其设置为您想要的任何内容(如果需要的话)。