float xmag = 0, ymag = 0, scl = 30.0; float newXmag = 0, newYmag = 0; int l = 40, w = 20, h = 30; int num; boolean paused = false; boolean stopped = false; float sizexy = 0.2, sizez = 0.2; PFont font; color themecolors[]; int themespeed[] = {0,0,0}; Window windows[]; Itheme theme[]; void setup() { size(640, 480, P3D); windows = new Window[1]; rectMode(CENTER); noStroke(); background(10, 10, 23); frameRate(18); theme = new Itheme[3]; themecolors = new color[3]; themecolors[0] = color(255,255,0); themecolors[1] = color(255,0,0); themecolors[2] = color(0,255,0); font = loadFont("HelveticaNeue-CondensedBold-48.vlw"); textFont(font, 12); if(!createWindows()) { exit(); } } void draw() { background(10, 10, 23); pushMatrix(); camera(); //lights(); for(int i = 0; i < theme.length; ++i) if(theme[i] != null) theme[i].update(paused); beginShape(QUADS); for(int i = 0; i < num; ++i) { windows[i].updglow(paused); windows[i].draw(); } fill(100,110,100); vertex(-l*sizexy/2,-w*sizexy/2,-h*sizez/2); vertex(l*sizexy/2,-w*sizexy/2,-h*sizez/2); vertex(l*sizexy/2,w*sizexy/2,-h*sizez/2); vertex(-l*sizexy/2,w*sizexy/2,-h*sizez/2); fill(100,110,100); vertex(-l*sizexy/2,-w*sizexy/2,h*sizez/2); vertex(l*sizexy/2,-w*sizexy/2,h*sizez/2); vertex(l*sizexy/2,w*sizexy/2,h*sizez/2); vertex(-l*sizexy/2,w*sizexy/2,h*sizez/2); endShape(); popMatrix(); if(stopped) { fill(255); text("Stop", 10, 10); } else if(paused) { fill(255); text("Pause", 10, 10); } float sec = float(frameCount) / frameRate; if(sec < 8.0) { int a = 255; if(sec > 5.0) { a = 255-int((sec - 5.0)/3.0*255.0); } fill(255,255,255,a); text(".:: TeamMC ::.", 10, 10); } //else { for(int i = theme.length-1; i >= 0; --i) { fill(themecolors[i]); if(theme[i] != null) { String txt = theme[i].getname() + " "; for(int j = 0; j <= themespeed[i]; ++j) txt = txt + "+"; text(txt, 10, height-10-14*(theme.length-1-i)); } else text("<.....>", 10, height-10-14*(theme.length-1-i)); } } //controlP5.draw(); } void keyPressed() { //l -=1; //w +=1; if(key == '1') { if(!changeTheme("next",0)) println("changeTheme fehlgeschlagen"); } else if(key == '2') { if(!changeTheme("next",1)) println("changeTheme fehlgeschlagen"); } else if(key == '3') { if(!changeTheme("next",2)) println("changeTheme fehlgeschlagen"); } else if(key == '4') { ++themespeed[0]; themespeed[0] %= 3; if(theme[0] != null) theme[0].setspeed(themespeed[0]); } else if(key == '5') { ++themespeed[1]; themespeed[1] %= 3; if(theme[1] != null) theme[1].setspeed(themespeed[1]); } else if(key == '6') { ++themespeed[2]; themespeed[2] %= 3; if(theme[2] != null) theme[2].setspeed(themespeed[2]); } else if(keyCode == LEFT) { sizexy -= .025; createWindows(); } else if(keyCode == RIGHT) { sizexy += .025; createWindows(); } else if(keyCode == UP) { sizez += .025; createWindows(); } else if(keyCode == DOWN) { sizez -= .025; createWindows(); } else if(key == ' ') { if(paused) { if(stopped) { stopped = false; paused = false; } else stopped = true; } else paused = true; } else if(key == 'w') { h+=1; createWindows(); } else if(key == 's') { h-=1; createWindows(); } else if(key == 'a') { l+=1; createWindows(); } else if(key == 'd') { l-=1; createWindows(); } else if(key == 'q') { w+=1; createWindows(); } else if(key == 'e') { w-=1; createWindows(); } //createWindows(); }