• fullscreen
  • gravedad_interactiva.pde
  • /* 
    PROYECTO MALEVICH 2
     
    Título: Malevich 2
    Nombre: sílvia guinó
    Fecha:  22.05.09 
    Lugar: Barcelona 
    Objetivo: crear una pieza interactiva en la cual se puede controlar la velocidad en la que cae una bola 
    gravitacionalmente mediante los controles "+" y "-"
    observaciones: ehm, no me funciona.
    
    */
    
    
    float x = 95;   
    float y = 108; //  posición x/y inicial del círculo    
    
    float speed = 0;   // definición del valor de velocidad inicial a 0
    
    
    float gravity = 0.1;  // definición del valor de gravedad inicial a 0,1
    
    void setup() {
      size(480,666);
      smooth();  
    }
    /* ésta es la function que deberíaactivar los comandos para modificar la velocidad, pero si la activo no funciona nada.
    
    void keyPressed() { // funcion que se activará siempre que pulsemos la tecla correspondiente
    switch(key) {
      case '+':
    speed = speed * 2;
    
      case '-':
    speed = speed * -0.70;
    }
    */
    
    void draw() {
    background(255);//el fondo se carga cada vez que se redibuja el círculo, si lo quitamos el círculose repite infinitamente; así que es mejor utilizar un color plano que una imagen.
    
    
            
     //----------------------------------figuras estaticas   
    
    fill(209, 172, 29); 
    quad(26, 277, 374, 244, 375, 270, 32, 308);
    noStroke();
    // figura horizontal ocre
    
    fill(217, 197, 217); 
    quad(248, 417, 300, 417, 248, 573, 192, 573);
    noStroke(); 
    //figura diagonal 3_rosa
    
     
    fill(4, 9, 109); 
    quad(190, 118, 243, 100, 248, 108, 191, 125);
    noStroke(); 
    // parte cruz horitzontal 
    
    fill(4, 9, 109); 
    quad(220, 88, 309, 584, 296, 590, 209, 90);
    noStroke(); 
    // parte cruz vertical 
    
    fill(17, 14, 41); 
    quad(398, 176, 330, 311, 186, 238, 258, 105);
    noStroke(); 
    // quadrat
    
    fill(209, 172, 29); 
    quad(170, 425 , 195, 425, 105, 679, 80, 679);
    noStroke(); 
    //figura diagonal 1_ocre
    
    fill(127, 35, 12); 
    quad(205, 400, 245, 400, 165, 620, 125, 620);
    noStroke();
    //figura diagonal 2_granate
    
    
    fill(150, 28, 5); 
    quad(426, 552, 426, 580, 312, 642, 298, 620);
    noStroke(); 
    // figura esquina 1
    
    fill(205, 150, 1); 
    quad(362, 622, 362, 640, 464, 592, 464, 572);
    noStroke(); 
    // figura esquina 2
     
    
      
      fill(171, 39, 1);// --------------círculo al que aplicamos la gravedad
      noStroke();
      ellipseMode(CENTER);
      ellipse(x,y,158,158);
      
      
      
      y = y + speed; // añadimos el valor de "velocidad" a las cordenadas de "y"
      
     
      speed = speed + gravity; // añadimos el valor de gravedad a la propiedad "velocidad"
      
      //si el ellipse toca la base del lienzo (el valor de y el mas grande que la altura del lienzo)se disminuira la velocidad
      if (y > height) {
    
        speed = speed * -0.95;  
      }
      
    
    
    }
    
    
    
    
    
    
    
    
    

    code

    tweaks (0)

    about this sketch

    This sketch is running as Java applet, exported from Processing.

    license

    advertisement

    sílvia guinó

    malevich 2

    Add to Faves Me Likey@!
    You must login/register to add this sketch to your favorites.

    sílvia guinó
    22 May 2009
    hola!
    he probado de modificar la velocidad del rebote mediante el keyPressed, pero no hay manera.. alguna idea??
    You need to login/register to comment.