Hey Leute,
ich sitz gerade an einem kleinen Kinect Lernspiel via OpenNI, bei dem der Spieler seine Hand auf bestimmte Körperteile bewegen muss, z.B rechte Hand auf linke Schulter usw. Wenn er das erfolgreich durchgeführt hat soll ein Bild eingeblendet werden. Ich lass das Bild mit g.drawImage(...) in die Mitte des Screens zeichnen, das funktioniert auch, aber danach wird es natürlich nicht mehr ausgeblendet.
Hab schon versucht den Thread zu pausieren, aber das klappt nicht wirklich gut. Hat da jemand ne bessere Lösung für mich parat? Hier mal etwas Code...
Hier hab ich den Code mit Thread.sleep() wieder rausgenommen. isCorrect wird true gesetzt sobald die Bewegung richtig ausgeführt wurde und müsste jetzt normalerweise nach einer bestimmten Zeitspanne wieder false gesetzt werden, dass das Bild nicht mehr angezeigt wird.
Vg Alex
ich sitz gerade an einem kleinen Kinect Lernspiel via OpenNI, bei dem der Spieler seine Hand auf bestimmte Körperteile bewegen muss, z.B rechte Hand auf linke Schulter usw. Wenn er das erfolgreich durchgeführt hat soll ein Bild eingeblendet werden. Ich lass das Bild mit g.drawImage(...) in die Mitte des Screens zeichnen, das funktioniert auch, aber danach wird es natürlich nicht mehr ausgeblendet.
Hab schon versucht den Thread zu pausieren, aber das klappt nicht wirklich gut. Hat da jemand ne bessere Lösung für mich parat? Hier mal etwas Code...
Java:
//Zeichnet alles auf den Screen, was später sichtbar ist für den Spieler
public void paintComponent(Graphics g)
{
super.paintComponent(g);
//Füllt den Hintergrund mit Schwarz
g.setColor(Color.BLACK);
g.fillRect(0, 0, pWidth, pHeight);
//Zeichnet das Kinect RGB Bild auf den Screen
if (image != null)
g.drawImage(image, 0, 0, scaledWidth, scaledHeight, null);
if(isCorrect)
showSuccessState(g);
}
//Zeichnet das correct.png in die Mitte des Screens
public void showSuccessState(Graphics g)
{
int x = scaledWidth/2 - imgCorrect.getWidth()/2;
int y = pHeight /2 - imgCorrect.getHeight()/2;
g.drawImage(imgCorrect, x, y, null);
}
Hier hab ich den Code mit Thread.sleep() wieder rausgenommen. isCorrect wird true gesetzt sobald die Bewegung richtig ausgeführt wurde und müsste jetzt normalerweise nach einer bestimmten Zeitspanne wieder false gesetzt werden, dass das Bild nicht mehr angezeigt wird.
Vg Alex