Uno de los primeros ejercicios de práctica que subieron al foro. La consigna consistía en resolver el trabajo usando únicamente líneas.
Es la primera consigna que completamos en el foro. Trabajamos figuras, distintos rellenos y texto. (Comisión 4, Leonardo Garay)
Primer trabajo práctico obligatorio del año. La consigna consistía en realizar un círculo cromático (libre elección).
El ejercicio consistía en realizar un cuadrado que se desplace con las flechas del teclado.
El programa permite dibujar como si fuese un lápiz únicamente en el área gris.
En la medida que el cursor se desplaza por la pantalla, se van pintando los colores.
El trabajo práctico consistió en armar los créditos de una película, serie o videojuego a elección.
En mi caso, elegí tomar parte de los créditos de la película "Ratatouille", mi película animada preferida, y los adapté y recreé en Processing. Intenté respetar la tipografía. Las imágenes son ilustraciones tomadas de la película.
PFont italic, sarif, s2;
PImage bground, endcred;
float posy1 = height + 600, posy2 = posy1 + 70, posy3 = posy2 + 70, posy4 = posy3 + 100, posy5 = posy4 + 70, posy6 = posy5 + 125, posy7 = posy6 + 70, posy8 = posy7 + 70;
float posy9 = posy8 + 70, posy10 = posy9 + 70, posy11 = posy10 + 70, posy12 = posy11 + 110, posy13 = posy12 + 70, posy14 = posy13 + 70, posy15 = posy14 + 150, posy16 = posy15 + 70;
float posy17 = posy16 + 70, posy18 = posy17 + 70, posy19 = posy18 + 70, posy20 = posy19 + 70, posy21 = posy20 + 70, posy22 = posy21 + 70, posy23 = posy22 + 7, posy24 = posy23 + 70;
float posy25 = posy24 + 70, posy26 = posy25 + 70, posy27 = posy26 + 70, posy28 = posy27 + 250, posy29 = posy28 + 45, posy30 = posy29 + 45, posy31 = posy30 + 45, posy32 = posy31 + 45;
float posy33 = posy32 + 45, posy34 = posy33 + 45, posy35 = posy34 + 45, posy36 = posy35 + 45, posy37 = posy36 + 45, posy38 = posy37 + 45, posy39 = posy38 + 45, posy40 = posy39 + 45;
float posy41 = posy40 + 45, posy42 = posy41 + 45, posy43 = posy42 + 45, posy44 = posy43 + 45, posy45 = posy44 + 45, posy53 = 4980, posy54 = posy53 + 50, posy55 = posy54 + 40;
float posy56 = posy55 + 80, posy57 = posy56 + 30, posy58 = posy57 + 100, posy59 = posy58 + 30, posy60 = posy59 + 480, posy61 = posy60 + 50, posy62 = posy61 + 40, posy63 = posy62 + 40;
float posy64 = posy63 + 40, posy65 = posy64 + 40, posy66 = posy65 + 40, posy67 = posy66 + 80, posy69 = posy67 + 80, posy70 = posy69 + 40, posy71 = posy70 + 120, posy72 = posy71 + 40;
float posy73 = posy72 + 40, posy74 = posy73 + 40, posy75 = posy74 + 40, posy76 = posy75 + 40, posy77 = posy76 + 40, posy79 = posy77 + 90, posy80 = posy79 + 40, posy81 = posy80 + 200;
float posy82 = posy81 + 40, posx1 = 4900, posx2 = -8400, posx3 = -8550, speedY = 1.2, speedX = 1.3, speedX2 = 1.4;
void setup() {
size(1000, 600);
italic = loadFont("FreestyleScript-Regular-45.vlw");
sarif = loadFont("MVBoli-25.vlw");
s2 = loadFont("TimesNewRomanPSMT-23.vlw");
bground = loadImage("Fondo1.jpg");
endcred = loadImage("Endcredits.jpg");
}
void draw() {
image(bground, 0, 0, width, height);
float miColor1 = map (mouseX, 0, 1000, 0, 255);
float miColor2 = map (mouseX, 0, 1000, 0, 55);
float miColor3 = map (mouseX, 0, 1000, 0, 3);
fill(miColor1, miColor2, miColor3);
textFont(s2);
textAlign(RIGHT);
text("Screenwriter and Director", 500, posy1);
text("Produced by", 500, posy2);
text("Executive Producers", 500, posy3);
text("Associate Producer", 500, posy4);
text("Original Story by", 500, posy5);
text("Music by", 500, posy6);
text("Story Supervisor", 500, posy7);
text("Film Editor", 500, posy8);
text("Supervision Technical Director", 500, posy9);
text("Production Designer", 500, posy10);
text("Supervising Animators", 500, posy11);
text("Director of Photography & Lighting", 500, posy12);
text("Director of Photography & Camera", 500, posy13);
text("Character Design", 500, posy14);
text("Character Supervisor", 500, posy15);
text("Sets Art Director", 500, posy16);
text("Sets Supervisor", 500, posy17);
text("Shading Art Director", 500, posy18);
text("Shading Supervisor", 500, posy19);
text("Global Technology Supervisor", 500, posy20);
text("Effects Supervisor", 500, posy21);
text("Simulation Supervisor", 500, posy22);
text("Groom Supervisor", 500, posy23);
text("Crowds Supervisor", 500, posy24);
text("Production Manager", 500, posy25);
text("Sound Designer", 500, posy26);
text("Casting by", 500, posy27);
textFont(italic);
textAlign(LEFT);
textSize(50);
text("Brad Bird", 550, posy1);
text("Brad Lewis", 550, posy2);
textLeading(30);
text("John Lasseter\nAndrew Stanton", 550, posy3);
textLeading(50);
text(" Galyn Susman", 550, posy4);
textLeading(30);
text("Jan Pinkava\nJim Capobianco\nBrad Bird", 550, posy5);
textLeading(50);
text("Michael Giacchino", 550, posy6);
text("Mark Andrews", 550, posy7);
text("Darren Holmes A.C.E", 550, posy8);
text("Michael Fong", 550, posy9);
text("Harley Jessup", 550, posy10);
text("Dylan Brown\nMark Walsh", 550, posy11);
text("Sharon Calahan", 550, posy12);
text("Robert Anderson", 550, posy13);
textLeading(30);
text("Jason Deamer\nGreg Dykstra\nCarter Goodrich\nDan Lee", 550, posy14);
textLeading(50);
text("Brian Green", 550, posy15);
text("Robert Kondo", 550, posy16);
text("David Gisenmann", 550, posy17);
text("Belinda Van Valkenburg", 550, posy18);
text("Daniel McCoy", 550, posy19);
text("William Reeves", 550, posy20);
text("Apura Shah", 550, posy21);
text("Christine Waggoner", 550, posy22);
text("Sanjay Bakshi", 550, posy23);
text("Ziah Sarah Fogel", 550, posy24);
text("Nicole Paradis Grindle", 550, posy25);
text("Randy Thom", 550, posy26);
textLeading(30);
text("Kevin Reher\nNatalie Lyon", 550, posy27);
posy1-= speedY;
posy2-= speedY;
posy3-= speedY;
posy4-= speedY;
Font italic, sarif, s2;
PImage bground, endcred;
float posy1 = height + 600, posy2 = posy1 + 70, posy3 = posy2 + 70, posy4 = posy3 + 100, posy5 = posy4 + 70, posy6 = posy5 + 125, posy7 = posy6 + 70, posy8 = posy7 + 70;
float posy9 = posy8 + 70, posy10 = posy9 + 70, posy11 = posy10 + 70, posy12 = posy11 + 110, posy13 = posy12 + 70, posy14 = posy13 + 70, posy15 = posy14 + 150, posy16 = posy15 + 70;
float posy17 = posy16 + 70, posy18 = posy17 + 70, posy19 = posy18 + 70, posy20 = posy19 + 70, posy21 = posy20 + 70, posy22 = posy21 + 70, posy23 = posy22 + 7, posy24 = posy23 + 70;
float posy25 = posy24 + 70, posy26 = posy25 + 70, posy27 = posy26 + 70, posy28 = posy27 + 250, posy29 = posy28 + 45, posy30 = posy29 + 45, posy31 = posy30 + 45, posy32 = posy31 + 45;
float posy33 = posy32 + 45, posy34 = posy33 + 45, posy35 = posy34 + 45, posy36 = posy35 + 45, posy37 = posy36 + 45, posy38 = posy37 + 45, posy39 = posy38 + 45, posy40 = posy39 + 45;
float posy41 = posy40 + 45, posy42 = posy41 + 45, posy43 = posy42 + 45, posy44 = posy43 + 45, posy45 = posy44 + 45, posy53 = 4980, posy54 = posy53 + 50, posy55 = posy54 + 40;
float posy56 = posy55 + 80, posy57 = posy56 + 30, posy58 = posy57 + 100, posy59 = posy58 + 30, posy60 = posy59 + 480, posy61 = posy60 + 50, posy62 = posy61 + 40, posy63 = posy62 + 40;
float posy64 = posy63 + 40, posy65 = posy64 + 40, posy66 = posy65 + 40, posy67 = posy66 + 80, posy69 = posy67 + 80, posy70 = posy69 + 40, posy71 = posy70 + 120, posy72 = posy71 + 40;
float posy73 = posy72 + 40, posy74 = posy73 + 40, posy75 = posy74 + 40, posy76 = posy75 + 40, posy77 = posy76 + 40, posy79 = posy77 + 90, posy80 = posy79 + 40, posy81 = posy80 + 200;
float posy82 = posy81 + 40, posx1 = 4900, posx2 = -8400, posx3 = -8550, speedY = 1.2, speedX = 1.3, speedX2 = 1.4;
void setup() {
size(1000, 600);
italic = loadFont("FreestyleScript-Regular-45.vlw");
sarif = loadFont("MVBoli-25.vlw");
s2 = loadFont("TimesNewRomanPSMT-23.vlw");
bground = loadImage("Fondo1.jpg");
endcred = loadImage("Endcredits.jpg");
}
void draw() {
image(bground, 0, 0, width, height);
float miColor1 = map (mouseX, 0, 1000, 0, 255);
float miColor2 = map (mouseX, 0, 1000, 0, 55);
float miColor3 = map (mouseX, 0, 1000, 0, 3);
fill(miColor1, miColor2, miColor3);
textFont(s2);
textAlign(RIGHT);
text("Screenwriter and Director", 500, posy1);
text("Produced by", 500, posy2);
text("Executive Producers", 500, posy3);
text("Associate Producer", 500, posy4);
text("Original Story by", 500, posy5);
text("Music by", 500, posy6);
text("Story Supervisor", 500, posy7);
text("Film Editor", 500, posy8);
text("Supervision Technical Director", 500, posy9);
text("Production Designer", 500, posy10);
text("Supervising Animators", 500, posy11);
text("Director of Photography & Lighting", 500, posy12);
text("Director of Photography & Camera", 500, posy13);
text("Character Design", 500, posy14);
text("Character Supervisor", 500, posy15);
text("Sets Art Director", 500, posy16);
text("Sets Supervisor", 500, posy17);
text("Shading Art Director", 500, posy18);
text("Shading Supervisor", 500, posy19);
text("Global Technology Supervisor", 500, posy20);
text("Effects Supervisor", 500, posy21);
text("Simulation Supervisor", 500, posy22);
text("Groom Supervisor", 500, posy23);
text("Crowds Supervisor", 500, posy24);
text("Production Manager", 500, posy25);
text("Sound Designer", 500, posy26);
text("Casting by", 500, posy27);
textFont(italic);
textAlign(LEFT);
textSize(50);
text("Brad Bird", 550, posy1);
text("Brad Lewis", 550, posy2);
textLeading(30);
text("John Lasseter\nAndrew Stanton", 550, posy3);
textLeading(50);
text(" Galyn Susman", 550, posy4);
textLeading(30);
text("Jan Pinkava\nJim Capobianco\nBrad Bird", 550, posy5);
textLeading(50);
text("Michael Giacchino", 550, posy6);
text("Mark Andrews", 550, posy7);
text("Darren Holmes A.C.E", 550, posy8);
text("Michael Fong", 550, posy9);
text("Harley Jessup", 550, posy10);
text("Dylan Brown\nMark Walsh", 550, posy11);
text("Sharon Calahan", 550, posy12);
text("Robert Anderson", 550, posy13);
textLeading(30);
text("Jason Deamer\nGreg Dykstra\nCarter Goodrich\nDan Lee", 550, posy14);
textLeading(50);
text("Brian Green", 550, posy15);
text("Robert Kondo", 550, posy16);
text("David Gisenmann", 550, posy17);
text("Belinda Van Valkenburg", 550, posy18);
text("Daniel McCoy", 550, posy19);
text("William Reeves", 550, posy20);
text("Apura Shah", 550, posy21);
text("Christine Waggoner", 550, posy22);
text("Sanjay Bakshi", 550, posy23);
text("Ziah Sarah Fogel", 550, posy24);
text("Nicole Paradis Grindle", 550, posy25);
text("Randy Thom", 550, posy26);
textLeading(30);
text("Kevin Reher\nNatalie Lyon", 550, posy27);
posy1-= speedY;
posy2-= speedY;
posy3-= speedY;
posy4-= speedY;
posy5-= speedY;
posy6-= speedY;
posy7-= speedY;
posy8-= speedY;
posy9-= speedY;
posy10-= speedY;
posy11-= speedY;
posy12-= speedY;
posy13-= speedY;
posy14-= speedY;
posy15-= speedY;
posy16-= speedY;
posy17-= speedY;
posy18-= speedY;
posy19-= speedY;
posy20-= speedY;
posy21-= speedY;
posy22-= speedY;
posy23-= speedY;
posy24-= speedY;
posy25-= speedY;
posy26-= speedY;
posy27-= speedY;
textFont(italic);
textSize(50);
textAlign(CENTER);
text("CAST", 525, posy28);
posy28-= speedY;
textFont(s2);
textSize(23);
textAlign(RIGHT);
text("Remy", 500, posy29);
text("Skinner", 500, posy30);
text("Linguini", 500, posy31);
text("Django", 500, posy32);
text("Emile", 500, posy33);
text("Anton Ego", 500, posy34);
text("Gusteu", 500, posy35);
text("Colette", 500, posy36);
text("Horst", 500, posy37);
text("Lalo & Grancois", 500, posy38);
text("Larousse", 500, posy39);
text("Mustafa", 500, posy40);
text("Lawyer", 500, posy41);
text("Pompidou & Heatlh", 500, posy42);
text("Git (LabRat)", 500, posy43);
text("Ambrister Minion", 500, posy44);
text("TV Narrator", 500, posy45);
textFont(sarif);
textAlign(LEFT);
text("Patton Oswalt", 550, posy29);
text("Ian Holm", 550, posy30);
text("Lou Romano", 550, posy31);
text("Brian Dennchy", 550, posy32);
text("Peter Sohn", 550, posy33);
text("Peter O'Toole", 550, posy34);
text("Brand Garett", 550, posy35);
text("Janeane Garofalo", 550, posy36);
text("Will Arnett", 550, posy37);
text("Julius Callahan", 550, posy38);
text("James Remar", 550, posy39);
text("John Ratzenberger", 550, posy40);
text("Teddy Newton", 550, posy41);
text("Tony Fucile", 550, posy42);
text("Jake Steinfeld", 550, posy43);
text("Brad Bird", 550, posy44);
text("Stephane Roux", 550, posy45);
posy29-= speedY;
posy30-= speedY;
posy31-= speedY;
posy32-= speedY;
posy33-= speedY;
posy34-= speedY;
posy35-= speedY;
posy36-= speedY;
posy37-= speedY;
posy38-= speedY;
posy39-= speedY;
posy40-= speedY;
posy41-= speedY;
posy42-= speedY;
posy43-= speedY;
posy44-= speedY;
posy45-= speedY;
textFont(s2);
textAlign(CENTER);
text("Co-Directed by", posx1, 200);
text("Additional Story material by", posx1, 280);
text("Production Accountant", posx1, 360);
textFont(sarif);
text("Jan Pinkava", posx1, 240);
text("Emily Cook & Kathy Greenberg", posx1, 320);
text("Bob Peterson", posx1, 400);
text("Marc S. Greenberg", posx1, 440);
posx1 -= speedX;
textFont(italic);
textSize(50);
text("ANIMATION", 525, posy53);
posy53-=speedY;
textAlign(RIGHT);
textFont(s2);
text("Animation Manager", 500, posy54);
text("Directing Animators", 500, posy55);
textAlign(CENTER);
textSize(20);
text("Animation Production", 525, posy56);
textAlign(LEFT);
textFont(sarif);
textSize(23);
text("Audra Koklys Plummer", 550, posy54);
text("David DeVan\nMichael Venturini", 550, posy55);
textAlign(RIGHT);
text("Belhem Bouchiba\nAndrew Gordon\nAndrew L. Schmidt", 500, posy57);
textAlign(LEFT);
text("Doug Dooley\nRobert H. Russ\n Kureah Vegne", 550, posy57);
posy54-=speedY;
posy55-=speedY;
posy56-=speedY;
posy57-=speedY;
textAlign(CENTER);
textFont(s2);
textSize(20);
text("Animators", 525, posy58);
posy58-= speedY;
textAlign(RIGHT);
textFont(sarif);
textSize(21);
text("Carlos Baena\nJason Boose\nAdam Burke\nBrett Coderre\nDon Crum\nDoug Dooley\nIke Feidmann\nTom Gately\nStephen Gregory\nJohn Kahrs", 500, posy59);
textAlign(LEFT);
text("Rodrigo Blaas Nacle\nBelhem Bouchiba\nShaun Chacko\nTim Crawfurd\nPatrick Delage\nEverett R. Dowing\nDoug Frankei\nAndrew Gordon\nTravis Hathaway\nNathy Kato", 552, posy59);
posy59-= speedY;
textAlign(CENTER);
textFont(italic);
textSize(40);
text("MUSIC", 525, posy60);
posy60-= speedY;
textAlign(RIGHT);
textFont(sarif);
textSize(23);
text("Music Orchestrated by", 500, posy61);
text("Music Recorded and Mixed by", 500, posy62);
text("Music Editor", 500, posy63);
text("Music Contractor", 500, posy64);
text("Supervising Music Copyist", 500, posy65);
text("Additional Orchestrations by", 500, posy66);
text("Assistan Music Editors", 500, posy67);
text("Score Assistan", 500, posy69);
text("Scoring Crew", 500, posy70);
text("Exective Music Producer", 500, posy71);
text("Music Supervisor", 500, posy72);
text("Music Production Director", 500, posy73);
text("Music Recorded at", 500, posy74);
text("Music Mixed at", 500, posy75);
textAlign(LEFT);
text("Tim Simonee", 550, posy61);
text("Dan Wallin", 550, posy62);
text("Stephen M. Davis", 550, posy63);
text("Reggie Wilson", 550, posy64);
text("Walt Disney M.Lybrary", 550, posy65);
text("Jack.J. Hayes\nLarry Kenton", 550, posy66);
text("Paul Apelgren\nAlan Schalfer", 550, posy67);
text("Andrea Datzman", 550, posy69);
text("Adam Michalak\nGreg Dennen\nRyan Robbinson", 550, posy70);
text("Chris Montan", 550, posy71);
text("Tom MacDougall", 550, posy72);
text("Andrew Page", 550, posy73);
text("Sony Scoring Stage", 550, posy74);
text("Warner Bros. Eastwood\nScoring Stage", 550, posy75);
posy61-= speedY;
posy62-= speedY;
posy63-= speedY;
posy64-= speedY;
posy65-= speedY;
posy66-= speedY;
posy67-= speedY;
posy69-= speedY;
posy70-= speedY;
posy71-= speedY;
posy72-= speedY;
posy73-= speedY;
posy74-= speedY;
posy75-= speedY;
posy76-= speedY;
posy77-= speedY;
textAlign(CENTER);
textFont(sarif);
textSize(23);
text("Information Systems", 525, posy79);
textFont(sarif);
text("Danniel Annereau\nGran Gatzie\nGreg Brandeau", 130, posy80);
text("Edgar Quiñones\nKelli Townley\nBob Frey", 380, posy80);
text("Christopher Fehring\nWarren Lastimer\nMarty Lew", 630, posy80);
text("M.T Silvia\nJason Walkins\nAlex Stahl", 880, posy80);
posy79-= speedY;
posy80-= speedY;
textAlign(CENTER);
textFont(sarif);
textSize(30);
text("SPECIAL THANKS", 525, posy81);
textSize(21);
text("Lee Armstrong\nMary Murphy\nJohn Glikey\nNarc Louria\nKamela Porgutes\nDiane Langlume", 130, posy82);
text("Simon Bax\nWill Csakies\nKathleen Holliday\nSarah MacArthur\nMichele Spane-Rivera\nAmy Gary", 380, posy82);
text("Matthew Robbins\nAnthony Beurdain\nDoubble Ducommun\nDavid Heselton\nIrene Mecchi\nKerry Phelean", 630, posy82);
text("Lorne Cameron\nKaren Farlbank\nDr. Steven Isono\nTerry Paulding\nStuart Stumida\nFred Tie", 880, posy82);
posy81-= speedY;
posy43-= speedY;
posy44-= speedY;
posy45-= speedY;
textFont(s2);
textAlign(CENTER);
text("Co-Directed by", posx1, 200);
text("Additional Story material by", posx1, 280);
text("Production Accountant", posx1, 360);
textFont(sarif);
text("Jan Pinkava", posx1, 240);
text("Emily Cook & Kathy Greenberg", posx1, 320);
text("Bob Peterson", posx1, 400);
text("Marc S. Greenberg", posx1, 440);
posx1 -= speedX;
textFont(italic);
textSize(50);
text("ANIMATION", 525, posy53);
posy53-=speedY;
textAlign(RIGHT);
textFont(s2);
text("Animation Manager", 500, posy54);
text("Directing Animators", 500, posy55);
textAlign(CENTER);
textSize(20);
text("Animation Production", 525, posy56);
textAlign(LEFT);
textFont(sarif);
textSize(23);
text("Audra Koklys Plummer", 550, posy54);
text("David DeVan\nMichael Venturini", 550, posy55);
textAlign(RIGHT);
text("Belhem Bouchiba\nAndrew Gordon\nAndrew L. Schmidt", 500, posy57);
textAlign(LEFT);
text("Doug Dooley\nRobert H. Russ\n Kureah Vegne", 550, posy57);
posy54-=speedY;
posy55-=speedY;
posy56-=speedY;
posy57-=speedY;
textAlign(CENTER);
textFont(s2);
textSize(20);
text("Animators", 525, posy58);
posy58-= speedY;
textAlign(RIGHT);
textFont(sarif);
textSize(21);
text("Carlos Baena\nJason Boose\nAdam Burke\nBrett Coderre\nDon Crum\nDoug Dooley\nIke Feidmann\nTom Gately\nStephen Gregory\nJohn Kahrs", 500, posy59);
textAlign(LEFT);
text("Rodrigo Blaas Nacle\nBelhem Bouchiba\nShaun Chacko\nTim Crawfurd\nPatrick Delage\nEverett R. Dowing\nDoug Frankei\nAndrew Gordon\nTravis Hathaway\nNathy Kato", 552, posy59);
posy59-= speedY;
textAlign(CENTER);
textFont(italic);
textSize(40);
text("MUSIC", 525, posy60);
posy60-= speedY;
textAlign(RIGHT);
textFont(sarif);
textSize(23);
text("Music Orchestrated by", 500, posy61);
text("Music Recorded and Mixed by", 500, posy62);
text("Music Editor", 500, posy63);
text("Music Contractor", 500, posy64);
text("Supervising Music Copyist", 500, posy65);
text("Additional Orchestrations by", 500, posy66);
text("Assistan Music Editors", 500, posy67);
text("Score Assistan", 500, posy69);
text("Scoring Crew", 500, posy70);
text("Exective Music Producer", 500, posy71);
text("Music Supervisor", 500, posy72);
text("Music Production Director", 500, posy73);
text("Music Recorded at", 500, posy74);
text("Music Mixed at", 500, posy75);
textAlign(LEFT);
text("Tim Simonee", 550, posy61);
text("Dan Wallin", 550, posy62);
text("Stephen M. Davis", 550, posy63);
text("Reggie Wilson", 550, posy64);
text("Walt Disney M.Lybrary", 550, posy65);
text("Jack.J. Hayes\nLarry Kenton", 550, posy66);
text("Paul Apelgren\nAlan Schalfer", 550, posy67);
text("Andrea Datzman", 550, posy69);
text("Adam Michalak\nGreg Dennen\nRyan Robbinson", 550, posy70);
text("Chris Montan", 550, posy71);
text("Tom MacDougall", 550, posy72);
text("Andrew Page", 550, posy73);
text("Sony Scoring Stage", 550, posy74);
text("Warner Bros. Eastwood\nScoring Stage", 550, posy75);
posy61-= speedY;
posy62-= speedY;
posy63-= speedY;
posy64-= speedY;
posy65-= speedY;
posy66-= speedY;
posy67-= speedY;
posy69-= speedY;
posy70-= speedY;
posy71-= speedY;
posy72-= speedY;
posy73-= speedY;
posy74-= speedY;
posy75-= speedY;
posy76-= speedY;
posy77-= speedY;
textAlign(CENTER);
textFont(sarif);
textSize(23);
text("Information Systems", 525, posy79);
textFont(sarif);
text("Danniel Annereau\nGran Gatzie\nGreg Brandeau", 130, posy80);
text("Edgar Quiñones\nKelli Townley\nBob Frey", 380, posy80);
text("Christopher Fehring\nWarren Lastimer\nMarty Lew", 630, posy80);
text("M.T Silvia\nJason Walkins\nAlex Stahl", 880, posy80);
posy79-= speedY;
posy80-= speedY;
textAlign(CENTER);
textFont(sarif);
textSize(30);
text("SPECIAL THANKS", 525, posy81);
textSize(21);
text("Lee Armstrong\nMary Murphy\nJohn Glikey\nNarc Louria\nKamela Porgutes\nDiane Langlume", 130, posy82);
text("Simon Bax\nWill Csakies\nKathleen Holliday\nSarah MacArthur\nMichele Spane-Rivera\nAmy Gary", 380, posy82);
text("Matthew Robbins\nAnthony Beurdain\nDoubble Ducommun\nDavid Heselton\nIrene Mecchi\nKerry Phelean", 630, posy82);
text("Lorne Cameron\nKaren Farlbank\nDr. Steven Isono\nTerry Paulding\nStuart Stumida\nFred Tie", 880, posy82);
posy81-= speedY;
posy82-= speedY;
textAlign(CENTER);
textFont(italic);
textSize(50);
text("Thanks to Everyone at Pixar who Supported this Productions", posx2, 300);
image(endcred, posx3, 400, 300, 100);
posx2+= speedX2;
posx3+= speedX2;
}
void keyPressed(){
bground = loadImage("Fondo2.jpg");
}
void mouseClicked() {
speedY = speedY * -1;
speedX = speedX *-1;
speedX2 = speedX2 * -1;
}
El trabajo práctico consistió en armar una aventura gráfica basada en una historia a elección.
En mi caso, elegí partir del relato de "Las Reliquias de la Muerte", el cual aparece en una de las películas de Harry Potter. Modifiqué algunos aspectos de la historia para generar otros caminos alternativos dentro de la aventura. Las imágenes e ilustraciones fueron sacadas tanto de la película como de la web.
PImage sc1, sc2, sc3, sc4, sc5, sc6, sc7, sc8, sc9, sc10, sc11, sc12, sc13, sc14, sc15, sc16, sc17, sc18, sc19, sc20, sc21, sc22;
PFont historia, creditos;
int pantalla = 1;
float vel = 0.7;
float posy1_i = 610;
float posy1 = posy1_i;
void setup() {
size(800, 600);
sc1 = loadImage ("Imagen1.jpg");
sc2 = loadImage ("Imagen2.jpg");
sc3 = loadImage ("Imagen3.jpg");
sc4 = loadImage ("Imagen4.jpg");
sc5 = loadImage ("Imagen5.jpg");
sc6 = loadImage ("Imagen6.jpg");
sc7 = loadImage ("Imagen7.jpg");
sc8 = loadImage ("Imagen8.jpg");
sc9 = loadImage ("Imagen9.jpg");
sc10 = loadImage ("Imagen10.jpg");
sc11 = loadImage ("Imagen11.jpg");
sc12 = loadImage ("Imagen12.jpg");
sc13 = loadImage ("Imagen13.jpg");
sc14 = loadImage ("Imagen14.jpg");
sc15 = loadImage ("Imagen15.jpg");
sc16 = loadImage ("Imagen16.jpg");
sc17 = loadImage ("Imagen17.jpg");
sc18 = loadImage ("Imagen18.jpg");
sc19 = loadImage ("Imagen19.jpg");
sc20 = loadImage ("Imagen20.jpg");
sc21 = loadImage ("Imagen21.jpg");
sc22 = loadImage ("Imagen22.jpg");
historia = loadFont ("Gabriola-34.vlw");
creditos = loadFont ("Garamond-40.vlw");
}
void draw() {
if (pantalla == 1) {
image(sc1, 0, 0);
if ((mouseX > 200 && mouseX < 350 && mouseY > 505 && mouseY < 565)
|| (mouseX > 450 && mouseX < 600 && mouseY > 505 && mouseY < 565))
{
cursor(HAND);
} else {
cursor(ARROW);}
} else if (pantalla == 2) {
image(sc2, 0, 0);
fill(0);
textAlign(LEFT);
textFont(historia);
textSize(28);
text("Había una vez tres hermanos, Antioch, Cadmus e Ignotus Peverell,\nque viajaban a la hora del crepúsculo por una solitaria y sinuosa \ncarretera.", 35, 240);
text("Los hermanos llegaron a un río demasiado profundo para vadearlo\n y demasiado peligroso para cruzarlo a nado.", 35, 350);
if (mouseX > 605 && mouseX < 755 && mouseY > 505 && mouseY < 565) {
cursor(HAND);
} else {
cursor(ARROW);
}
} else if (pantalla == 3) {
image(sc3, 0, 0);
textAlign(LEFT);
text("Pero como eran muy diestros en", 380, 200);
textSize(34);
text("las artes mágicas, no tuvieron que", 400, 225);
textSize(28);
text("hacer nada más que agitar sus varitas.", 435, 250);
textAlign(CENTER);
text("ELIGE UN HECHIZO", 400, 450);
if ((mouseX > 200 && mouseX < 350 && mouseY > 505 && mouseY < 565)
|| (mouseX > 450 && mouseX < 600 && mouseY > 505 && mouseY < 565)) {
cursor(HAND);
} else {
cursor(ARROW);
}
} else if (pantalla == 4) {
image(sc4, 0, 0);
textAlign(LEFT);
text("Congelaron las peligrosas aguas que los amenazaban y\ncontinuaron con su travesía a pie.\n\nPero para su desgracia, ninguno de los tres había recordado un\nimportantísimo detalle: el encantamiento solo duraba quince\nminutos.", 35, 200);
if (mouseX > 605 && mouseX < 755 && mouseY > 505 && mouseY < 565) {
cursor(HAND);
} else {
cursor(ARROW);
}
} else if (pantalla == 5) {
image(sc5, 0, 0);
fill(219, 207, 186);
textSize(28);
text("El encantamiento se rompió antes que llegaran", 280, 100);
text("al otro lado, y las fuertes corrientes regresaron.", 315, 125);
text("Una figura encapuchada apareció y se llevó consigo las", 280, 240);
text("de los Peverell.", 580, 265);
textSize(34);
text("tres valiosas vidas", 380, 265);
if (mouseX > 605 && mouseX < 755 && mouseY > 505 && mouseY < 565) {
cursor(HAND);
} else {
cursor(ARROW);
}
} else if (pantalla == 6) {
image(sc6, 0, 0);
fill(0);
textSize(28);
textAlign(LEFT);
text("Hicieron aparecer un puente y cruzaron a pie.\n\nCuando se hallaban a mitad de camino, una\nfigura encapuchada les cerró el paso.", 360, 90);
textSize(34);
text("Y la Muerte les habló.", 500, 240);
if (mouseX > 605 && mouseX < 755 && mouseY > 505 && mouseY < 565) {
cursor(HAND);
} else {
cursor(ARROW);
}
} else if (pantalla == 7) {
image(sc7, 0, 0);
textAlign(LEFT);
textSize(28);
text("Estaba contrariada porque acababa de perder a tres posibles", 35, 75);
text("Pero ella fue muy\nla opción a cada uno de elegir una recompensa por\nhaberla eludido", 35, 150);
text("y, fingiendo felicitarlos, les dio", 260, 150);
text("El hermano mayor, que era muy combativo, pidió\nla varita mágica más poderosa que existiera.\n\nEl hermano del medio, arrogante, pidió el poder de\ndevolver la vida a los muertos.\n\nIgnotus, más humilde, pidió algo que le permitiera marcharse\nsin que ella pudiera seguirlo.", 35, 270);
textSize(34);
text("víctimas.", 35, 105);
text("astuta", 190, 150);
if (mouseX > 605 && mouseX < 755 && mouseY > 505 && mouseY < 565) {
cursor(HAND);
} else {
cursor(ARROW);
}
} else if (pantalla == 8) {
image(sc8, 0, 0);
textAlign(CENTER);
fill(0);
textSize(26);
text("La Muerte hizo una varita con una rama de un sáuco y se la entregó a Antioch.\nLuego, sacó una piedra de la orilla del río y se la entregó a Cadmus, diciéndole que tenía el\npoder de resucitar a los muertos.\nFinalmente, de mala gana, le entregó su propia capa de invisibilidad al menor de los tres.\nEntonces se apartó, y dejó que los Peverell siguiera cada quien su camino.", 400, 50);
textAlign(CENTER);
text("ELIGE A UN HERMANO", 400, 230);
if ((mouseX > 325 && mouseX < 475 && mouseY > 510 && mouseY < 570)
|| (mouseX > 615 && mouseX < 765 && mouseY > 510 && mouseY < 570)
|| (mouseX > 35 && mouseX < 185 && mouseY > 510 && mouseY < 570)) {
cursor(HAND);
} else {
cursor(ARROW);
}
} else if (pantalla == 9) {
image(sc9, 0, 0);
textAlign(LEFT);
textSize(28);
text("Antioch siguió viajando algo más de una semana.\nAl llegar a una lejana aldea, buscó a un mago con el que mantenía una grave disputa.\nNaturalmente, armado con la Varita de Saúco, era inevitable que ganara el duelo.\n\nTras matarlo, se marchó.", 35, 45);
textAlign(CENTER);
text("REALIZA UNA ACCIÓN", 400, 475);
if ((mouseX > 200 && mouseX < 350 && mouseY > 505 && mouseY < 565)
|| (mouseX > 450 && mouseX < 600 && mouseY > 505 && mouseY < 565)) {
cursor(HAND);
} else {
cursor(ARROW);
}
} else if (pantalla == 10) {
image(sc10, 0, 0);
textAlign(LEFT);
text("Se dirigió a una posada donde se jactó de lo invencible que se había vuelto\ngracias a la varita, y festejó sus victorias.\nEsa misma noche, un hechicero se acercó con sigilio mientras el hermano mayor\nyacía borracho en su cama, le robó la varita y, por si acaso, le cortó el cuello.", 75, 50);
if (mouseX > 605 && mouseX < 755 && mouseY > 505 && mouseY < 565) {
cursor(HAND);
} else {
cursor(ARROW);
}
} else if (pantalla == 11) {
image(sc11, 0, 0);
fill(219, 207, 186);
textSize(28);
text("Y así fue como", 150, 85);
text("se llevó al hermano mayor.", 250, 110);
textSize(34);
text("la Muerte", 283, 85);
if ((mouseX > 200 && mouseX < 350 && mouseY > 505 && mouseY < 565)
||(mouseX > 450 && mouseX < 600 && mouseY > 505 && mouseY < 565)) {
cursor(HAND);
} else {
cursor(ARROW);
}
} else if (pantalla == 12) {
image(sc12, 0, 0);
fill(219, 207, 186);
textAlign(LEFT);
textSize(28);
text("Decidió descansar antes de retomar su viaje por la mañana temprano.", 150, 50);
text("Esa misma noche, un hechicero se acercó con sigilo e intentó robar ", 200, 75);
text("la varita, pero Antioch, astuto y perspicaz, logró defenderse", 250, 100);
text("a tiempo, evitando el robo y acabando con la vida del", 300, 125);
text("hechicero como recompensa.", 350, 150);
if (mouseX > 605 && mouseX < 755 && mouseY > 505 && mouseY < 565) {
cursor(HAND);
} else {
cursor(ARROW);
}
} else if (pantalla == 13) {
image(sc13, 0, 0);
fill(0);
textAlign(LEFT);
text("La muerte, enfurecida porque la habían burlado\nnuevamente, se apareció en la habitación de Antioch.\nAstuta como siempre, lo retó a un duelo que él aceptó sin saber\nque estaba condenado a perder.\nAsí fue como, en un intercambio sin sentido y desigual,\nla Muerte se llevó al hermano mayor", 35, 280);
if ((mouseX > 200 && mouseX < 350 && mouseY > 505 && mouseY < 565)
||(mouseX > 450 && mouseX < 600 && mouseY > 505 && mouseY < 565)) {
cursor(HAND);
} else {
cursor(ARROW);
}
} else if (pantalla == 14) {
image(sc14, 0, 0);
fill(219, 207, 186);
textAlign(LEFT);
text("Entretanto, el hermano del medio regresó a su casa \ndonde vivía en soledad.\nCon la piedra filosofal en mano, debía decidir el uso\nque iba a darle.", 35, 75);
textAlign(RIGHT);
text("ELIGE QUÉ HACER", 400, 475);
textAlign(LEFT);
fill(0);
text("CON LA PIEDRA", 410, 475);
if ((mouseX > 200 && mouseX <350 && mouseY > 505 && mouseY < 565)
||(mouseX > 450 && mouseX < 600 && mouseY > 505 && mouseY < 565)){
cursor(HAND);
} else {
cursor(ARROW);
}
} else if (pantalla == 15) {
image(sc15, 0, 0);
text("Arrogante y sediento de poder, se encargó de preparar", 210, 175);
text("la cantidad suficiente de elíxeres como para vivir eternamente.", 280, 200);
if (mouseX > 605 && mouseX < 755 && mouseY > 505 && mouseY < 565) {
cursor(HAND);
} else {
cursor(ARROW);
}
} else if (pantalla == 16) {
image(sc16, 0, 0);
fill(219, 207, 186);
textSize(28);
text("Pasado un tiempo y habiendo quedado solo,", 150, 75);
textSize(24);
text("Cadmus se arrepintió del uso que le había dado a la piedra.", 200, 100);
textSize(26);
text(" Comprendió que vivir eternamente no tenía sentido", 250, 125);
text("si sus seres queridos no podían acompañarlo.", 300, 150);
text("Y en medio de la angustia, decidió poner", 350, 175);
textSize(33);
text("fin a su vida.", 580, 200);
if ((mouseX > 200 && mouseX < 350 && mouseY > 505 && mouseY < 565)
||(mouseX > 450 && mouseX < 600 && mouseY > 505 && mouseY < 565)) {
cursor(HAND);
} else {
cursor(ARROW);
}
} else if (pantalla == 17) {
image(sc17, 0, 0);
textAlign(LEFT);
textSize(28);
fill(219, 207, 186);
text("Cadmus giró tres veces la piedra en la mano.\nPara su asombro y placer, apareció ante él la figur\nde la muchacha con quien se habría casado si ella no \nhubiera muerto prematuramente\n\nPero la muchacha estaba triste y distante, separada de él por\n una especie de velo.", 30, 30);
if (mouseX > 605 && mouseX < 755 && mouseY > 505 && mouseY < 565) {
cursor(HAND);
} else {
cursor(ARROW);
}
} else if (pantalla == 18) {
image(sc18, 0, 0);
fill(219, 297, 186);
textSize(26);
text("Pese a que ella había regresado al mundo de los mortales, no pertenecía a él y por eso sufría.\nAl fin, el hombre enloqueció a causa de su desesperada nostalgia y se suicidó para\nreunirse de una vez por todas con su amada.", 30, 30);
text("Y así fue como ", 30, 120);
text("se llevó al hermano mediano.", 250, 120);
textSize(32);
text("la Muerte", 150, 120);
if ((mouseX > 200 && mouseX < 350 && mouseY > 505 && mouseY < 565)
||(mouseX > 450 && mouseX < 600 && mouseY > 505 && mouseY < 565)) {
cursor(HAND);
} else {
cursor(ARROW);
}
} else if (pantalla == 19) {
image(sc19, 0, 0);
fill(0);
textSize(24);
textAlign(LEFT);
text("Ignouts continuó con su camino alejado de sus dos", 380, 30);
text("hermanos.", 395, 55);
text("La Muerte lo buscó durante años pero nunca", 410, 100);
text("logró encontrarlo.", 425, 125);
text("Llegado a una edad muy avanzada, el hermano menor", 380, 185);
text("decidió por fin quitarse la capa de invisibilidad.", 395, 210);
if (mouseX > 605 && mouseX < 755 && mouseY > 505 && mouseY < 565) {
cursor(HAND);
} else {
cursor(ARROW);
}
} else if (pantalla == 20) {
image(sc20, 0, 0);
textSize(26);
text("A diferencia de sus hermanos, Ignotus era de corazón noble.", 50, 80);
text("Decidió regalarle la capa a su hijo y recibió a la Muerte como si fuera una vieja amiga.", 80, 105);
if (mouseX > 605 && mouseX < 755 && mouseY > 505 && mouseY < 565) {
cursor(HAND);
} else {
cursor(ARROW);
}
} else if (pantalla == 21) {
image(sc21, 0, 0);
textSize(30);
fill(0);
textAlign(CENTER);
text("Y así, como iguales, ambos se alejaron de la vida", 400, 800);
if ((mouseX > 200 && mouseX < 350 && mouseY > 505 && mouseY < 565)
||(mouseX > 450 && mouseX < 600 && mouseY > 505 && mouseY < 565)) {
cursor(HAND);
} else {
cursor(ARROW);
}
} else if (pantalla == 22) {
image(sc22, 0, 0);
fill(0);
textAlign(CENTER);
textFont(creditos);
textSize(36);
text("Este trabajo se realizó a partir de la historia\n'La fabula de los tres hermanos',\nescrita por J.K Rowling.\n\n\n\nPara la edición de imágenes se utilizaron los programas:\nPhotoshop CC 2020\n&\nIllustrator CC 2020\n\n\n\nAlumna encargada del trabajo: Lara Belén Ignoffo.\n\n\n\n¡Espero que lo hayas disfrutado!", 400, posy1);
posy1 = posy1 - vel;
if (mouseX > 45 && mouseX < 195 && mouseY > 505 && mouseY < 565) {
cursor(HAND);
} else {
cursor(ARROW);
}
}
}
void mouseClicked() {
if (pantalla == 1) {
if (mouseX > 200 && mouseX < 350 && mouseY > 505 && mouseY < 565) {
pantalla = 2;
}
if (mouseX > 450 && mouseX < 600 && mouseY > 505 && mouseY < 565) {
pantalla = 22;
}
} else if (pantalla == 2) {
if (mouseX > 605 && mouseX < 755 && mouseY > 505 && mouseY < 565) {
pantalla = 3;
}
} else if (pantalla == 3) {
if (mouseX > 200 && mouseX < 350 && mouseY > 505 && mouseY < 565) {
pantalla = 4;
}
if (mouseX > 450 && mouseX < 600 && mouseY > 505 && mouseY < 565) {
pantalla = 6; }
} else if (pantalla == 4) {
if (mouseX > 605 && mouseX < 755 && mouseY > 505 && mouseY < 565) {
pantalla = 5;
}
} else if (pantalla == 5) {
if (mouseX > 605 && mouseX < 755 && mouseY > 505 && mouseY < 565) {
pantalla = 1;
}
} else if (pantalla == 6) {
if (mouseX > 605 && mouseX < 755 && mouseY > 505 && mouseY < 565) {
pantalla = 7;
}
} else if (pantalla == 7) {
if (mouseX > 605 && mouseX < 755 && mouseY > 505 && mouseY < 565) {
pantalla = 8;
}
} else if (pantalla == 8) {
if (mouseX > 325 && mouseX < 475 && mouseY > 510 && mouseY < 565) {
pantalla = 9; }
if (mouseX > 615 && mouseX < 765 && mouseY > 510 && mouseY < 570) {
pantalla = 14;
}
if (mouseX > 35 && mouseX < 185 && mouseY > 510 && mouseY < 570) {
pantalla = 19;
}
} else if (pantalla == 9) {
if (mouseX > 200 && mouseX < 350 && mouseY > 505 && mouseY < 565) {
pantalla = 10;
}
if (mouseX > 450 && mouseX < 600 && mouseY > 505 && mouseY < 565) {
pantalla = 12;
}
} else if
(pantalla == 10) {
if (mouseX > 605 && mouseX < 755 && mouseY > 505 && mouseY < 710) {
pantalla = 11;
}
} else if (pantalla == 11) {
if (mouseX > 200 && mouseX < 350 && mouseY > 505 && mouseY < 565) {
pantalla = 8;
}
if (mouseX > 450 && mouseX < 600 && mouseY > 505 && mouseY < 565) {
pantalla = 1;
}
} else if
(pantalla == 12) {
605 && mouseX < 755 && mouseY > 505 && mouseY < 565) {
pantalla = 13; }
} else if (pantalla == 13) {
if (mouseX > 200 && mouseX < 350 && mouseY > 505 && mouseY < 565) {
pantalla = 8;
}
if (mouseX > 450 && mouseX < 600 && mouseY > 505 && mouseY < 565) {
pantalla = 1;
}
} else if (pantalla == 14) {
if (mouseX > 200 && mouseX < 350 && mouseY > 505 && mouseY < 565) {
pantalla = 15;
}
if (mouseX > 450 && mouseX < 600 && mouseY > 505 && mouseY < 565) {
pantalla = 17;
}
} else if (pantalla == 15) {
if (mouseX > 605 && mouseX < 755 && mouseY > 505 && mouseY < 565) {
pantalla = 16;
}
} else if (pantalla == 16) {
if (mouseX > 200 && mouseX < 350 && mouseY > 505 && mouseY < 565) {
pantalla = 8;
}
if (mouseX > 450 && mouseX < 600 && mouseY > 505 && mouseY < 565) {
pantalla = 1;
}
} else if (pantalla == 17) {
if (mouseX > 605 && mouseX < 755 && mouseY > 505 && mouseY < 565) {
pantalla = 18;
}
} else if (pantalla == 18) {
if (mouseX > 200 && mouseX < 350 && mouseY > 505 && mouseY < 565) {
pantalla = 8;
}
if (mouseX > 450 && mouseX < 600 && mouseY > 505 && mouseY < 565) {
pantalla = 1;
}
} else if (pantalla == 19) {
if (mouseX > 605 && mouseX < 755 && mouseY > 505 && mouseY < 565) {
pantalla = 20;
}
} else if (pantalla == 20) {
if (mouseX > 605 && mouseX < 755 && mouseY > 505 && mouseY < 565) {
pantalla = 21;
}
} else if (pantalla == 21) {
if (mouseX > 200 && mouseX < 350 && mouseY > 505 && mouseY < 565) {
pantalla = 8;
}
if (mouseX > 450 && mouseX < 600 && mouseY > 505 && mouseY < 565) {
pantalla = 1; }
} else if
(pantalla == 22) {
if (mouseX > 45 && mouseX < 195 && mouseY > 505 && mouseY < 565) {
posy1 = posy1_i;
pantalla = 1;
}
}
}
Un cuadrado sigue al mouse. Al clickear en la mitad izquierda, incrementa +1 cuadrado hacia abajo. Al clickear en la mitad derecha, incrementa +1 hacia la derecha. Al presionar una tecla, la cantidad de ambos disminuye.
El programa consta de diez posiciones. Al presionar un número del teclado, se incrementa +1 en la posición correspondiente al número presionado
Grilla de rectángulos. La ficha negra se maneja con las flechas del teclado. A la derecha se indica la posición actual de la ficha.
Es un mini juego basado en la aventura gráfica realizada previamente. Para ganar, primero deberás cruzar el camino logrando esquivar las rocas, y luego tendrás que llenar una barra de energía (haciendo click) para completar el hechizo deseado. Solo tenes tres vidas para cruzar el camino, y un único intento para realizar el hechizo
El código está dividido en nueve pestañas en total. A continuación está cada pestaña con su código correspondiente.
El trabajo práctico final consistió en retomar la aventura gráfica, convertirla a objetos e incorporar el trabajo práctico n°5
El código está dividido en 15 pestañas en total. A continuación está cada pestaña con su código correspondiente.