xxxxxxxxxx
85
let angle = 0.005;
let dir = 1;
let x;
let y;
let pmDir = 0;
let xDir = 0;
let yDir = 0;
let speed = 4;
let radius = 25;
function setup() {
createCanvas(400, 400);
x = width / 2;
y = height / 2;
}
function draw() {
background(0);
move();
pacMan();
}
function keyPressed(){
if (keyCode === UP_ARROW) {
pmDir = -HALF_PI;
xDir = 0;
yDir = -1;
}
else if (keyCode === DOWN_ARROW) {
pmDir = HALF_PI;
xDir = 0;
yDir = 1;
}
else if (keyCode === RIGHT_ARROW) {
pmDir = 0;
xDir = 1;
yDir = 0;
}
else if (keyCode === LEFT_ARROW) {
pmDir = PI;
xDir = -1;
yDir = 0;
}
else return -1;
}
function move(){
if (xDir == 1 && x < width-radius){
x += xDir*speed;
}
else if (xDir == -1 && x > 0+radius){
x += xDir*speed;
}
if (yDir == 1 && y < height-radius)
{
y += yDir*speed;
}
else if (yDir == -1 && y > radius)
{
y += yDir*speed;
}
}
function pacMan(){
push();
translate(x,y);
rotate(pmDir);
noStroke();
fill(255,255,0);
arc(0,0,radius*2,radius*2,angle, -angle);
if (angle >= 0.75) dir = -1;
if (angle <= 0.05) dir = 1;
angle += (dir * 0.08);
pop();
}