2013-05-06 1 views
0

ОК, ребята, я хочу повернуть PVector, который у меня есть в этом методе. этот метод заменяет posX и posY на x и y PVector. движение определено с помощью джойстика, который приходит от Arduino перемещает изображение по х и у, но я хотел бы, чтобы повернуть вектор в зависимости от оси джойстика ищетВращение PVector

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

не имеют 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 является произвольной и только для показа целей, вы можете установить ее как угодно (если необходимо вообще).

+0

ОК, я попробую. Спасибо чувак ;) – user2321978