SlideShare ist ein Scribd-Unternehmen logo
1 von 12
Programando el
Kinect con Greenfoot
         (3)
    Eduardo H. Calvillo Gámez
Calibrando Usuarios
 Clase UserData
   Métodos
      isTracking();
         Booleano, nos indica si esta haciendo “tracking” pues ya
           termino de calibrar.
      isCalibrating();
         Booleano, nos indica si esta calibrando.

 Clase KinectWorld
   getAllUsers();
      Arreglo de UserData, todos los usuarios frente al
        Kinect.
Ejemplo:
Instrucciones.java
   Método act() & addedToWorld(…)
//Método act()
KinectWorld world = (KinectWorld)getWorld();

         boolean trackingAny = false;
         boolean calibratingAny = false;
         UserData[] us = world.getAllUsers();
         for (UserData u : us)
         {
            trackingAny = trackingAny || u.isTracking();
            calibratingAny = calibratingAny || u.isCalibrating();
         }

         if (us.length > 0 && !trackingAny && ! calibratingAny)
         {
             setImage(begin);
         }
         else if (us.length > 0 && !trackingAny && calibratingAny)
         {
             setImage(calibrating);
         }
         else
         {
             setImage(blank);
     }
 }
protected void addedToWorld(World world)
  {
     begin = new GreenfootImage("begin.png");
     begin.scale(world.getWidth(), world.getHeight());
     calibrating = new GreenfootImage("calibrating.png");
     calibrating.scale(world.getWidth(), world.getHeight());
     blank = new GreenfootImage(1, 1);
     setImage(blank);
  }
Usuarios
 Clase UserData
    drawStickFigure(…)
       drawStickFigure(getBackground(), 60);

    getJoint

 Clase Joint
    Constantes para cada parte del cuerpo

 getJoint(Joint.LEFT_HAND) nos regresa la parte
   que indicamos (objeto de tipo Joint)
Ejemplo
 Para checar si alguien levanto la mano izquierda
    u.getJoint(Joint.LEFT_HAND).getY() <
      u.getJoint(Joint.HEAD).getY()
Ejemplo
Dibujando con la mano derecha
import greenfoot.*;

public class Brocha extends Actor
{
  public Brocha(int width, int height)
  {
     setImage(new GreenfootImage(width, height));
     getImage().setColor(java.awt.Color.GREEN);
  }

    public void act()
    {
      PaintWorld world = (PaintWorld)getWorld();

        UserData[] users = world.getTrackedUsers();
        for (UserData user : users)
        {
           Joint rightHand = user.getJoint(Joint.RIGHT_HAND);
           getImage().fillOval(rightHand.getX(), rightHand.getY(), 20, 20);

            if (user.getJoint(Joint.LEFT_HAND).getY() < user.getJoint(Joint.HEAD).getY())
            {
                getImage().clear();
            }
        }
    }
}
Ejemplo
 PintarMundo
public class PintarMundo extends KinectWorld{
  private static final int THUMBNAIL_WIDTH = 80;
  private static final int THUMBNAIL_HEIGHT = 60;
  …
  public PintarMundo()
  {
     super(THUMBNAIL_WIDTH, THUMBNAIL_HEIGHT, 1.0, false);

    final int width = getWidth();
    final int height = getHeight();

   addObject(new Brocha(width, height), width/2, height/2);
   addObject(new Instructiones(), width/2, height/2);
   addObject(new Foto(), width - THUMBNAIL_WIDTH/2, height -
THUMBNAIL_HEIGHT/2);

     Label instr = new Label(”Usa la mano derecha para pintar, la izquierda
para borrar", 20);
     addObject(instr, instr.getImage().getWidth() /
2, getBackground().getHeight() - (instr.getImage().getHeight() / 2));
   }
public void act()
  {
    super.act();
    if (!isConnected())
        return;

    UserData[] us = getTrackedUsers();
    getBackground().setColor(java.awt.Color.WHITE);
    getBackground().fill();



    for (UserData u: us)
    {
       //Draws their stick figure:
       u.drawStickFigure(getBackground(), 60);

}

Weitere ähnliche Inhalte

Ähnlich wie Greenfoot & Kinect (Parte 3)

Realidad Aumentada más allá de Glass - Droidcon 2014
Realidad Aumentada más allá de Glass - Droidcon 2014Realidad Aumentada más allá de Glass - Droidcon 2014
Realidad Aumentada más allá de Glass - Droidcon 2014Fernando Gallego
 
Interfaz gráfica de usuario
Interfaz gráfica de usuarioInterfaz gráfica de usuario
Interfaz gráfica de usuarioaleja0940
 
HTML Tour - Programación de Videojuegos HTML5
HTML Tour - Programación de Videojuegos HTML5HTML Tour - Programación de Videojuegos HTML5
HTML Tour - Programación de Videojuegos HTML5Plain Concepts
 
Laboratorio de algoritmos
Laboratorio de algoritmosLaboratorio de algoritmos
Laboratorio de algoritmosChristian10532
 
Xna game studio presentación 02
Xna game studio   presentación 02Xna game studio   presentación 02
Xna game studio presentación 02Juan Cardona
 
Como crear un blog 2 parte
Como crear un blog 2 parteComo crear un blog 2 parte
Como crear un blog 2 partedaniescribano16
 
Cuadrado y cubo de un numero
Cuadrado y cubo de un numeroCuadrado y cubo de un numero
Cuadrado y cubo de un numeroRobert Wolf
 
Manual de android
Manual de androidManual de android
Manual de androidJarboledah
 
Graficar lineas en java, en un j panel
Graficar lineas en java, en un j panelGraficar lineas en java, en un j panel
Graficar lineas en java, en un j panelEdison Rivadeneira
 
Taller cognitive services en contenedores locales
Taller cognitive services en contenedores localesTaller cognitive services en contenedores locales
Taller cognitive services en contenedores localesLuis Beltran
 

Ähnlich wie Greenfoot & Kinect (Parte 3) (20)

Programación i
Programación iProgramación i
Programación i
 
Practica eventos
Practica eventosPractica eventos
Practica eventos
 
Realidad Aumentada más allá de Glass - Droidcon 2014
Realidad Aumentada más allá de Glass - Droidcon 2014Realidad Aumentada más allá de Glass - Droidcon 2014
Realidad Aumentada más allá de Glass - Droidcon 2014
 
Interfaz gráfica de usuario
Interfaz gráfica de usuarioInterfaz gráfica de usuario
Interfaz gráfica de usuario
 
HTML Tour - Programación de Videojuegos HTML5
HTML Tour - Programación de Videojuegos HTML5HTML Tour - Programación de Videojuegos HTML5
HTML Tour - Programación de Videojuegos HTML5
 
Applets.pdf
Applets.pdfApplets.pdf
Applets.pdf
 
Introduccion a awt
Introduccion a awtIntroduccion a awt
Introduccion a awt
 
Multimedia en android
Multimedia en androidMultimedia en android
Multimedia en android
 
Laboratorio de algoritmos
Laboratorio de algoritmosLaboratorio de algoritmos
Laboratorio de algoritmos
 
Mp mardoqueo informe tecnico tap
Mp mardoqueo informe tecnico tapMp mardoqueo informe tecnico tap
Mp mardoqueo informe tecnico tap
 
Xna game studio presentación 02
Xna game studio   presentación 02Xna game studio   presentación 02
Xna game studio presentación 02
 
Como crear un blog 2 parte
Como crear un blog 2 parteComo crear un blog 2 parte
Como crear un blog 2 parte
 
Vector
Vector Vector
Vector
 
Cuadrado y cubo de un numero
Cuadrado y cubo de un numeroCuadrado y cubo de un numero
Cuadrado y cubo de un numero
 
Curso android studio
Curso android studioCurso android studio
Curso android studio
 
Curso android studio
Curso android studioCurso android studio
Curso android studio
 
Manual de android
Manual de androidManual de android
Manual de android
 
Graficar lineas en java, en un j panel
Graficar lineas en java, en un j panelGraficar lineas en java, en un j panel
Graficar lineas en java, en un j panel
 
Taller cognitive services en contenedores locales
Taller cognitive services en contenedores localesTaller cognitive services en contenedores locales
Taller cognitive services en contenedores locales
 
Cecytem
CecytemCecytem
Cecytem
 

Mehr von Eduardo Calvillo Gamez

Mehr von Eduardo Calvillo Gamez (18)

Diseño ux
Diseño uxDiseño ux
Diseño ux
 
Diseñando para UX
Diseñando para UXDiseñando para UX
Diseñando para UX
 
Usabilidad: Ejecución y Reporte
Usabilidad: Ejecución y ReporteUsabilidad: Ejecución y Reporte
Usabilidad: Ejecución y Reporte
 
Cómputo Persuasivo (Continuación
Cómputo Persuasivo (ContinuaciónCómputo Persuasivo (Continuación
Cómputo Persuasivo (Continuación
 
Computo Persuasivo
Computo PersuasivoComputo Persuasivo
Computo Persuasivo
 
Tips para Escribir un Reporte de Investigación o DTI
Tips para Escribir un Reporte de Investigación o DTITips para Escribir un Reporte de Investigación o DTI
Tips para Escribir un Reporte de Investigación o DTI
 
Semana10: Intro a la Experienc
Semana10: Intro a la ExperiencSemana10: Intro a la Experienc
Semana10: Intro a la Experienc
 
Semana 7 - Curso de Creatividad
Semana 7 - Curso de CreatividadSemana 7 - Curso de Creatividad
Semana 7 - Curso de Creatividad
 
Semana 8: Introducción a IHC
Semana 8: Introducción a IHCSemana 8: Introducción a IHC
Semana 8: Introducción a IHC
 
Semana4: Creatividad Representación
Semana4: Creatividad RepresentaciónSemana4: Creatividad Representación
Semana4: Creatividad Representación
 
Semana6 - Proyecto de Desarrollo de VG
Semana6 - Proyecto de Desarrollo de VGSemana6 - Proyecto de Desarrollo de VG
Semana6 - Proyecto de Desarrollo de VG
 
Creatividad Semana 3: Técnicas Creativas 2
Creatividad Semana 3: Técnicas Creativas 2Creatividad Semana 3: Técnicas Creativas 2
Creatividad Semana 3: Técnicas Creativas 2
 
Creatividad Semana2
Creatividad Semana2Creatividad Semana2
Creatividad Semana2
 
Programación Orientada a Objetos y Videojuegos
Programación Orientada a Objetos y VideojuegosProgramación Orientada a Objetos y Videojuegos
Programación Orientada a Objetos y Videojuegos
 
Programac
ProgramacProgramac
Programac
 
Creatividad - Semana 1
Creatividad - Semana 1Creatividad - Semana 1
Creatividad - Semana 1
 
De Juegos y Diversion 2.0
De Juegos y Diversion 2.0De Juegos y Diversion 2.0
De Juegos y Diversion 2.0
 
Niveles de Diseño de Foley
Niveles de Diseño de FoleyNiveles de Diseño de Foley
Niveles de Diseño de Foley
 

Kürzlich hochgeladen

PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdfPROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdfMaritza438836
 
Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxRosabel UA
 
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...MagalyDacostaPea
 
Apunte de clase Pisos y Revestimientos 3
Apunte de clase Pisos y Revestimientos 3Apunte de clase Pisos y Revestimientos 3
Apunte de clase Pisos y Revestimientos 3Gonella
 
Buenas Practicas de Manufactura para Industria Farmaceutica
Buenas Practicas de Manufactura para Industria FarmaceuticaBuenas Practicas de Manufactura para Industria Farmaceutica
Buenas Practicas de Manufactura para Industria FarmaceuticaMarco Camacho
 
Apunte de clase Pisos y Revestimientos 2
Apunte de clase Pisos y Revestimientos 2Apunte de clase Pisos y Revestimientos 2
Apunte de clase Pisos y Revestimientos 2Gonella
 
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE 9-4-24 (1).docx
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE     9-4-24 (1).docx4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE     9-4-24 (1).docx
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE 9-4-24 (1).docxMagalyDacostaPea
 
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJODIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJOLeninCariMogrovejo
 
Descripción del Proceso de corte y soldadura
Descripción del Proceso de corte y soldaduraDescripción del Proceso de corte y soldadura
Descripción del Proceso de corte y soldaduraJose Sanchez
 
Programa sintetico fase 2 - Preescolar.pdf
Programa sintetico fase 2 - Preescolar.pdfPrograma sintetico fase 2 - Preescolar.pdf
Programa sintetico fase 2 - Preescolar.pdfHannyDenissePinedaOr
 
HISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICAHISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICAJesus Gonzalez Losada
 
LOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejorLOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejormrcrmnrojasgarcia
 
PRIMER GRADO SOY LECTOR PART1- MD EDUCATIVO.pdf
PRIMER GRADO SOY LECTOR PART1- MD  EDUCATIVO.pdfPRIMER GRADO SOY LECTOR PART1- MD  EDUCATIVO.pdf
PRIMER GRADO SOY LECTOR PART1- MD EDUCATIVO.pdfGabrieldeJesusLopezG
 
5º SOY LECTOR PART1- MD EDUCATIVO.pdfde
5º SOY LECTOR PART1- MD  EDUCATIVO.pdfde5º SOY LECTOR PART1- MD  EDUCATIVO.pdfde
5º SOY LECTOR PART1- MD EDUCATIVO.pdfdeBelnRosales2
 
NUEVO PLAN Y PROGRAMAS DE ESTUDIO 2022.pdf
NUEVO PLAN Y PROGRAMAS DE ESTUDIO  2022.pdfNUEVO PLAN Y PROGRAMAS DE ESTUDIO  2022.pdf
NUEVO PLAN Y PROGRAMAS DE ESTUDIO 2022.pdfEDNAMONICARUIZNIETO
 
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...Martin M Flynn
 

Kürzlich hochgeladen (20)

Sesión ¿Amor o egoísmo? Esa es la cuestión
Sesión  ¿Amor o egoísmo? Esa es la cuestiónSesión  ¿Amor o egoísmo? Esa es la cuestión
Sesión ¿Amor o egoísmo? Esa es la cuestión
 
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdfPROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
 
Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptx
 
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
 
Apunte de clase Pisos y Revestimientos 3
Apunte de clase Pisos y Revestimientos 3Apunte de clase Pisos y Revestimientos 3
Apunte de clase Pisos y Revestimientos 3
 
Buenas Practicas de Manufactura para Industria Farmaceutica
Buenas Practicas de Manufactura para Industria FarmaceuticaBuenas Practicas de Manufactura para Industria Farmaceutica
Buenas Practicas de Manufactura para Industria Farmaceutica
 
Apunte de clase Pisos y Revestimientos 2
Apunte de clase Pisos y Revestimientos 2Apunte de clase Pisos y Revestimientos 2
Apunte de clase Pisos y Revestimientos 2
 
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE 9-4-24 (1).docx
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE     9-4-24 (1).docx4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE     9-4-24 (1).docx
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE 9-4-24 (1).docx
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJODIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
 
Descripción del Proceso de corte y soldadura
Descripción del Proceso de corte y soldaduraDescripción del Proceso de corte y soldadura
Descripción del Proceso de corte y soldadura
 
Acuerdo segundo periodo - Grado Septimo.pptx
Acuerdo segundo periodo - Grado Septimo.pptxAcuerdo segundo periodo - Grado Septimo.pptx
Acuerdo segundo periodo - Grado Septimo.pptx
 
Programa sintetico fase 2 - Preescolar.pdf
Programa sintetico fase 2 - Preescolar.pdfPrograma sintetico fase 2 - Preescolar.pdf
Programa sintetico fase 2 - Preescolar.pdf
 
HISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICAHISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICA
 
LOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejorLOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejor
 
PRIMER GRADO SOY LECTOR PART1- MD EDUCATIVO.pdf
PRIMER GRADO SOY LECTOR PART1- MD  EDUCATIVO.pdfPRIMER GRADO SOY LECTOR PART1- MD  EDUCATIVO.pdf
PRIMER GRADO SOY LECTOR PART1- MD EDUCATIVO.pdf
 
5º SOY LECTOR PART1- MD EDUCATIVO.pdfde
5º SOY LECTOR PART1- MD  EDUCATIVO.pdfde5º SOY LECTOR PART1- MD  EDUCATIVO.pdfde
5º SOY LECTOR PART1- MD EDUCATIVO.pdfde
 
NUEVO PLAN Y PROGRAMAS DE ESTUDIO 2022.pdf
NUEVO PLAN Y PROGRAMAS DE ESTUDIO  2022.pdfNUEVO PLAN Y PROGRAMAS DE ESTUDIO  2022.pdf
NUEVO PLAN Y PROGRAMAS DE ESTUDIO 2022.pdf
 
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...
 
Acuerdo segundo periodo - Grado Noveno.pptx
Acuerdo segundo periodo - Grado Noveno.pptxAcuerdo segundo periodo - Grado Noveno.pptx
Acuerdo segundo periodo - Grado Noveno.pptx
 

Greenfoot & Kinect (Parte 3)

  • 1. Programando el Kinect con Greenfoot (3) Eduardo H. Calvillo Gámez
  • 2. Calibrando Usuarios  Clase UserData  Métodos  isTracking();  Booleano, nos indica si esta haciendo “tracking” pues ya termino de calibrar.  isCalibrating();  Booleano, nos indica si esta calibrando.  Clase KinectWorld  getAllUsers();  Arreglo de UserData, todos los usuarios frente al Kinect.
  • 3. Ejemplo: Instrucciones.java Método act() & addedToWorld(…)
  • 4. //Método act() KinectWorld world = (KinectWorld)getWorld(); boolean trackingAny = false; boolean calibratingAny = false; UserData[] us = world.getAllUsers(); for (UserData u : us) { trackingAny = trackingAny || u.isTracking(); calibratingAny = calibratingAny || u.isCalibrating(); } if (us.length > 0 && !trackingAny && ! calibratingAny) { setImage(begin); } else if (us.length > 0 && !trackingAny && calibratingAny) { setImage(calibrating); } else { setImage(blank); } }
  • 5. protected void addedToWorld(World world) { begin = new GreenfootImage("begin.png"); begin.scale(world.getWidth(), world.getHeight()); calibrating = new GreenfootImage("calibrating.png"); calibrating.scale(world.getWidth(), world.getHeight()); blank = new GreenfootImage(1, 1); setImage(blank); }
  • 6. Usuarios  Clase UserData  drawStickFigure(…)  drawStickFigure(getBackground(), 60);  getJoint  Clase Joint  Constantes para cada parte del cuerpo  getJoint(Joint.LEFT_HAND) nos regresa la parte que indicamos (objeto de tipo Joint)
  • 7. Ejemplo  Para checar si alguien levanto la mano izquierda  u.getJoint(Joint.LEFT_HAND).getY() < u.getJoint(Joint.HEAD).getY()
  • 9. import greenfoot.*; public class Brocha extends Actor { public Brocha(int width, int height) { setImage(new GreenfootImage(width, height)); getImage().setColor(java.awt.Color.GREEN); } public void act() { PaintWorld world = (PaintWorld)getWorld(); UserData[] users = world.getTrackedUsers(); for (UserData user : users) { Joint rightHand = user.getJoint(Joint.RIGHT_HAND); getImage().fillOval(rightHand.getX(), rightHand.getY(), 20, 20); if (user.getJoint(Joint.LEFT_HAND).getY() < user.getJoint(Joint.HEAD).getY()) { getImage().clear(); } } } }
  • 11. public class PintarMundo extends KinectWorld{ private static final int THUMBNAIL_WIDTH = 80; private static final int THUMBNAIL_HEIGHT = 60; … public PintarMundo() { super(THUMBNAIL_WIDTH, THUMBNAIL_HEIGHT, 1.0, false); final int width = getWidth(); final int height = getHeight(); addObject(new Brocha(width, height), width/2, height/2); addObject(new Instructiones(), width/2, height/2); addObject(new Foto(), width - THUMBNAIL_WIDTH/2, height - THUMBNAIL_HEIGHT/2); Label instr = new Label(”Usa la mano derecha para pintar, la izquierda para borrar", 20); addObject(instr, instr.getImage().getWidth() / 2, getBackground().getHeight() - (instr.getImage().getHeight() / 2)); }
  • 12. public void act() { super.act(); if (!isConnected()) return; UserData[] us = getTrackedUsers(); getBackground().setColor(java.awt.Color.WHITE); getBackground().fill(); for (UserData u: us) { //Draws their stick figure: u.drawStickFigure(getBackground(), 60); }