PImage hook,Rcurtain,Lcurtain,stage,bg,bg2,bg3, captain,captain_arm,admiral,admiral_arm, quote,quote2,quote3, octopus,T1,T2,T3,T4,T5,T6,T7,T8, DV,DV2,DVarm,DVcape,captain_arm2; int time,timer; int mode=1; int a,b; float curtainmove,curtainmove2; float x=100; float x2=430; float angle=0.0; float angle1=0.0; float seglength=80; float targetangle,targetx,targetx2,bobble; float easing=.1; float stiffness=.15; float damping=.9; float velocity=.0; float Rarmrotate,Larmrotate,octobody,octo; float velocity2=.0; float stiffness2=.2; float velocity3=.0; float velocity4=.0; Button button1,button2,button3; PImage[] quotes1=new PImage[6]; PImage[] quotes2=new PImage[6]; PImage[] quotes3=new PImage[6]; void setup () { size(600,600); frameRate(50); stroke(0,200); hook=loadImage("hook.png"); Rcurtain=loadImage("Rcurtain.png"); Lcurtain=loadImage("Lcurtain.png"); stage=loadImage("stage1.jpg"); bg=loadImage("background.jpg"); bg2=loadImage("background2.jpg"); bg3=loadImage("background_3.jpg"); captain=loadImage("captain.png"); captain_arm=loadImage("captain_arm.png"); admiral=loadImage("admiral.png"); admiral_arm=loadImage("admiral_arm.png"); quote=loadImage("bubble.png"); quote2=loadImage("bubble2.png"); quote3=loadImage("bubble3.png"); octopus=loadImage("octopus.png"); T1=loadImage("tentacle1.png"); T2=loadImage("tentacle2.png"); T3=loadImage("tentacle3.png"); T4=loadImage("tentacle4.png"); T5=loadImage("tentacle5.png"); T6=loadImage("tentacle6.png"); T7=loadImage("tentacle7.png"); T8=loadImage("tentacle8.png"); DV=loadImage("vader1.png"); DV2=loadImage("vader2.1.png"); DVarm=loadImage("vader_arm1.png"); DVcape=loadImage("cape1.png"); captain_arm2=loadImage("captain_arm2.1.png"); PImage b1= loadImage("wheel.png"); PImage r1=loadImage("wheel_over.png"); PImage d1=loadImage("wheel_pressed.png"); button1= new Button(350,525,70,b1,r1,d1); PImage b2= loadImage("anchor.png"); PImage r2=loadImage("anchor_over.png"); PImage d2=loadImage("anchor_pressed.png"); button2= new Button(425,525,70,b2,r2,d2); PImage b3= loadImage("coin.png"); PImage r3=loadImage("coin_over.png"); PImage d3=loadImage("coin_pressed.png"); button3= new Button(500,525,70,b3,r3,d3); /////fun pirate sayings! for (int i=0; i<6; i++) { String imageName1 = "phrase"+i+".gif"; quotes1[i]=loadImage(imageName1); String imageName2 = "adj"+i+".gif"; quotes2[i]=loadImage(imageName2); String imageName3 = "noun"+i+".gif"; quotes3[i]=loadImage(imageName3); } } void draw() { smooth(); background(240); noCursor(); if (mode==1) { image(bg,0,0); } if (mode==2) { image(bg2,0,0); } if (mode==3) { image(bg3,0,0); } float sec=millis()/1000.0; float speed=mouseX-pmouseX; float yspeed=mouseY-pmouseY; targetangle=(speed*18/float(width))*PI; float t1=constrain(targetangle,-PI/2,PI/2); angle1+=(t1-angle1)*easing; angle=(mouseY/500.0-.6)*PI; //Left arm springs float force=stiffness*(angle-Larmrotate); velocity=damping*(velocity+force); Larmrotate+=velocity; //Right arm springs float force2=stiffness2*(-1*angle-Rarmrotate); velocity2=damping*(velocity2+force2); Rarmrotate+=velocity2; float mx=constrain(mouseX,50,550); /////////right puppet if ((mousePressed==true)&&(mouseY>75)) { targetx2=mx+130; x2+=(targetx2-x2)*easing; } else { targetx2=300+abs(mx-340)+100; x2+=(targetx2-x2)*easing*2; } if (mode==1) { pushMatrix(); Admiral(x2,300,angle1); popMatrix(); pushMatrix(); //right puppet arm admiralA(x2+angle1*15,280,Rarmrotate); popMatrix(); } if (mode==2) { ///giant octopus! float ybobble=331+5*yspeed; bobble+=(ybobble-bobble)*.02; ////springs float force4=stiffness*(bobble-octobody); velocity4=damping*(velocity4+force4); octobody+=velocity4; float force3=stiffness2*(bobble-octo); velocity3=damping*(velocity3+force3); octo+=velocity3; pushMatrix(); tentacle1(x2+50,octo+50,Rarmrotate/4.1); popMatrix(); pushMatrix(); tentacle2(x2-30,octo+45,Rarmrotate/4.3); popMatrix(); pushMatrix(); tentacle3(x2+55,octo+55,-1*Rarmrotate/4); popMatrix(); pushMatrix(); tentacle4(x2-75,octo+60,-1*Rarmrotate/3.8); popMatrix(); pushMatrix(); /////head and body octopus(x2,octobody,angle1/PI); popMatrix(); pushMatrix(); tentacle5(x2+105,octo+65,Rarmrotate/PI); popMatrix(); pushMatrix(); tentacle6(x2-135,octo+45,Rarmrotate/3); popMatrix(); pushMatrix(); tentacle7(x2+75,octo+50,-1*Rarmrotate/2.7); popMatrix(); pushMatrix(); tentacle8(x2-35,octo+55,Rarmrotate/2); popMatrix(); } if (mode==3) { ////darth vader pushMatrix(); Darth(x2,300,angle1); popMatrix(); pushMatrix(); //arm DarthA(x2+angle1*15-10,278,Rarmrotate/1.1); popMatrix(); pushMatrix(); Darth2(x2+angle1*15,272,(Rarmrotate+PI/3)/2); popMatrix(); pushMatrix(); Cape(x2+angle1*15+7,271,angle1); popMatrix(); } ///////////////left puppet--Captain if ((mousePressed==true)&&(mouseY>75)) { targetx=mx-130; x+=(targetx-x)*easing; } else { targetx=300-abs(mx-260)-100; x+=(targetx-x)*easing*2; } pushMatrix(); Captain(x,300,angle1); popMatrix(); if(mode==3){ pushMatrix(); //left puppet arm-Captain captainA2(x+angle1*15,280,Larmrotate); popMatrix(); }else{ pushMatrix(); //left puppet arm-Captain captainA(x+angle1*15,280,Larmrotate); popMatrix(); } ///////quote bubble////////////////// timer=frameCount%133; if ((mousePressed==true)&&(timer==0)) { time=frameCount; } if ((frameCount>=time)&&(frameCount<=time+80)) { if (mode==1) {image(quote,mx-80,50);} if (mode==2) {image(quote2,mx-80,50);} if (mode==3) {image(quote3,mx-80,50);} int q=time%6; int r=(floor(time*1.4))%6; int s=(ceil(time*2.2))%6; image(quotes1[q],mx-80,50); image(quotes2[r],mx-80,50); image(quotes3[s],mx-80,50); } ////stage///////// image(stage,0,395); /////buttons////// button1.update(); button2.update(); button3.update(); button1.display(); button2.display(); button3.display(); ////custom piratey cursor/////// if (mousePressed==false) { image(hook,mouseX-17,mouseY-19); } if (sec <=7) { ////intro curtainmove2+=2 ; //inner curtain layer image(Lcurtain,0-curtainmove2,0); image(Rcurtain,300+curtainmove2,0); curtainmove+=3.7 ; //outer curtain layer image(Lcurtain,0-curtainmove,0); image(Rcurtain,300+curtainmove,0); } } void mousePressed() { if (button1.press()==true) {mode=1;} if (button2.press()==true) {mode=2;} if (button3.press()==true) {mode=3;} } void mouseReleased() { button1.release(); button2.release(); button3.release(); } void Captain(float x, float y, float a) { strokeWeight(2); translate(x,y); rotate(a); image(captain,-60,-144); } void captainA(float x, float y, float a) { translate(x,y); rotate(a); image(captain_arm,-19,-70); } void captainA2(float x, float y, float a) { translate(x,y); rotate(a); image(captain_arm2,-20,-85); } void Admiral(float x, float y, float a) { translate(x,y); rotate(a); image(admiral,-50,-125); } void admiralA(float x, float y, float a) { translate(x,y); rotate(a); image(admiral_arm,-240,-75); } void Darth(float x, float y, float a) { translate(x,y); rotate(a); image(DV,-70,-135); } void Darth2(float x, float y, float a) { translate(x,y); rotate(a); image(DV2,-60,-115); } void Cape(float x, float y, float a) { translate(x,y); rotate(a); image(DVcape,-26,-27); } void DarthA(float x, float y, float a) { translate(x,y); rotate(a); image(DVarm,-244,-80); } void octopus(float x, float y, float a) { translate(x,y); rotate(a); image(octopus,-112,-144); } void tentacle1(float x,float y, float a){ translate (x,y); rotate(a); image(T1,-26,-135); } void tentacle2(float x,float y, float a){ translate (x,y); rotate(a); image(T2,-51,-171); } void tentacle3(float x,float y, float a){ translate (x,y); rotate(a); image(T3,-27,-108); } void tentacle4(float x,float y, float a){ translate (x,y); rotate(a); image(T4,-91,-135); } void tentacle5(float x,float y, float a){ translate (x,y); rotate(a); image(T5,-27,-166); } void tentacle6(float x,float y, float a){ translate (x,y); rotate(a); image(T6,-66,-167); } void tentacle7(float x,float y, float a){ translate (x,y); rotate(a); image(T7,-47,-170); } void tentacle8(float x,float y, float a){ translate (x,y); rotate(a); image(T8,-55,-137); }