xxxxxxxxxx
25
let v;
function rot(theta,v) {
return [(v.x*cos(theta))-(v.y*sin(theta)),(v.x*sin(theta))+(v.y*cos(theta))]
}
function setup() {
createCanvas(400, 400);
v=createVector(0,0);
}
function draw() {
v.y=keyIsDown(87);//w
v.y-=keyIsDown(83);//s
v.x=-keyIsDown(65);//a
v.x+=keyIsDown(68);//d
background(220);
v.normalize();
// if (v.y<1) {v.x*=-1}
text("x:"+v.x+", y:"+v.y,10,height/2);
[v.x,v.y]=rot(-PI/4,v);
text("left:"+v.x,10,height/2+10);
text("right:"+v.y,10,height/2+20);
}