Hi, I'm having a tough time figuring out why my program is lagging and was wondering if anyone could help. Thank you!! :-)
import processing.video.*;
int d = 40;
float xo;
float yo;
float zoom = 1;
float angle = 0;
int borderStroke = 50;
float counter;
PImage img;
PFont font;
float[] posx;
float[] velx;
float[] massx;
char[] letter = new char[]{'M','A','G','A','Z', 'I', 'N', 'E'};
int xPos=200;
int xDir=10;
PImage click;
PImage collage2;
PImage collage3;
PImage collage4;
PImage collage5;
PImage border2;
PImage sign;
PImage sign2;
PImage sign3;
Movie myMovie[];
float t0;
float t;
int index = 0;
void setup () {
size (2000, 1000);
xo = width/2;
yo = height/2;
smooth();
noStroke();
fill(206, 10, 10);
img=loadImage("cherries.gif");
font = loadFont("Baskerville-BoldItalic-48.vlw");
textFont(font, 248 );
posx = new float[] {0,0,0,0,0,0,0,0};
velx = new float[] {0,0,0,0,0,0,0,0};
massx = new float[] {random(10)+1,random(10)+1,random(10)+1,random(10)+1,random(10)+1,random(10)+1,random(10)+1,random(10)+1};
myMovie = new Movie[4];
myMovie[0] = new Movie(this, "Paula.mp4");
myMovie[1] = new Movie(this, "brit.mp4");
myMovie[2] = new Movie(this, "linds.mp4");
myMovie[3] = new Movie(this, "MJ.mp4");
myMovie[0].pause();
myMovie[1].pause();
myMovie[2].pause();
myMovie[3].pause();
}
void draw() {
for(int i =0; i < 8; i++) {
if ( posx[i] + velx[i] > 300 ) {
posx[i] = 300;
velx[i] = -velx[i] * 0.5;
} else {
posx[i] += velx[i];
}
velx[i] += 10 / massx[i];
}
background(255,182,193);
translate (xo, yo);
scale (zoom);
rotate (angle);
border2 = loadImage("border2.png");
image(border2, -1000, -500);
image(border2, 1000, -500);
image(border2, -3000, -500);
image(border2, -1000, -1500);
image(border2, 1000, -1500);
image(border2, -3000, -1500);
image(border2, -1000, 500);
image(border2, 1000, 500);
image(border2, -3000, 500);
click = loadImage("clickpage.jpg");
image(click, xPos, 325, 300, 100);
collage2 = loadImage("collage2.png");
collage2.resize(1900, 900);
image(collage2, 1060, 550);
sign = loadImage("sign.png");
image(sign, 2180, -230);
collage3 = loadImage("collage3.png");
collage3.resize(1900, 900);
image(collage3, -953, 550);
collage4 = loadImage("collage4.png");
collage4.resize(1900,900);
image(collage4, 1055, -460);
sign2 = loadImage("sign2.png");
image(sign2, 350, 770);
collage5 = loadImage("linds.png");
image(collage5, -2948, -450);
sign3 = loadImage("sign3.png");
image(sign3, -2250, -430);
xPos=xPos+xDir;
if (xPos>400 || xPos<-850)
{
xDir=-xDir;
}
if (myMovie[index].available() ) {
myMovie[index].read();
}
image(myMovie[0], 1760, -25, 510, 398);
image(myMovie[1], -270, 990, 580, 460);
image(myMovie[2], -2270, -50, 520, 410);
// image(myMovie[3],
if (t > myMovie[index].duration() + t0) {
println("finished! "+index);
}
t = millis()/1000;
PImage cheetah = loadImage("cheetah.jpg");
cheetah.resize(1800, 600);
image(cheetah, -900, -300);
image(img, 800,250);
image(img, -950, -450);
for( int i=0; i < 8; i++ ) {
pushMatrix();
float y = map( i, 0,4, -350, 500);
translate( width/2 + y, posx[i]);
text(letter[i], -1500, 0 );
popMatrix();
}
}
void movieEvent(Movie m) {
m.read();
}
void keyPressed() {
if (key == CODED) {
if (keyCode == UP) {
zoom += .03;
}
else if (keyCode == DOWN) {
zoom -= .03;
}
else if (keyCode == RIGHT) {
angle += .03;
}
else if (keyCode == LEFT) {
angle -= .03;
}
}
if (key == 32)
{
angle = 0;
zoom = 1;
xo = width/2;
yo = height/2;
}
if (key == '1') {
myMovie[0].play();
myMovie[1].stop();
myMovie[2].stop();
myMovie[3].stop();
index = 0;
t0 = millis()/1000;
}
if (key == '2') {
myMovie[1].play();
myMovie[0].stop();
myMovie[2].stop();
myMovie[3].stop();
index = 1;
t0 = millis()/1000;
}
if (key == '3') {
myMovie[2].play();
myMovie[0].stop();
myMovie[1].stop();
myMovie[3].stop();
index = 2;
t0 = millis()/1000;
}
if (key == '4') {
myMovie[3].play();
myMovie[0].stop();
myMovie[1].stop();
myMovie[2].stop();
index = 3;
t0 = millis()/1000;
}
if (key == '0'){
myMovie[0].pause();
myMovie[1].pause();
myMovie[2].pause();
myMovie[3].pause();
}
}
void mouseDragged(){
xo= xo + (mouseX - pmouseX);
yo = yo + (mouseY - pmouseY);
}