#### Howdy, Stranger!

We are about to switch to a new forum software. Until then we have removed the registration on this forum.

# I need to rotate my image and then be able to move it properly

edited May 2016

Hi, I'm making a tank game and I need to be able to rotate the tanks with the arrow keys and then if I press forward, they will move towards the direction that they are facing. I managed to rotate them, but I can't figure out how to move them forwards according to their rotation. Here is my code:

```void draw() { if (keys[2]) { tankRotate1-=tankRSpeed1; } if(keys[3]) { tankRotate1+=tankRSpeed1; } imageMode(CENTER); pushMatrix(); translate(tankX1, tankY1); rotate(radians(tankRotate1)); image(redTnak, 0, 0); popMatrix(); }```

Let me know if more code is needed. I appreciate any help that I can get!

Tagged:

You need to update your tanks position based on it's rotation in addition to which keys are pressed:

``````float px, py;
float r;

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

void draw(){
background(0);
translate(px,py);
rotate(r);
rect(-8,-8,16,16);
triangle(5,0,-3,-3,-3,3);
}

void keyPressed(){
if(keyCode==UP){ px+=6*cos(r); py+=6*sin(r); }
if(keyCode==DOWN){ px-=6*cos(r); py-=6*sin(r); }
if(keyCode==LEFT) r-=.05;
if(keyCode==RIGHT) r+=.05;
}
``````
• THANK YOU SO MUCH! I've been looking everywhere for something like that!

• Actually, when I tried playing your code, in some directions, it behaves strangely (if you press up sometimes, it will go sideways and others, it will behave normally) how would I fix that?

• When you press up, it goes in the direction the triangle points.