好的家伙我想要旋转我在这种方法中使用的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);
}
}
答案 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
显示了代码中前面miPersonaje
和x
设置y
的位置。 rad
变量是任意的,仅用于显示目的,您可以将其设置为您想要的任何内容(如果需要的话)。