Your browser does not support the canvas tag.

previous        Show / Hide Source        Download        next
void setup() {
  size(400,400);
}

void draw() {

//BACKGROUND/ - / - / - / - / - / - / - / - / - / - / - / - / - / - / - / - / - / - / 
background(50);
//stars
    fill(255,mouseY,-mouseY);
    stroke(255,mouseY,-mouseY);
ellipse(30,mouseY/16+70,5,5); //1/16th speed mouse Y
ellipse(60,mouseY/16+240,5,5);
ellipse(100,mouseY/16+180,5,5);
ellipse(90,mouseY/16+1,5,5);
ellipse(300,mouseY/16+80,5,5);
ellipse(280,mouseY/16+40,5,5);
ellipse(190,mouseY/16+270,5,5);
ellipse(240,mouseY/16+300,5,5);
ellipse(90,mouseY/16+350,5,5);

//small ships
  stroke(0);
  fill(129,106,56);
rect(125,mouseY/2+140,50,15); //1/2 speed mouse Y
rect(135,mouseY/2+145,30,15); //1/2 speed mouse Y
  fill(162,148,122);
quad(120,mouseY/2+140,150,mouseY/2+150,150,mouseY/2+20,120,mouseY/2+20);
quad(180,mouseY/2+140,150,mouseY/2+150,150,mouseY/2+20,180,mouseY/2+20);
rect(115,mouseY/2+120,70,10);
  fill(137,121,96);
rect(110,mouseY/2+90,20,20);
rect(110,mouseY/2+70,20,20);
rect(110,mouseY/2+50,20,20);
rect(110,mouseY/2+30,20,20);
rect(170,mouseY/2+90,20,20);
rect(170,mouseY/2+70,20,20);
rect(170,mouseY/2+50,20,20);
rect(170,mouseY/2+30,20,20);
quad(120,mouseY/2+20,125,mouseY/2-10,130,mouseY/2-10,130,mouseY/2+20);
quad(180,mouseY/2+20,175,mouseY/2-10,170,mouseY/2-10,170,mouseY/2+20);
rect(130,mouseY/2+10,40,15);
rect(140,mouseY/2-10,20,20);
  fill(129,106,56);
rect(115,mouseY/2+120,70,10);
rect(140,mouseY/2+25,5,95);
rect(155,mouseY/2+25,5,95);


//big ships
  fill(129,106,56);
rect(330,mouseY-70,30,40); //1/1 speed mouse Y
rect(360,mouseY-60,40,40);
  fill(162,148,122);
quad(320,mouseY-340,400,mouseY-340,400,mouseY-30,320,mouseY-70);
rect(310,mouseY-110,90,20);
  fill(137,121,96);
rect(295,mouseY-175,50,50);
quad(280,mouseY-160,280,mouseY-140,295,mouseY-125,295,mouseY-175);
triangle(345,mouseY-126,355,mouseY-150,345,mouseY-174);
rect(295,mouseY-225,50,50);
quad(280,mouseY-210,280,mouseY-190,295,mouseY-175,295,mouseY-225);
triangle(345,mouseY-176,355,mouseY-200,345,mouseY-224);
rect(295,mouseY-275,50,50);
quad(280,mouseY-260,280,mouseY-240,295,mouseY-225,295,mouseY-275);
triangle(345,mouseY-226,355,mouseY-250,345,mouseY-274);
rect(295,mouseY-325,50,50);
quad(280,mouseY-310,280,mouseY-290,295,mouseY-275,295,mouseY-325);
triangle(345,mouseY-276,355,mouseY-300,345,mouseY-324);
quad(320,mouseY-340,330,mouseY-400,340,mouseY-400,340,mouseY-340);
rect(340,mouseY-370,120,40);
rect(370,mouseY-400,60,30);
triangle(340,mouseY-370,360,mouseY-370,340,mouseY-390);
  fill(129,106,56);
rect(370,mouseY-330,20,220);
rect(310,mouseY-110,90,20);

//SHIP/ - / - / - / - / - / - / - / - / - / - / - / - / - / - / - / - / - / - / 
//Moved with mouse X
//exhaust
  stroke(255,255,255);
  fill(100,255,255);
arc(mouseX,340,20,20,0,TWO_PI);

//body
  stroke(0,0,0);
  fill(129,106,56);
rect(mouseX-2,265,4,10);
  fill(137,121,96);
quad(mouseX-2,275,mouseX+2,275,mouseX+5,285,mouseX-5,285);
quad(mouseX+5,285,mouseX-5,285,mouseX-25,305,mouseX+25,305);
  fill(162,148,122);
quad(mouseX-25,305,mouseX+25,305,mouseX+20,325,mouseX-20,325);
triangle(mouseX-20,325,mouseX+20,325,mouseX-0,340);
stroke(255); //colourfill
rect(mouseX-20,325,40,1);
rect(mouseX-24,305,48,1);
rect(mouseX-4,285,8,1);
stroke(0);
  fill(137,121,96);
quad(mouseX-16,300,mouseX-10,320,mouseX+10,320,mouseX+16,300);//body detail
triangle(mouseX-10,320,mouseX+10,320,mouseX-0,330);
stroke(255); //colourfill
rect(mouseX-15,300,30,1);
rect(mouseX-8,320,16,1);
stroke(0);
  fill(180,146,38);
quad(mouseX-25,305,mouseX-15,295,mouseX-15,298,mouseX-24,310);
quad(mouseX+25,305,mouseX+15,295,mouseX+15,298,mouseX+24,310);
//top
arc(mouseX-0,285,6,6,PI,PI+PI);
line(mouseX-3,285,mouseX-3,305);
line(mouseX+3,285,mouseX+3,305);
rect(mouseX-2,310,4,40);
  fill(203,198,178);
quad(mouseX-0,285,mouseX+5,305,mouseX-0,315,mouseX-5,305);
//extrusions
stroke(0);
line(mouseX-25,305,mouseX-35,315);
line(mouseX+25,305,mouseX+35,315);
line(mouseX-24,307,mouseX-40,323);
line(mouseX+24,307,mouseX+40,323);
line(mouseX-24,310,mouseX-32,318);
line(mouseX+24,310,mouseX+32,318);
line(mouseX-23,312,mouseX-29,318);
line(mouseX+23,312,mouseX+29,318);
line(mouseX-23,315,mouseX-26,318);
line(mouseX+23,315,mouseX+26,318);
//fins
quad(mouseX-7,330,mouseX-7,355,mouseX-20,355,mouseX-15,335);//Left
  fill(126,105,84);
quad(mouseX-15,360,mouseX-30,350,mouseX-10,328,mouseX-7,330);
  fill(203,198,178);
quad(mouseX-13,327,mouseX-28,342,mouseX-35,325,mouseX-17,320);
quad(mouseX+7,330,mouseX+7,355,mouseX+20,355,mouseX+15,335);//Right
  fill(126,105,84);
quad(mouseX+15,360,mouseX+30,350,mouseX+10,328,mouseX+7,330);
  fill(203,198,178);
quad(mouseX+13,327,mouseX+28,342,mouseX+35,325,mouseX+17,320);
}

void mousePressed() {
  fill(0,255,252);
  stroke(255);
  rect(mouseX-2,0,2,265);
  frameRate(5); //Laser click and erase
  fill(255);
  stroke(0);
  frameRate(60);
}