Beispielprogram funktioniert nicht

Status
Nicht offen für weitere Antworten.

Dominicana

Aktives Mitglied
Schaue mir zur Zeit das Java3D-Tutorial von Michael Pfeiffer an. Stecke jetzt bei einem Beispiel mit einem KeyEvent fest. Scheinabr reagiert es nicht auf Eingaben. Normalerweise sollte man sich mit den Pfeiltasten drehen und bewegen können.
Der Code ist Original vom Autor des Tutorials , Package habe ich bei mir eingebaut.
Code:
/*
 * Copyright (c) 2004 Virtual Worlds Productions / Michael Pfeiffer
 * Email: [email]virtual_worlds@gmx.de[/email]
 *
 * This program is free software; you can redistribute it and/or modify  it
 * under the terms of the GNU General Public License as published by the Free
 * Software Foundation; either version 2 of the License, or (at your option) any
 * later version.
 *
 * Please contact [email]virtual_worlds@gmx.de[/email] if you are interested in a source
 * package which is not licensed under the GPL
 *
 * This software is provided "AS IS," without a warranty of any kind. ALL
 * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY
 * IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
 * NON-INFRINGEMENT, ARE HEREBY EXCLUDED. VIRTUAL WORLDS PRODUCTIONS AND ITS
 * LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A
 * RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES.
 * IN NO EVENT WILL VIRTUAL WORLDS PRODUCTIONS OR ITS LICENSORS BE LIABLE FOR
 * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
 * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS
 * OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE
 * SOFTWARE, EVEN IF VIRTUAL WORLDS PRODUCTIONS HAS BEEN ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGES.
 *
 * This software is not designed or intended for use in on-line control of
 * aircraft, air traffic, aircraft navigation or aircraft communications; or in
 * the design, construction, operation or maintenance of any nuclear
 * facility. Licensee represents and warrants that it will not use or
 * redistribute the Software for such purposes.
 */

import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.GraphicsConfiguration;
import com.sun.j3d.utils.applet.MainFrame;
import com.sun.j3d.utils.geometry.*;
import com.sun.j3d.utils.image.*;
import com.sun.j3d.utils.universe.*;
import javax.media.j3d.*;
import javax.vecmath.*;

public class Universe extends Applet
   {
   private SimpleUniverse u = null;

   public Universe()
      {
      }

   public BranchGroup createSceneGraph()
      {
      BranchGroup          RootBG=new BranchGroup();
      Appearance           ConeAppearance=new Appearance();
      DirectionalLight     DLgt=new DirectionalLight(new Color3f(0.8f,0.8f,0.8f),new Vector3f(-0.5f,-1f,-0.5f));
      AmbientLight         ALgt=new AmbientLight(new Color3f(0.8f,0.8f,0.8f));
      BoundingSphere       BigBounds=new BoundingSphere(new Point3d(),100000);

      ALgt.setInfluencingBounds(BigBounds);
      DLgt.setInfluencingBounds(BigBounds);
      RootBG.addChild(ALgt);
      RootBG.addChild(DLgt);
      ConeAppearance.setMaterial(new Material(new Color3f(0.9f,0.5f,0.5f),new Color3f(0f,0f,0f),new Color3f
                                             (0.3f,0.7f,0.7f),new Color3f(0.8f,0.8f,0.8f),1f));
      RootBG.addChild(new Cone(0.5f,1.5f,Cone.GENERATE_NORMALS,40,1,ConeAppearance));

      KeyBehavior KeyCtrl=new KeyBehavior(u.getViewingPlatform().getViewPlatformTransform());
      KeyCtrl.setSchedulingBounds(BigBounds);
      RootBG.addChild(KeyCtrl);

      RootBG.compile();
      return RootBG;
      }



   void setViewPosition()
      {
      TransformGroup ViewTG;
      Transform3D    ViewT3D=new Transform3D();

      ViewTG=u.getViewingPlatform().getViewPlatformTransform();
      ViewTG.getTransform(ViewT3D);
      ViewT3D.setTranslation(new Vector3f(0f,0f,4f));
      ViewTG.setTransform(ViewT3D);
      }



   public void init()
      {
      setLayout(new BorderLayout());
      GraphicsConfiguration config=SimpleUniverse.getPreferredConfiguration();
      Canvas3D c = new Canvas3D(config);
      add("Center", c);
      u = new SimpleUniverse(c);

      setViewPosition();
      u.addBranchGraph(createSceneGraph());
      }



   public void destroy()
      {
      u.cleanup();
      }

   public static void main(String[] args)
      {
      new MainFrame(new Universe(), 400, 400);
      }





}
Code:
/*
 * Copyright (c) 2004 Virtual Worlds Productions / Michael Pfeiffer
 * Email: [email]virtual_worlds@gmx.de[/email]
 *
 * This program is free software; you can redistribute it and/or modify  it
 * under the terms of the GNU General Public License as published by the Free
 * Software Foundation; either version 2 of the License, or (at your option) any
 * later version.
 *
 * Please contact [email]virtual_worlds@gmx.de[/email] if you are interested in a source
 * package which is not licensed under the GPL
 *
 * This software is provided "AS IS," without a warranty of any kind. ALL
 * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY
 * IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
 * NON-INFRINGEMENT, ARE HEREBY EXCLUDED. VIRTUAL WORLDS PRODUCTIONS AND ITS
 * LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A
 * RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES.
 * IN NO EVENT WILL VIRTUAL WORLDS PRODUCTIONS OR ITS LICENSORS BE LIABLE FOR
 * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
 * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS
 * OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE
 * SOFTWARE, EVEN IF VIRTUAL WORLDS PRODUCTIONS HAS BEEN ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGES.
 *
 * This software is not designed or intended for use in on-line control of
 * aircraft, air traffic, aircraft navigation or aircraft communications; or in
 * the design, construction, operation or maintenance of any nuclear
 * facility. Licensee represents and warrants that it will not use or
 * redistribute the Software for such purposes.
 */

import java.awt.*;
import java.awt.event.*;
import javax.media.j3d.*;
import javax.vecmath.*;
import java.util.*;

public class KeyBehavior extends Behavior
   {
   private TransformGroup transformGroup;
   private Transform3D trans = new Transform3D(),tempTrans=new Transform3D();
   private WakeupCriterion criterion;

   public KeyBehavior(TransformGroup tg)
      {
      transformGroup=tg;
      }

   public void initialize()
      {
      criterion=new WakeupOnAWTEvent(KeyEvent.KEY_PRESSED);
      wakeupOn(criterion);
      }

   public void processStimulus(Enumeration criteria)
      {
      WakeupOnAWTEvent ev;
      AWTEvent         AWTEv[];
      KeyEvent         KeyEv;

      while (criteria.hasMoreElements())
         {
         ev=(WakeupOnAWTEvent)criteria.nextElement();
         AWTEv=ev.getAWTEvent();
         for (int i=0; i<AWTEv.length; i++)
            {
            KeyEv=(KeyEvent)AWTEv[i];
            transformGroup.getTransform(trans);
            tempTrans.setIdentity();
            if (KeyEv.getKeyCode()==KeyEvent.VK_UP) tempTrans.setTranslation(new Vector3f(0f,0f,-0.2f));
            else if (KeyEv.getKeyCode()==KeyEvent.VK_DOWN) tempTrans.setTranslation(new Vector3f(0f,0f,0.2f));
            else if (KeyEv.getKeyCode()==KeyEvent.VK_LEFT) tempTrans.rotY(Math.toRadians(2));
            else if (KeyEv.getKeyCode()==KeyEvent.VK_RIGHT) tempTrans.rotY(Math.toRadians(-2));
            trans.mul(tempTrans);
            transformGroup.setTransform(trans);
            }
         }
      wakeupOn(criterion);
      }

}
Kann mir jemand sagen, ob´s an mir liegt (Tastatur), oder am obigen Code?

Dom.
 

Dominicana

Aktives Mitglied
Thx @ Illuvatar für´s testen.
Dann ist diese sch... Microsoft-Tastatur dran Schuld! Ich hab´s doch gewußt! Hätte ich mir doch lieber eine von Logitech geholt!
 

Illuvatar

Top Contributor
Also ich hab Logitech ;)

Aber eigentlich kann das nicht sein... testest du wirklich exakt den Code da oben? Startest du das über die main, im Appletviewer oder im Browser? Hast du schonmal gedebuggt und in der processStimulus einen Breakpoint gesetzt? Funktionieren irgendwelche auf DirectX (bzw. OpenGL, je nach dem was du für J3D verwendest) basierenden Spiele mit der Tastatur?
 

Dominicana

Aktives Mitglied
Also ich nutze obigen Code , bis auf wenige Änderungen (z.B. Variablenname in kleinschrift). Das Applet an sich kann ich sehen - weißer Kegel auf schwarzem Hintergrund - aber ich kann Tasten(Pfeil hoch, runter rechts links) drücken, wie ich will , es tut sich nichts.
 

The_S

Top Contributor
dann teste ein requestFocusInWindow().

Funktioniert beim IE, beim Firefox aber nicht. Opera weiß ich nicht mehr auswendig.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Pokemon Spiel Funktioniert nicht ? Spiele- und Multimedia-Programmierung 3
D MIDIdevice open funktioniert nicht Spiele- und Multimedia-Programmierung 1
A Kollision funktioniert nicht richtig bei zu schneller Geschwindigkeit des Spielers Spiele- und Multimedia-Programmierung 0
P Teamspeak interface mit JFrame funktioniert nicht Spiele- und Multimedia-Programmierung 3
D Kollision funktioniert unten aber nicht oben Spiele- und Multimedia-Programmierung 4
N Animation funktioniert icht wie sie soll Spiele- und Multimedia-Programmierung 10
D Java Bild bewegen funktioniert nicht Spiele- und Multimedia-Programmierung 8
Damtonix Gameloop funktioniert nicht! Spiele- und Multimedia-Programmierung 6
temi libGDX Box2d ApplyTorque() funktioniert nicht Spiele- und Multimedia-Programmierung 1
M KeyListener funktioniert nicht während Timer läuft Spiele- und Multimedia-Programmierung 26
S KeyEvent funktioniert nicht, wenn Buttons dem Frame hinzugefügt werden Spiele- und Multimedia-Programmierung 7
C Export als .jar funktioniert nicht richtig (JAVA 3D) Spiele- und Multimedia-Programmierung 5
A Minecraft Minecraft, Programm funktioniert nur in Eclipse richtig Spiele- und Multimedia-Programmierung 24
F LWJGL: Licht und GL_LINES funktioniert nicht Spiele- und Multimedia-Programmierung 6
J KeyMapping funktioniert nicht Spiele- und Multimedia-Programmierung 5
J Sound einbinden funktioniert nicht Spiele- und Multimedia-Programmierung 13
D Slick Lib - Bilder einlesen funktioniert nicht Spiele- und Multimedia-Programmierung 2
M Mathetrainer - Reset Button funktioniert nicht! Spiele- und Multimedia-Programmierung 8
K Wie funktioniert hier ein Score ? Spiele- und Multimedia-Programmierung 4
O A* funktioniert, aber zu langsam Spiele- und Multimedia-Programmierung 10
D Highscoreliste eines Applets funktioniert online nicht Spiele- und Multimedia-Programmierung 4
StrikeTom KeyListener Funktioniert nicht Spiele- und Multimedia-Programmierung 3
aze Java 3D 1.5.2 auf Mac(Snow Leopard) funktioniert nicht mit Java SE 1.6 Spiele- und Multimedia-Programmierung 3
K "Animation" funktioniert nur bedingt. Spiele- und Multimedia-Programmierung 8
G Undo/Redo funktioniert nicht richtig Spiele- und Multimedia-Programmierung 2
Kidao Warum funktioniert hier keine Tastaturabfrage? Spiele- und Multimedia-Programmierung 6
S Sudoku Solver funktioniert beim 2. Aufruf nicht mehr Spiele- und Multimedia-Programmierung 11
R Kollisionserkennung funktioniert nicht Spiele- und Multimedia-Programmierung 3
R KeyListern funktioniert nicht. :S ? Spiele- und Multimedia-Programmierung 7
M Sonnensystem - Eigenrotation der Planeten funktioniert nicht Spiele- und Multimedia-Programmierung 4
M Wie funktioniert der RotPosPathInterpolator? Spiele- und Multimedia-Programmierung 5
B Bild wird nicht geladen Spiele- und Multimedia-Programmierung 4
Fabel TicTacToe MiniMax Algorithmus geht nicht Spiele- und Multimedia-Programmierung 4
ThoraxLaneus Minecraft MCP-Client mit Optifine fertig machen in IntelliJ klappt nicht ganz Spiele- und Multimedia-Programmierung 6
K Mein Jump and Run charakter bewegt sich nicht mehr rückwärts... Spiele- und Multimedia-Programmierung 0
Mika_MDF Minecraft Eclipse startet Minecraft nicht? Spiele- und Multimedia-Programmierung 23
H Musik Datei lädt nicht? Spiele- und Multimedia-Programmierung 8
JeremyStarTM Minecraft Minecraft Spigot Server akzeptiert JAR-Version nicht Spiele- und Multimedia-Programmierung 8
K Das Leerzeichen der Tastatur wird nicht gleichgesetzt mit dem Leerzeichen aus der Text Datei Spiele- und Multimedia-Programmierung 5
coolian slick lwjgl text darstellen mit UnicodeFont funktoniert nicht? Spiele- und Multimedia-Programmierung 11
Z Minecraft Multiplayer geht nicht Spiele- und Multimedia-Programmierung 2
L Minecraft 1.7.10 Server startet nicht Spiele- und Multimedia-Programmierung 1
R Memory - Nicht alle Button lassen sich aktivieren? Spiele- und Multimedia-Programmierung 1
C Java findet FluidSynth nicht Spiele- und Multimedia-Programmierung 2
N der Player bewegt sich nicht Spiele- und Multimedia-Programmierung 14
N Warum tut der Gegner nicht das was er soll? Spiele- und Multimedia-Programmierung 13
N Warum ist das Fenster nicht schwarz? Spiele- und Multimedia-Programmierung 26
B Programmieren wie der Befehl /ban in Minecraft geblockt wird aber nicht /ban mit einem Argument Spiele- und Multimedia-Programmierung 1
A Dateifehler - Öffnet nicht Spiele- und Multimedia-Programmierung 7
R Laufbewegung geht nicht.. Spiele- und Multimedia-Programmierung 1
J OpenGL Bild wird nicht richtig angezeigt Spiele- und Multimedia-Programmierung 2
S GetBufferStrategy-Methode wird nicht angezeigt Spiele- und Multimedia-Programmierung 6
F vlcj läuft nicht exportiert, aber in Eclipse Spiele- und Multimedia-Programmierung 2
A MouseListener ändert nicht das Lable Icon. Spiele- und Multimedia-Programmierung 2
G LWJGL Rendert nicht Spiele- und Multimedia-Programmierung 3
A Spielball bewegt sich nicht richtig, prallt falsch ab Spiele- und Multimedia-Programmierung 7
Blender3D VLCJ Video lässt sich nicht mehr abspielen nach mysql Installation Spiele- und Multimedia-Programmierung 1
J Programm kann Audio Datei nicht finden Spiele- und Multimedia-Programmierung 7
Viktim Snake - Schlange wächst nicht Spiele- und Multimedia-Programmierung 3
J Mensch Ärgere Dich nicht - Künstliche Intelligenz Spiele- und Multimedia-Programmierung 2
L Mensch ärgere dich nicht Spiele- und Multimedia-Programmierung 9
Polarfuchs Status von Midi Datei(wird gerade abgespielt oder nicht) Spiele- und Multimedia-Programmierung 0
A Bild(sequenz) wird nicht geladen Spiele- und Multimedia-Programmierung 1
4 AudioSystem.write() wirft IllegalArgumentException, obwohl dies eig. nicht passieren dürfte Spiele- und Multimedia-Programmierung 2
V Methoden werden zwar ausgeführt führen aber nicht zum Ergebnis Spiele- und Multimedia-Programmierung 5
M [JOGL] eclipse export Runnable Jar - startet nicht Spiele- und Multimedia-Programmierung 3
B LWJGL / OPENGL Kriege Depth-Test nicht hin :( Spiele- und Multimedia-Programmierung 0
S Slick2D KeyInput reagiert nicht. Spiele- und Multimedia-Programmierung 3
S Quaxli's Heli Spiel läuft nicht nach Plan Spiele- und Multimedia-Programmierung 2
W [libGDX] findet SplashScreen.png nicht Spiele- und Multimedia-Programmierung 4
T LWJGL VBO's funktionieren nicht, geben aber auch keinen Fehler Spiele- und Multimedia-Programmierung 0
Androbin Kollision zwischen Raster und Nicht-Raster Spiele- und Multimedia-Programmierung 2
O Fehler bei Programmierung lässt Figur nicht bewegen Spiele- und Multimedia-Programmierung 5
Androbin Mein Spiel will sich nicht zeichnen lassen !!! Spiele- und Multimedia-Programmierung 7
B Mein Programm reagiert nicht auf den Tasstendruck Spiele- und Multimedia-Programmierung 1
F HashMap liefert nicht gewünschten Wert (gar nix) Spiele- und Multimedia-Programmierung 5
J mensch ärger dich nicht Spiele- und Multimedia-Programmierung 1
M Spiele Tutorial.. Findet Bilddateien nicht Spiele- und Multimedia-Programmierung 6
G Ausführbare Jar findet Bilddateien nicht... Spiele- und Multimedia-Programmierung 4
P Rotation von Sprite klappt nicht Spiele- und Multimedia-Programmierung 4
A Minecraft Java Ubuntu Minecraft Server startet nicht - ERROR (SIGSEGV) Spiele- und Multimedia-Programmierung 7
A [LWJGL] BMP Textur wird nicht richtig dargestellt Spiele- und Multimedia-Programmierung 8
N JPanel Inhalt aktualisiert nach Thread.sleep nicht Spiele- und Multimedia-Programmierung 2
S LWJGL Rechteck wird nicht gezeichnet Spiele- und Multimedia-Programmierung 6
R Minecraft Minecraft läuft nicht paralel mit minecraft server ? Spiele- und Multimedia-Programmierung 3
S eine nullpointerexception, wo sie nicht sein sollte Spiele- und Multimedia-Programmierung 12
J Java3D - Textur laden geht nicht Spiele- und Multimedia-Programmierung 9
S Mensch-Ärger-Dich-Nicht Methoden Spiele- und Multimedia-Programmierung 2
S VLCJ libjawt.so nicht gefunden Spiele- und Multimedia-Programmierung 3
A JME3 will Blender/j3o Objekte nicht einladen Spiele- und Multimedia-Programmierung 3
Q BufferedImage vs. Heap Space ‒ Warum wird der Speicher nicht freigegeben? Spiele- und Multimedia-Programmierung 6
T LWJGL Grafik meines Projektes läuft nicht korrekt auf meinem iMac Spiele- und Multimedia-Programmierung 19
B LWJGL/OpenGL rendert manche Objekte nicht Spiele- und Multimedia-Programmierung 6
D Key Listener reagiert nicht ! Spiele- und Multimedia-Programmierung 4
CookieSoft 3D Würfel will sich nicht drehen! [LWJGL] Spiele- und Multimedia-Programmierung 2
T lwjgl vertex buffer rendert nicht Spiele- und Multimedia-Programmierung 9
R Kollisionsabfrage haut nicht hin Spiele- und Multimedia-Programmierung 15
R Probleme mit JPanel!KeyListener geht nicht Spiele- und Multimedia-Programmierung 6
A Patter Array Eintrag vergleichen geht nicht!!! Spiele- und Multimedia-Programmierung 3
M Jmonkey läuft nicht Spiele- und Multimedia-Programmierung 7

Ähnliche Java Themen

Neue Themen


Oben