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.
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()
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);
}