Tank Controls Help

I’m creating a tank for a game I am making. I want the tank to move in the direction it is facing. How can I do that?

2 Likes

Hey There!

Some further code/ explanation would be awesome !

Here’s my code…

function setup() {
	createCanvas(500, 500, WEBGL);
}

let xPos = 40;
let yPos = 0;
let bDir = 0;
let gDir = 0;

let up = 38;
let left = 37;
let right = 39;
let down = 40;
let a = 65;
let d = 68;


let z = 45;

function draw() {
	background(255);
	//z += 0.01;
	rotateX(45);
	rotateZ(z);

	tank(xPos, yPos, 0, bDir, gDir);


	if (keyIsDown(up)) {
		xPos += 2;
	}
	
	if (keyIsDown(down)) {
		xPos -= 2;
	}
	
	if (keyIsDown(right)) {
		bDir += 0.02;
	}
	
	if (keyIsDown(left)) {
		bDir -= 0.02;
	}
	
	if (keyIsDown(a)) {
		gDir += 0.02;
	}
	
	if (keyIsDown(d)) {
		gDir -= 0.02;
	}
	
}

this defines the tank function…

function tank (x, y, z, body, gun) {
	translate(x, y, z);
	rotateZ(body);
	
	box(30, 20, 10);
	
	translate(0, 0, -7);
	
	box(20, 20, 5);
	triPrism(-15, -10, 3, 5, 20, 5);
	triPrism(15, -10, 3, -5, 20, 5);
	
	
	
	translate(0, 0, 14);
	rotate(gun);
	
	
	box(10, 10, 5);
	
	rotateZ(80);
	translate(0, 10);
	
	cylinder(2, 20, 5, 5);
	
	translate(0, -10);
	rotateZ(280);
	
	rotate(-gun);
	translate(0, 0, -7);
	
	rotateZ(body);
	translate(-x, -y, -z);
};
1 Like

Nevermind I was able to figure out a formula.

Can you share your code please?

Sounds interesting!!!

Chrisir