Java3D float setzten, per TextField, und aktualisieren

Status
Nicht offen für weitere Antworten.

Developer_X

Top Contributor
Hi, ich möchte in ein Textfield die größe eines Floats eingeben, und den Float als größe einer Figur verwenden, also bitte wie kann ich das machen?
Irgendwie funktioniert das ganze nicht
Wenn ihr mir bitte bei dem float "headsize" helfen könntet, den rest kann ich dann selber machen, danke schon mal im Voraus Developer_X!

Code:
public class Rayman_Maker extends JFrame 
{	
	URL url = null;
	AudioClip clip; 
	
	private String DateiTypS;
	private String DateiT;
	
	JMenu help = new JMenu("Hilfe");
	
	static int outFileSeq = 0;
	static String outFileBase = "ScreenShot";
	static NumberFormat nf = NumberFormat.getInstance();
	
	private Color backcolor = Color.cyan;
	private Color forecolor = Color.blue;
////////////////Head/////////////////
	private float hx,hy,hz=0;
	private Transform3D head;
	private TransformGroup Head;
	
	private float headsize=1;

	private float rhx,rhy,rhz;
	private Transform3D rh1;
	private Transform3D rh2;
	private Transform3D rh3;
	private TransformGroup Rh1;
	private TransformGroup Rh2;
	private TransformGroup Rh3;

//////////////////////////////////////////////////////////////////////////////////////
	public Rayman_Maker()
	{
		 Toolkit tk = Toolkit.getDefaultToolkit();
		 final Dimension d = tk.getScreenSize();
         
		 setSize(d.width,d.height);
         setVisible(true);
         setIconImage(new ImageIcon("F:/Rayman_Maker_1.0/Icon.jpg").getImage());	 
         setLayout(null);
         setVisible(true);
         setResizable(false); 
         setTitle("Rayman_Maker_1.0");        
        
         final JMenuBar menubar = new JMenuBar();
         menubar.setBounds(0,0,1200,20);
         menubar.setBackground(backcolor);
         add(menubar);
         final JMenuBar menubar2 = new JMenuBar();
         menubar2.setBounds(1200,0,1000,20);
         menubar2.setBackground(backcolor);
         add(menubar2);
         
        
///////////////////////////////////////////        
         JButton b = new JButton();
         b.setBackground(backcolor);b.setBounds(1000,70,100,20);add(b);b.setForeground(forecolor); b.setLabel("Head");
         JButton b1 = new JButton();
         b1.setBackground(backcolor);b1.setBounds(1000,90,100,20);add(b1);b1.setForeground(forecolor);b1.setLabel("Kopf-Größe");
         final JTextField b11 = new JTextField();
         b11.setBackground(backcolor);b11.setBounds(1100,90,100,20);add(b11);b11.setForeground(forecolor);
         JButton b111 = new JButton();
         b111.setBackground(backcolor);b111.setBounds(1200,90,200,20);add(b111);b111.setForeground(forecolor);b111.setLabel("Kopf-Größe aktualisieren");
         b111.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) 
         { headsize = Integer.parseInt(b11.getText()); }}); 
      //Translation
         JButton trans = new JButton();
         trans.setBackground(backcolor);trans.setBounds(1000,110,150,20);add(trans);trans.setForeground(forecolor);trans.setLabel("Kopf Position (x,y,z)");     
      //
         final JButton transx = new JButton();
         transx.setBackground(backcolor);transx.setBounds(1150,110,45,20);add(transx);transx.setForeground(forecolor);transx.setLabel("X");       

         final JTextField tae = new JTextField();
         tae.setBackground(backcolor);tae.setBounds(1195,110,25,20);add(tae);tae.setForeground(forecolor);
      // 
         final JButton transy = new JButton();
         transy.setBackground(backcolor);transy.setBounds(1215,110,45,20);add(transy);transy.setForeground(forecolor);transy.setLabel("Y");       

         final JTextField tae1 = new JTextField();
         tae1.setBackground(backcolor);tae1.setBounds(1260,110,25,20);add(tae1);tae1.setForeground(forecolor);
      //  
         final JButton transz = new JButton();
         transz.setBackground(backcolor);transz.setBounds(1285,110,45,20);add(transz);transz.setForeground(forecolor);transz.setLabel("Z");       

         final JTextField tae2 = new JTextField();
         tae2.setBackground(backcolor);tae2.setBounds(1330,110,25,20);add(tae2);tae2.setForeground(forecolor);
       
         JButton po = new JButton("Position aktualisieren");
         add(po); po.setBounds(1000,130,200,20); po.setForeground(forecolor); po.setBackground(backcolor);
         po.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) 
         {hx = Integer.parseInt(transx.getText());hy = Integer.parseInt(transy.getText());hz = Integer.parseInt(transz.getText());head = new Transform3D();Head=new TransformGroup();head.setTranslation(new Vector3f(hx,hy,hz));Head.setTransform(head);}}); 

         BranchGroup scene = createSceneGraph();       
         setLayout(new BorderLayout());
         GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration();
         Canvas3D canvas = new Canvas3D(config);
         add(canvas); 
         canvas.setBounds(0,90,1000,780);
         SimpleUniverse universe = new SimpleUniverse(canvas);                
         universe.addBranchGraph(scene);     
         Point3d p = new Point3d();
         BoundingSphere bounds = new BoundingSphere(p,10);
         OrbitBehavior orbit = new OrbitBehavior(canvas,
	                OrbitBehavior.REVERSE_ALL|OrbitBehavior.STOP_ZOOM);
	        orbit.setSchedulingBounds(bounds);
	        ViewingPlatform viewingPlatform = universe.getViewingPlatform();
	        viewingPlatform.setNominalViewingTransform();
	        viewingPlatform.setViewPlatformBehavior(orbit);       
	}	 
	  void createStarBackground(BranchGroup bg)
	   {
	   java.util.Random rand = new java.util.Random();
	   float            mag;
	   BranchGroup      BGBranch=new BranchGroup();
	   Background       BG=new Background();

	   PointArray starfield = new PointArray(15000, PointArray.COORDINATES|PointArray.COLOR_3);
	   float[] point = new float[3];
	   float[] brightness = new float[3];
	   for (int i = 0; i < 15000; i++)
	      {
	      point[0] = (rand.nextInt(2) == 0) ? rand.nextFloat() * -1.0f :rand.nextFloat();
	      point[1] = (rand.nextInt(2) == 0) ? rand.nextFloat() * -1.0f :rand.nextFloat();
	      point[2] = (rand.nextInt(2) == 0) ? rand.nextFloat() * -1.0f :rand.nextFloat();
	      starfield.setCoordinate(i, point);
	      mag=(rand.nextFloat()+0.5f)/1.5f;
	      brightness[0]=mag;
	      brightness[1]=mag;
	      brightness[2]=mag;
	      starfield.setColor(i, brightness);
	      }
	   Shape3D StarShape=new Shape3D(starfield);
	   StarShape.setAppearance(new Appearance());
	   StarShape.getAppearance().setPointAttributes(new PointAttributes(1f,true));
	   BGBranch.addChild(StarShape);
	   BG.setGeometry(BGBranch);
	   BG.setApplicationBounds(new BoundingSphere(new Point3d(),10.0));
	   BG.setColor(new Color3f(0,0,0));

       bg.addChild(BG);
	   }
	   public BranchGroup createSceneGraph() 
	   {	       
		     BranchGroup Root = new BranchGroup();
	       
		     createStarBackground(Root);
		     //Head
		     head = new Transform3D();
		     head.setTranslation(new Vector3f(hx,hy,hz));
		     Head = new TransformGroup();
		     Root.addChild(Head);Head.setTransform(head); Head.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
		     
		     rh1 = new Transform3D(); rh1.rotX(Math.toRadians(rhx));
		     Rh1 = new TransformGroup(); Head.addChild(Rh1);Rh1.setTransform(rh1);
		     
		     rh2 = new Transform3D(); rh2.rotY(Math.toRadians(rhy));
		     Rh2 = new TransformGroup(); Rh1.addChild(Rh2);Rh2.setTransform(rh2);
		     
		     rh3 = new Transform3D(); rh3.rotZ(Math.toRadians(rhz));
		     Rh3 = new TransformGroup();Rh3.addChild(new Rayman_Head(headsize).getChild()); Rh3.setCapability(TransformGroup.ALLOW_CHILDREN_WRITE|TransformGroup.ALLOW_TRANSFORM_READ|TransformGroup.ALLOW_LOCALE_READ|TransformGroup.ALLOW_LOCAL_TO_VWORLD_READ|TransformGroup.ALLOW_COLLISION_BOUNDS_WRITE|TransformGroup.ALLOW_COLLIDABLE_READ|TransformGroup.ALLOW_BOUNDS_WRITE|TransformGroup.ALLOW_BOUNDS_READ|TransformGroup.ALLOW_AUTO_COMPUTE_BOUNDS_WRITE|TransformGroup.ALLOW_AUTO_COMPUTE_BOUNDS_READ|TransformGroup.ALLOW_TRANSFORM_WRITE|TransformGroup.ALLOW_CHILDREN_READ|TransformGroup.ALLOW_CHILDREN_EXTEND);Rh2.addChild(Rh3);Rh3.setTransform(rh3);		     
		     
		     //Light Definitions
		     Point3d p = new Point3d();
		     BoundingSphere bounds = new BoundingSphere(p, 100);
		     Color3f lightColor = new Color3f(.3f,.3f,.3f);
	         AmbientLight ambientLight= new AmbientLight(lightColor);
	         ambientLight.setInfluencingBounds(bounds);
	         Root.addChild(ambientLight);
	         DirectionalLight directionalLight = new DirectionalLight();
	         directionalLight.setColor(lightColor);
	         directionalLight.setInfluencingBounds(bounds);
	         Root.addChild(directionalLight);     
	         
	         return Root;       
	    }       
public static void main(String[]args){new Rayman_Maker();}
}
 
Zuletzt bearbeitet:
S

Spacerat

Gast
Was irgendwie ebenso nicht funzt, ist die Tatsache, dass du uns hier, da und dort mit ellenlangem Code zubombst, auf unsere Vorschläge dann nicht eingehst, was man widerum daran sieht, das sie in erneut gepostetem Code nicht enthalten sind und dann auch noch erwartest, das man dir hilft. Von den zu setzenden Capabilities, die wir im anderen Thread angesprochen hatten, sehe ich immer noch nichts. Bist du überhaupt mit dem Java3D-Api vertraut, oder gehörst du zu denjenigen, die sich das lesen eher sparen und stattdessen lieber Forenbeiträge publizieren, die meistens länger ausfallen, als die Abschnitte der API die man besser mal vorher hätte lesen sollen?
 

Developer_X

Top Contributor
Mir wurde im anderen Forum nur geraten, dass headsize, irgendetwas ein muss, wie du sehen kannst, ist es "1.0", also warum funktioniert es nicht?
 

Developer_X

Top Contributor
dann bitte ich euch nochmals drum, sagt mir nur, was ich falsch mache, nicht im code und nicht wo im code, einfach nur was,
 

hdi

Top Contributor
Irgendwie funktioniert das ganze nicht
Naja was soll man dazu gross sagen? Was funktioniert nicht?
Per find hab ich jetzt nur gesehen, dass headsize am Anfang 1.0 ist,
beim Klick auf irgendetwas angepasst wird, und dann beim Erstellen
eines Rayman_Head genutzt wird.

Also, was ist denn dein Problem? Gibt es eine Fehlermeldung, oder
passiert einfach nur etwas, was du nicht erwartest, bzw. anders
erwartest?

1.0 scheint mir übrigens ein kleiner Wert zu sein wenn ich an "Rayman_Head"
denke. Soll das der Radius sein? Kann ja sein, dass das einfach mal viel zu klein ist.

PS: Auch auf die Gefahr hin, dass ich dich (mal wieder) langweile:
Was du da produzierst ist von vorne bis hinten Bullshit ;)
Dein Rayman-Projekt ist mehr als nur dem Untergang geweiht.

Mach doch mal ein Tetris, das ist auch ein tolles Spiel. Da lernst du
erstmal alles, was du vom Groben her für ein Spiel wissen musst.
Sowas spezielles wie Java3D kannst du dann iiiirgendwann machen.
Aber ich weiss schon: Das kann man dir sagen, sooft man will...
Du glaubst es halt einfach nicht. Naja du merkst ja selber dass die
Hilfsbereitschaft der Leute immer mehr sinkt. Du nimmst die Hilfe
einfach nicht an...
 
Zuletzt bearbeitet:

Developer_X

Top Contributor
ICh habe eine Rayman Figur erstelt, und dieses "headsize" ist der scale dafür.
Die Scale von "Rayman_Head" wird aber nicht verändert, das ist das problem, verstehst du?

Also was mache ich falsch? Die Scale wird einfach nicht verändert
 

hdi

Top Contributor
1. Schau ob der ActionListener für den Button mit dem absolut
genialen Namen b111 reagiert (bau ein Sys-out rein).
2. headsize ist ein float, du solltest da nicht mit Integer.parseint() arbeiten.
 

Developer_X

Top Contributor
Das mit dem Sys out. funktioniert auch , nur der flaot wird nicht geändet, hättest du ne idee, wie ich anderweitig, ohne parse int, den inhalt des Textfields in mein float bekomme?
Oder bzw. dass es aktualisiert wird, in der 3D DimensionalenWelt
 

hdi

Top Contributor
Ich weiss ja nicht was für Werte du da genau eingibst, aber parseInt
schneidet Nachkommastellen ab. Aus 1,6 wird dann 1,0. Aus 1,7 wird 1,0. usw.
Wie ich sagte: Nimm nicht Integer.ParseInt sondern Float.parseFloat
 

Illuvatar

Top Contributor
Überleg dir vielleicht am besten mal, wie denn Java3D irgendwas davon mitkriegen soll, dass du deine Variable headsize änderst.

Das, was hdi sagt, ist allerdings außerdem noch richtig.
 
S

Spacerat

Gast
Ok... man hat ja sonst nichts zu tun... Mir ist aufgefallen, das das Entscheidende gar nicht gepostet wurde. Wo ist Die Klasse "Rayman_Head"?
 

hdi

Top Contributor
Spacerat ich glaube das Problem ist gelöst. Er castet einen float nach int und somit kann er nicht richtig scalen, weil eh immer 1.0 rauskommt.
Der Rest wird wohl "stimmen", ich meine er kopiert seine Programme eh immer komplett aus irgendwelchen Foren oder so
 

Illuvatar

Top Contributor
Nein, das mit dem parsen ist das kleinere Problem. Es gibt eine private Variable headsize in der Hauptklasse, und der ActionListener besteht nur aus einer Zeile, und in dieser wird eben die Variable verändert.
Das einzige, wo die Variable verwendet wird, ist eben für den Konstruktor von "Rayman_Head", aber eigentlich egal wie diese Klasse aussieht, da kann nichts funktionieren, weil weder Rayman_Head noch Java3D noch sonst jemand etwas davon mitkriegen kann, dass sich die private Membervariable ändert.
 

hdi

Top Contributor
Ich denke eher er hat noch nen zweiten Knopf womit er einen Head erstellt, und dort liest er halt dann den akutell gesetzten Wert ab. Also nicht "on-the-fly".
Da es eine Skalierungs-Variable ist, denke ich halt er hat sie nie >=2.0 gesetzt, sonst hätte er gesehen dass es schon geht, aber durch das parsen das ganze bei 1.x eh immer auf 1.0 rauskommt.

Ob das so ist, kann man natürlich schlecht sagen bei so Namen wie "b111" und "b112" etc.
 

Developer_X

Top Contributor
erstens, diese klasse hab ich selbst geschrieben, zweitens rayman_head rück ich nicht raus, weils ein haufen arbeit war Raymans Kopf zu programmieren, nur mal so, wenn ich float parse float nehme, und dann ist textfield 2 eingebe, passiert immer noch nichts, wenn ich auf den BUtton "altualisiereN" klicke
 

hdi

Top Contributor
erstens, diese klasse hab ich selbst geschrieben
Dann merk dir: Man schreibt alles in CamelCase/camelCase, und gibt
Variablen sinnvolle Namen, nicht "b11" usw.

zweitens rayman_head rück ich nicht raus
das wird die CIA aber ärgern.

nur mal so, wenn ich float parse float nehme, und dann ist textfield 2 eingebe, passiert immer noch nichts, wenn ich auf den BUtton "altualisiereN" klicke
Nur mal so: Lern deutsch und programmieren.

..sorry aber ich hab echt die Schnauze voll. Das ist sowas von dreist
wie du dich hier gibst. Stellst die dümmsten Fragen ever, hast kein Plan
davon was du tust, akzteptierst keine Hilfe und bist dann auch noch
- absolut ungerechtfertigterweise - arrogant.

EDIT: Nur weil ich nich anders kann: Dein Problem mit dem "Aktualisieren"
liegt wohl daran dass du ständig NEUE Rayman_Head Objekte erstellst.
Du musst aber sowas wie setHeadsize() auf deinem - einzigen! - Head-Objekt
anwenden, wenn du das aktualisieren möchtest.
 
Zuletzt bearbeitet:

Developer_X

Top Contributor
@all
okay sorry
@hdi
Hdi, den code wie du ihn hier siehst, ist der Code, den ich habe, ich hab nur in meinem Features wie, Eine Screenshot Funktion, Dateityp wählung , Musik wählung usw....
Also, mache ich dieses Headsize auch nur für eine Figur, verstehst du?
schau dir den code doch mal genauer an, dann siehst dus
 

hdi

Top Contributor
Also, mache ich dieses Headsize auch nur für eine Figur, verstehst du?
Copy that, aber Fakt ist: Per Float.parseFloat() wird in die Variable "headsize" ganz sicher der exakte Float-Wert in dem Text-Feld eingelesen.

Wenn also irgendwas mit deinem Kopf nicht stimmt :)o), dann hast du irgendwo
n Problem drinnen. Das löst man sehr schnell mit ein paar System.out.println() Meldungen.
Prüfe, ob richtig geparsed wird. Prüfe dann welchen Wert headsize hat,
gleich in der Zeile bevor du einen neuen Rayman_Head damit erstellst.

Und wenn diese Werte an beiden Stellen korrekt sind, also den Wert haben
wie du ihn eingetippt hast, dann stimmt entweder im Rayman_Head etwas nicht,
was du ja nicht zeigen willst weil es der absolute Elite-Code ist :rolleyes:...
Oder es stimmt was mit deinem Aktualisieren/Anzeigen nicht.

Du kannst nicht einfach mit tonnenweise Code ankommen und eine unkonkrete
Frage stellen. Du musst schon selber mal ein paar Minuten nachdenken und probieren,
wo etwas nicht stimmt.

Und es sei mir verziehen, dass ich mir nicht 100+ Zeilen Trash-Code durchlese. Gewöhn dir erstmal eine richtige Formatierung und Variablenbennenung an, wie es dir schon so oft empfohlen worden ist.
 

Developer_X

Top Contributor
also ich kann ja mal die Grundstruktur von Rayman Head veröffentlichen hier; Falls euch das weiterbringt:
Code:
public class Rayman_Head extends Object
{
private Group g;
public Rayman_Head(float f)
{
g = new Group();
Transform3D a = new Transform3D(); a.setScale(f);
TransformGroup A = new TransformGroup();A.setTransform(a); g.addChild(A);
}
public Group getChild()
{
return g;
}
}
So, an die TransformGRoup A werden dann viele Objekte gehängt,
usw....
Der Rayman_Head also, wer den mal sehen will, unter diesem Link ist er zu sehen, als Bild:
https://java-rayman.dev.java.net/files/documents/9616/125621/Rayman.jpg
Da ist auch sein restlicher Körper zu sehen,
danke für weitere Antworten schon mal im Voraus Developer_X
 
S

Spacerat

Gast
Mich bringt das schon mal weiter...
Obwohl die anderen mit "Float.parseFloat()" in den ActionListenern (in allen!) durchaus recht haben (Ich würd' sogar alles auf double umstricken, weil setScale auch damit arbeitet, ist aber Geschmackssache), ist das nicht das Problem. Das Problem sind doch die Caps. Du setzt sie im Prinzip am falschen Ort zur falschen Zeit.
bei dir siehts so aus:
neues "Rh3", neuen Raymen_Head mit "headsize" hinzufügen, "Rh3"-Caps setzen.
richtig(er) wäre:
neues "Rh3", "Rh3"-Caps setzen, neuen Raymen_Head mit "headsize" hinzufügen.
Der Grund dafür ist (soweit ich mich erinner), das die Caps hierarchisch überprüft werden. Das bedeutet, das jedes Transform3D, welches geändert werden darf, bis hoch zum Szenegraphen (inklusive) diese ebenfalls gesetzt haben muss. Deswegen hatte ich im anderen Beitrag auch davon geredet, das du dir zwangsläufig ein eigenes "VirtualUniverse" erstellen musst, weil man die Caps beim Szenegraphen des "SimpleUniverse" meines Wissens nach kaum oder gar nicht setzen kann. Ich bin dem umständlichem Handling von Java3D wegen bei JOGL gelandet.
 

Developer_X

Top Contributor
Meinst du in etwas so?
Spacerat?
Code:
	public Rayman_Maker()
	{
	
///////////////////////////////////////////        
         JButton b = new JButton();
         b.setBackground(backcolor);b.setBounds(1000,70,100,20);add(b);b.setForeground(forecolor); b.setLabel("Head");
         JButton b1 = new JButton();
         b1.setBackground(backcolor);b1.setBounds(1000,90,100,20);add(b1);b1.setForeground(forecolor);b1.setLabel("Kopf-Größe");
         final JTextField b11 = new JTextField();
         b11.setBackground(backcolor);b11.setBounds(1100,90,100,20);add(b11);b11.setForeground(forecolor);
         JButton b111 = new JButton();
         b111.setBackground(backcolor);b111.setBounds(1200,90,200,20);add(b111);b111.setForeground
//Hier!
(forecolor);b111.setLabel("Kopf-Größe aktualisieren");
         b111.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) 
         { headsize = Float.parseFloat(b11.getText()); Rh3 = new TransformGroup(); Rh3.addChild(new Rayman_Head(headsize).getChild();}}); 
         
	}	 
	  	   public BranchGroup createSceneGraph() 
	   {	       
		     BranchGroup Root = new BranchGroup();
	       
		     createStarBackground(Root);
		     //Head
		     head = new Transform3D();
		     head.setTranslation(new Vector3f(hx,hy,hz));
		     Head = new TransformGroup();
		     Root.addChild(Head);Head.setTransform(head); Head.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
		     
		     rh1 = new Transform3D(); rh1.rotX(Math.toRadians(rhx));
		     Rh1 = new TransformGroup(); Head.addChild(Rh1);Rh1.setTransform(rh1);
		     
		     rh2 = new Transform3D(); rh2.rotY(Math.toRadians(rhy));
		     Rh2 = new TransformGroup(); Rh1.addChild(Rh2);Rh2.setTransform(rh2);
		     
//Hier!!!
		     rh3 = new Transform3D(); rh3.rotZ(Math.toRadians(rhz));
		     Rh3 = new TransformGroup();
 Rh3.setCapability(TransformGroup.ALLOW_CHILDREN_WRITE|TransformGroup.ALLOW_CHILDREN_READ);
Rh2.addChild(Rh3);
Rh3.setTransform(rh3);		     
		     
		    
	         return Root;       
	    }
PS: ich hab den Code gekürzt, damit du nur ie wichtigsten Stellen lesen musst,
 
S

Spacerat

Gast
Fast...
Hierarchisch bedeutet, das wirklich ALLE! "Groups" (Head, Rh1-3, root usw.) die dem "SceneGraph" zugewiesen werden, diese Caps bekommen, bevor sie selbst diesem übergeben werden bzw. ihnen irgendwas hinzugefügt wird. z.B.
Code:
Rh3 = new Transform3D(); Rh3.setCapabilities(TransformGroup.ALLOW_TRANSFORM_READ
 | TransformGroup.ALLOW_TRANSFORM_WRITE); Rh3.addChild(new Raymen_Head(headsize).getChild());
Bei der "Übersicht fällt mir auch noch auf, das der Rayman dem ScenGraph "root" gar nicht hinzugefügt wird. Kann sein, das das in deinem 1. Code noch anders war.
 

Developer_X

Top Contributor
Ah ok, du meinst es also so???: Jetzt mal mit allem:
Code:
public class Rayman_Maker extends JFrame()
{
private BranchGroup root;
private float headsize=1;

public Rayman_Maker()
	{
	 Toolkit tk = Toolkit.getDefaultToolkit();
		 final Dimension d = tk.getScreenSize();
         
		 setSize(d.width,d.height);
         setVisible(true);
         setIconImage(new ImageIcon("F:/Rayman_Maker_1.0/Icon.jpg").getImage());	 
         setLayout(null);
         setVisible(true);
         setResizable(false); 
         setTitle("Rayman_Maker_1.0");        
//... ich habe hier übersprungen
///////////////////////////////////////////        
         JButton b = new JButton();
         b.setBackground(backcolor);b.setBounds(1000,70,100,20);add(b);b.setForeground(forecolor); b.setLabel("Head");
         JButton b1 = new JButton();
         b1.setBackground(backcolor);b1.setBounds(1000,90,100,20);add(b1);b1.setForeground(forecolor);b1.setLabel("Kopf-Größe");
         final JTextField b11 = new JTextField();
         b11.setBackground(backcolor);b11.setBounds(1100,90,100,20);add(b11);b11.setForeground(forecolor);
         JButton b111 = new JButton();
         b111.setBackground(backcolor);b111.setBounds(1200,90,200,20);add(b111);b111.setForeground
//Hier!
///////////////////////////////////////////
         BranchGroup scene;       
         setLayout(new BorderLayout());
         GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration();
         Canvas3D canvas = new Canvas3D(config);
         add(canvas);   
         canvas.setBounds(0,90,1000,780);
         SimpleUniverse universe = new SimpleUniverse(canvas);                
         universe.addBranchGraph(scene);     
         Point3d p = new Point3d();
         BoundingSphere bounds = new BoundingSphere(p,10);
         OrbitBehavior orbit = new OrbitBehavior(canvas,
	                OrbitBehavior.REVERSE_ALL|OrbitBehavior.STOP_ZOOM);
	        orbit.setSchedulingBounds(bounds);
	        ViewingPlatform viewingPlatform = universe.getViewingPlatform();
	        // Damit wird die ViewingPlatform etwas zurückgesetzt, 
	        // so dass man die Objekte in der Szene sehen kann.
	        viewingPlatform.setNominalViewingTransform();
	        viewingPlatform.setViewPlatformBehavior(orbit);       
///////////////////////////////////////////
(forecolor);b111.setLabel("Kopf-Größe aktualisieren");
         b111.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) 
         { headsize = Float.parseFloat(b11.getText()); scene = createSceneGraph;    }}); 

         
	}	 
	  	  void createStarBackground(BranchGroup bg)
	   {
	   java.util.Random rand = new java.util.Random();
	   float            mag;
	   BranchGroup      BGBranch=new BranchGroup();
	   Background       BG=new Background();

	   PointArray starfield = new PointArray(15000, PointArray.COORDINATES|PointArray.COLOR_3);
	   float[] point = new float[3];
	   float[] brightness = new float[3];
	   for (int i = 0; i < 15000; i++)
	      {
	      point[0] = (rand.nextInt(2) == 0) ? rand.nextFloat() * -1.0f :rand.nextFloat();
	      point[1] = (rand.nextInt(2) == 0) ? rand.nextFloat() * -1.0f :rand.nextFloat();
	      point[2] = (rand.nextInt(2) == 0) ? rand.nextFloat() * -1.0f :rand.nextFloat();
	      starfield.setCoordinate(i, point);
	      mag=(rand.nextFloat()+0.5f)/1.5f;
	      brightness[0]=mag;
	      brightness[1]=mag;
	      brightness[2]=mag;
	      starfield.setColor(i, brightness);
	      }
	   Shape3D StarShape=new Shape3D(starfield);
	   StarShape.setAppearance(new Appearance());
	   StarShape.getAppearance().setPointAttributes(new PointAttributes(1f,true));
	   BGBranch.addChild(StarShape);
	   BG.setGeometry(BGBranch);
	   BG.setApplicationBounds(new BoundingSphere(new Point3d(),10.0));
	   BG.setColor(new Color3f(0,0,0.5f));

       bg.addChild(BG);
	   }
	   public BranchGroup createSceneGraph() 
	   {	       
		     BranchGroup Root = new BranchGroup();
	       
		     createStarBackground(Root);
		     //Head
		     head = new Transform3D();
		     head.setTranslation(new Vector3f(hx,hy,hz));
		     Head = new TransformGroup();
		     Root.addChild(Head);Head.setTransform(head);
		     
		     rh1 = new Transform3D(); rh1.rotX(Math.toRadians(rhx));
		     Rh1 = new TransformGroup(); Head.addChild(Rh1);Rh1.setTransform(rh1);
		     
		     rh2 = new Transform3D(); rh2.rotY(Math.toRadians(rhy));
		     Rh2 = new TransformGroup(); Rh1.addChild(Rh2);Rh2.setTransform(rh2);
		     
		     rh3 = new Transform3D(); rh3.rotZ(Math.toRadians(rhz));
		     Rh3 = new TransformGroup(); Rh2.addChild(Rh3);   Rh3.setCapability(TransformGroup.ALLOW_CHILDREN_WRITE); Rh3.addChild(new Rayman_Head(headsize).getChild());
		     
		     //Light Definitions
		     Point3d p = new Point3d();
		     BoundingSphere bounds = new BoundingSphere(p, 100);
		     lightColor = new Color3f(a,b,c);
	         AmbientLight ambientLight= new AmbientLight(lightColor);
	         ambientLight.setInfluencingBounds(bounds);
	         Root.addChild(ambientLight);
	         DirectionalLight directionalLight = new DirectionalLight();
	         directionalLight.setColor(lightColor);
	         directionalLight.setInfluencingBounds(bounds);
	         Root.addChild(directionalLight);     
	         
	         //World Definitions
	         Transform3D floor = new Transform3D();
	         floor.setTranslation(new Vector3f(0,-3,0));
	         TransformGroup Floor = new TransformGroup(); Root.addChild(Floor); Floor.setTransform(floor);
	         Floor.addChild(new Floor(textur).getBG());
	         
	         return Root;       
	    }       public static void main(String[]args)
{new Rayman_Maker();}
}
 
Zuletzt bearbeitet:
S

Spacerat

Gast
Wieder nur fast... Zwar setzt du hier und da jetzt die Caps in der richtigen Reihenfolge, aber die Hierarchie zum SG ist immer noch unterbrochen. Hinzu kommt noch, das Root immer noch nicht Teil des SGs ist. Die "Anwendung" hat doch im Leben nie eine IDE, geschweige denn einen Debugger gesehen.
Ich glaub' du hast keine Ahnung von dem was du da tust... Irgendein 3D-API... schön und gut, aber an deiner Stelle würd' ich mal auf hdi hören und mit was leichtem beginnen. Zur Entwicklung ernstzunehmender 3D-Anwendungen gehört mehr als sich nur mit den den Klassen des 3D-APIs zu befassen. Denn spätestens hier muss man sich Wissen über die Grenzen "normaler" Mathematik hinweg angeeignet und haben um mit Transformations-Matritzen, Vectoren usw. effektiv umgehen zu können. Ferner sollte man sich über 3D-Hardware in so weit darüber Klar sein, was es z.B. in Java3D heisst, wenn ein Objekt "Life and Compiled" ist (Mit anderen Worten für weitere Themenverfolger: Die Daten wurden der GPU übergeben.). Solche Anwendungen bedürfen halt nicht bloss rein programmierteschnische Erfahrungen. Um die notwendigen Erfahrungen zu sammeln hilft meistens auch nachlesen. Bis auf die Tatsache, das du dir nicht die relevanten Kapitel in den Dokumentationen der von dir verwendeten APIs raussuchen musst (klar... das tun wir ja für dich...), tust du doch hier nichts anderes. Demnach ist es wohl auch Sinnvoll, dir zwar versuchen zu helfen, jedoch ohne, das du auch nur eine Zeile Code von uns bekommst. Bei der Anzahl deiner gestarteten Themen drängt sich die Vermutung auf, das du uns hier deine Anwendung programmieren lässt. Wir allerdings haben selber Projekte zu laufen, die auch nicht vernachlässigt werden wollen. Um das ein oder andere besser zu verstehen, sind auch sog. Tutorials hilfreich (gibts hier im Forum glaub' ich zu häuf und das auch in Deutsch). So... und nu' hau rein... Lerne Java, fang bei den Grundlagen an (z.B. hier: www.javabuch.de), oder ist dein Selbstwertgefühl zu gering um vom Image des "Foren-Trolls" weg zu kommen?
Giovanni Trappatoni hat gesagt.:
...Habe fertig...
 

hdi

Top Contributor
aber an deiner Stelle würd' ich mal auf hdi hören und mit was leichtem beginnen.
Was man auch nicht missverstehen darf: Sowas wie ein hübsches Tetris erstmalig zu programmieren, ist alles andere als "leicht".
Ein 3D-Rayman zu entwickeln, noch dazu alleine, ist halt so eine super hirnrissige Idee von Developer, die er sich jetzt in den Kopf gesetzt hat.
Es braucht nur mal etwas, das ihn auf den Boden der Tatsachen zurückbringt. Und das wäre eben zB Tetris.
Oder Pacman. Oder ein Snake (wobei das schon deutlich leichter und auch nicht gerade spannend ist).

Irgendwann muss er das halt lernen. Ich kann auf der einen Seite schon verstehen, wieso er das machen will.
Er ist halt ~13 Jahre oder so, und möchte jetzt sein Lieblingsspiel in 3D entwickeln. Besser, grösser, geiler.
Das ist aber wie wenn du noch nie ein Auto gefahren hast und jmd setzt dich in eine Veyron auf der Nordschleife.
Nach guten 5 Minuten bist du entweder tot oder fast tot. Und das passiert ihm halt
mit seinem Rayman auch, was dazu führt dass er irgendwann alles hinschmeisst, zig Stunden
Arbeit umsonst waren und er keinen Bock mehr auf Java hat. Das lässt sich vermeiden wenn man vernünftig ist,
und nicht mit dem krassesten anfängt, was es da draussen so gibt, nämlich Vollpreis-3D-Videospiele.
 
Zuletzt bearbeitet:

Developer_X

Top Contributor
Wisst ihr was ich mal mache, ich versuch mich mal an einem Tetris Spiel "3D" und benutzte dabei meine Figuren die ich erstellt habe, also den Rayman_Head usw...

PS:
Ja ok, ich versteh alles bei Java3D aber für den Experten kram,
gibt es ganz wenig tutorials, versteht ihr?

Ich weiß wie man ein Simple UNiverse erstellt, Objekte charakterisiert und positioniert, usw...
wie man Objekte schreibt, usw..
aber halt net sachen wie diese Vector3f Verschiebung, kann mir einer vielleich einen Link geben?
 

hdi

Top Contributor
ich versteh alles bei Java3D
das bringt dir aber alles leider nix, wenn du die Basics von Java nicht verstehst.
Und die verstehst du also sowas von gar nicht... Sieht man immer wieder an den Fragen
und an deinem grauenhaften Source-Code.

Mach ein Tetris spiel - normal - nicht in 3D. Das ist doch wieder so ein Trash was
da rauskommt. Lass das mal mit Java3D. Versuch mal ein super einfaches Tetris
Spiel zu programmieren, keine Gimmicks, keine fetten Sounds oder Hintergrundmusik,
keine blöden kreisrunden JFrames, nix mit undecorated...
Du fängst immer von hinten an, mit irgendwelchen speziellen Features usw, lass das mal.
"Einfach" nur sowas:

http://www.chunkypig.com/games/images/tetris.jpg

Versuch es erstmal dass da ein paar Steine runterkommen die du bewegen kannst,
so ganz ohne Menü oder Punkte-Anzeige und sonst was.

Dabei lernst du:

1) GUI/EDT mit Listenern
2) Threads
3) Polymorphsismus (u.a. bei den Spielsteinen)

Und das sind alles Grundlagen von Java. Bevor du also so ne spezielle Bibliothek wie
Java3D machst, musst du das hier können. Fang mal an... Ich glaube du unterschätzt
das total...
 
S

Spacerat

Gast
Wir machen Fortschritte (gering aber stetig)...
Dem Text entnehme ich, das du deine Objekte zwar positionieren, jedoch, ausser mit z.B. RotationInterpolator, nicht bewegen kannst. Wie ich darauf komme? Vector3f ist das Zauberwort. Grundlage aller Bewegungen in einer 3D-Welt sind Vektoren und Transformations-Matritzen (z.B. Matrix3f). Solange man diese Materie nicht Begriffen hat, kann man 3D-Welten vergessen (Noch so ein Grund, warum ich mit Java3D durch bin).
Der letzte und im Prinzip der entscheidende Grund, warum ich auf JOGL umgestiegen bin, ist die Tatsache, das man dort nicht ausschliesslich auf JOGL-Tutorials beschränkt ist, sondern auch OpenGL Tutorials aus anderen Programiersprachen (z.B. C++) durcharbeiten kann und den Code recht gut konvertiert bekommt, teilweise sogar 1 : 0,999 übernehmen kann.
So aus dem Nähkästchen plaudere ich natürlich nicht ohne Grund. Ich kann mir 1. nämlich gut vorstellen, das Java3D für den ein oder anderen (z.B. für dich) viel zu schwerfällig ist. Da ich mit absoluter Sicherheit sagen kann, das du kaum 2% von Java3D beherrschst, will ich dir JOGL (ohne Werbung machen zu wollen) näher bringen. Anfangen kann man damit z.B. hier (natürlich nachdem man sich die Library für JOGL besorgt hat). Dann fehlen noch einige Tuts über Transformations-Matritzen (und Zeugs), da muss ich leider erst mal passen. Hab' da nur so'n altmodisches Nachschlagewerk (vllt. besser bekannt als Buch... sowas gibts noch, man glaubt es kaum.). 2. Hast du dann möglicherweise einige Mehr, die dir unter die Arme greifen können. Aber eines muß dann klar sein... Erst mal kleine Brötchen backen. z.B. Solche G'schichten...
@Edit: Da sollten eigentlich noch zwei Grafiken hin, die ich in einem Anderen Thread schon verwende... Was solls... hier ist der Link... http://www.java-forum.org.server659-han.de-nserver.de/showthread.php?t=27725
 

Anhänge

  • screenshot3.jpg
    screenshot3.jpg
    49,6 KB · Aufrufe: 45
  • screenshot4.jpg
    screenshot4.jpg
    52,1 KB · Aufrufe: 45
  • screenshot5.jpg
    screenshot5.jpg
    70,9 KB · Aufrufe: 42
Zuletzt bearbeitet von einem Moderator:

hdi

Top Contributor
Aaaah Spacerat :(

Er kann kaum eine Grundlage von Java oder Programmieren generell,
und ich versuch hier seit Wochen (nicht nur ich btw) dass er sich von seinem Schmarrn da
losreisst und von vorne beginnt, wie es jeder normale Mensch tut.

Und jetz kommst du mit irgendeinem 3D-Framework. Wat soll'n dat, häh? ;)

Ich glaube einfach, damit tut man ihm keinen Gefallen.
 
Zuletzt bearbeitet:
S

Spacerat

Gast
... dann fang' wa eben bei null an... oder wurde das auch schon probiert? Ausserdem würde so ein winziges 3D-Projekt die meisten Grundlagen mit abdecken (z.B. was ganz wichtig ist... Speicher sparen... "new" vermeiden, ein übersichtlicher Programmierstil). Ist für mich einfach unvorstellbar, das jemand Spass am Proggen hat aber nichts dazu lernen will.
@Edit: Obendrein... Der Weg ist das Ziel. Und wenn Developer_X vor hat ein 3D-Game zu proggen, wirds ihm mit Sicherheit keinen Spass machen, sich langwierig mit nicht projektbezogenen Grundlagen zu beschäftigen. Deshalb sollte man ruhig den Ball spielen der gradewegs ins Tor geht.
 
Zuletzt bearbeitet von einem Moderator:

hdi

Top Contributor
Code:
Deshalb sollte man ruhig den Ball spielen der gradewegs ins Tor geht.

Naja das ist richtig, ich sag ja auch nich dass er den Ball weglegen und Klavier spielen soll.
Aber man fängt halt nicht mit fresh gezwirbelten Seitenziehern an, sondern erstmal mit nem Anstoss.

Blödes Gerede jetz, aber ich beobachte seine Postings schon länger, und ich kuck mir auch den Code
immer an, auch wenn es gar nix mit der Frage zu tun hat (Was eh meistens der Fall ist :p)

Und da kann ich schon die Fernanaylse stellen, dass das alles Dreck ist. Schau doch mal,
mit was für Dingen er sich so beschäftigt: Kreisrunde JFrames. Er hat eine Dropdown-Box für die Hintergrund-Musik eines Menüs. Er hat zT Fragen gestellt, da merkt
man er weiss noch nicht mal was eine Methode ist. Er kennt die API gar nicht, ich meine jetzt SE.

Und was ich nich verstehen will: Wieso nicht erstmal ein 2D-Rayman, vor einem 3D-Rayman? Und warum nicht ein Tetris vor einem 2D-Rayman? Ich wette mit dir er wird
enormste Probleme haben, ein Tetris zu programmieren. Ohne Sound ohne Effekte einfach nur so n superbilliges Tetris. Da kommen hier 25 Threads weil er nix checkt.
Damit meine ich, dass er irgendwelche komischen Methoden aus Framworks kennt oder Muster-Code von Leuten für irgendwelche strangen Settings hat.
Aber er hat keinen Schimmer von den Prinzipien usw.
Und das merkt er nicht: Er bastelt sich dumme skalierbare Rayman_Heads, was soll das?
Was soll das am Ende für ein Spiel sein? Rayman_Heads skalieren? Wie dumm... Das wird niemals ein auch nur halbfertiges Spiel.

Und ich stell die Prognose: Wenn er so weitermacht wirft er irgendwann total frustriert alles weg,
weil sein Ziel viel zu bitter ist, und er es nicht schaffen kann. Das ist wie zu sagen "Ich fang jetzt an Schach zu spielen und will übermorgen im World Tournament gewinnen".
Und dann hat er eben monatelang irgendwelche Code-Fetzen programmiert und es bringt ihm Null komma nix. Und dann war's das mit Java. Das wär doch schade.
Wenn man sich "gesunde" Ziele steckt passt das doch. Es is einfach nur behämmert wie er versucht, Java zu erlernen.

Und ich weiss nich wer inzwischen der blödere is: Er oder ich. Aber kA ich denk mir
er is glaub ich nich so alt, und ziemlich naiv. Ich will ja nur verhindern dass er auf die Schnauze fällt...
Weil Erfolgsmomente sind ja auch wichtig. Mit einem Echtzeit 3D-Spiel das Programmieren zu beginnen, das ist n Kopfschuss Oo


edit: Solche Worte wie "Dreck" oder "dumm" waren jetzt gar nich so grob gemeint, wie man sie vllt liest ;)

edit2: Ist auch nich so nett dauernd in der dritten Person über einen Anwesenden zu reden. Also Developer du kannst jedes "er" durch ein "du" ersetzen.
(Aber bitte dann auch gedanklich die Verben anpassen ;))
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Java3d in Eclipse einbinden Spiele- und Multimedia-Programmierung 4
Neumi5694 Java3D Viewer Beschriftung Spiele- und Multimedia-Programmierung 1
C Java3D Transformieren von obj. Datein Spiele- und Multimedia-Programmierung 0
M Cylinder anhand eines Vektors ausrichten (Java3d) Spiele- und Multimedia-Programmierung 0
Ruvok Java3D Tutorial gesucht Spiele- und Multimedia-Programmierung 5
U Hilfe bei Implementierung eines PointSounds in Java3D Spiele- und Multimedia-Programmierung 1
R Java3d ViewingPlatform erst Verschieben und dann RotationsInterpolator Spiele- und Multimedia-Programmierung 0
D Java3D - Blickfeld Spiele- und Multimedia-Programmierung 1
P Java3D Box Dimensionen und Positionierung Spiele- und Multimedia-Programmierung 1
E Java3D Objekt skalieren per JSlider/JButton Spiele- und Multimedia-Programmierung 10
S Java3D: Primitives zu einem Objekt kombinieren Spiele- und Multimedia-Programmierung 7
J Java3D - Textur laden geht nicht Spiele- und Multimedia-Programmierung 9
J Java3D - Farben vermischen sich Spiele- und Multimedia-Programmierung 7
T Java3D Rendering Problem Spiele- und Multimedia-Programmierung 7
S Java3D oder JMonkey? Spiele- und Multimedia-Programmierung 17
H Java3D - Textur aufs innere einer Sphere mappen Spiele- und Multimedia-Programmierung 9
C java 3d ohne Java3d Spiele- und Multimedia-Programmierung 28
Maxim6394 [Java3D] Probleme bei Kollision Spiele- und Multimedia-Programmierung 7
Maxim6394 [Java3D] lookAt Mausposition Spiele- und Multimedia-Programmierung 17
Maxim6394 [Java3D] Probleme mit KeyFrame Animationen Spiele- und Multimedia-Programmierung 9
K Java3D als Applet ohne Installation von Java3d Spiele- und Multimedia-Programmierung 6
D Java3D Installation: package javax.media.j3d not found Spiele- und Multimedia-Programmierung 5
C Java3D Texture Mapping Spiele- und Multimedia-Programmierung 2
W Java3D: Kanten die hinter einem Objekt liegen werden gezeigt Spiele- und Multimedia-Programmierung 2
W Java3D: Farbe von Objekten stimmt nicht mit übergebenem RGB-Wert überein Spiele- und Multimedia-Programmierung 9
M Eigene Renderengine ohne Java3D,etc. Spiele- und Multimedia-Programmierung 19
C Java3D Sound spielt nur einen Sound ab. Spiele- und Multimedia-Programmierung 8
A JAVA3D TransformGroup <--> Group Problem Spiele- und Multimedia-Programmierung 3
M [Java3D] Animation von mehreren Objekten Spiele- und Multimedia-Programmierung 7
W Java3D: Eckkoordinaten einer Box herausfinden Spiele- und Multimedia-Programmierung 18
T Java3D: Objekte platzieren und entfernen? Spiele- und Multimedia-Programmierung 7
T Java3D: Nur die Kanten des Würfels rendern? Spiele- und Multimedia-Programmierung 4
W Java3D setBounds(BoundingBox) Spiele- und Multimedia-Programmierung 6
T [gelöst] Java3D: Unerwünschte Rotation um die 3.Achse vermeiden? Spiele- und Multimedia-Programmierung 3
Bastie JAVA3D - WRL Transform Spiele- und Multimedia-Programmierung 9
G Eclipse Problem mit Java3d Spiele- und Multimedia-Programmierung 3
T Java3D - Lichtquelle einbauen Spiele- und Multimedia-Programmierung 7
jemandzehage java3d parallel und perspective view Spiele- und Multimedia-Programmierung 5
H Cinema 4D in Java3D importieren Spiele- und Multimedia-Programmierung 2
1 [Java3D] komplexes Projekt? Spiele- und Multimedia-Programmierung 10
P .obj-Datei in Java3D laden: ParsingErrorException Spiele- und Multimedia-Programmierung 7
C Java3D Lichtquelle beim Beobachter Spiele- und Multimedia-Programmierung 2
C Java3D Interaktion während Animation Spiele- und Multimedia-Programmierung 3
aze Java3D: Flächen teilen Spiele- und Multimedia-Programmierung 15
P Java3D Textur verzerrt Spiele- und Multimedia-Programmierung 3
aze Java3D: Gegenstände aufeinander zubewegen ohne Kollision Spiele- und Multimedia-Programmierung 4
D [JAVA3D] Es werden 2 Fenster erzeugt und auf dem falschen gezeichnet Spiele- und Multimedia-Programmierung 3
aze Java3D: leere Räume füllen Spiele- und Multimedia-Programmierung 2
aze Java3d:Helligkeit von Shape3D ändern Spiele- und Multimedia-Programmierung 2
S Einschätzung zu Java3D-Einstieg Spiele- und Multimedia-Programmierung 3
F Programm mit Java3D unter Linux laufen lassen Spiele- und Multimedia-Programmierung 3
I Vergleich von Java3D und OpenGL Spiele- und Multimedia-Programmierung 17
W Waterslide mit Java3D Spiele- und Multimedia-Programmierung 11
M Java3D Picking - falsche Objekte werden gepickt Spiele- und Multimedia-Programmierung 3
M [Java3D] Rotieren der Scene NICHT des POV Spiele- und Multimedia-Programmierung 4
F Jogl oder Java3D ? Spiele- und Multimedia-Programmierung 20
K Java3D Abfängerfrage Spiele- und Multimedia-Programmierung 3
aze Java3D:Farbige Flächen verschwinden lassen(Transparenz- oder Colorinterpolator?)) Spiele- und Multimedia-Programmierung 5
C Java3D PositionInterpolator Spiele- und Multimedia-Programmierung 3
G [Java3D] Probleme bei Animation Spiele- und Multimedia-Programmierung 4
E [JAVA3D] Kamerasteuerung Spiele- und Multimedia-Programmierung 3
E [JAVA3D] Schattenstrich durch die Szene Spiele- und Multimedia-Programmierung 4
M Grundsätzliche Java3D Fragen Spiele- und Multimedia-Programmierung 2
C Java3D SceneGraohPath Spiele- und Multimedia-Programmierung 2
C Java3D Rotation um einen Punkt (y-achse) Spiele- und Multimedia-Programmierung 2
G Java3D plattformunabhängig bundeln Spiele- und Multimedia-Programmierung 3
TheKing Java3D-Shooter View Spiele- und Multimedia-Programmierung 2
A Java3D tutorial? Spiele- und Multimedia-Programmierung 3
R Java3D Kollisionserkennung und Schwerkraft Spiele- und Multimedia-Programmierung 17
M Java3D Objekte entfernen und hinzufügen Spiele- und Multimedia-Programmierung 10
J Java3d Schnelle Geschosse Spiele- und Multimedia-Programmierung 12
D Kann ich mit Java3D 2D Daten als 3D surfaceplot plotten? Spiele- und Multimedia-Programmierung 5
J Java3d setTextureTransform verändert J3DGraphics2D Spiele- und Multimedia-Programmierung 4
J Hilfe: Rotation X und Y Achse (Java3d) Spiele- und Multimedia-Programmierung 12
K Java3D: LineStripArray Spiele- und Multimedia-Programmierung 2
P Java3D - Zylinder genau wie Vektor ausrichten Spiele- und Multimedia-Programmierung 5
Developer_X Java3D Mensch Ärgere Dich nicht. Spiele- und Multimedia-Programmierung 10
C JAVA3D Rotation um einen bestimmten Punkt Spiele- und Multimedia-Programmierung 20
Developer_X Java3D-Ungeeignet für 3D Spiele wegen Heap Space=? Spiele- und Multimedia-Programmierung 23
Developer_X Java3D Canvas post Renderer und? Spiele- und Multimedia-Programmierung 5
A Java3D Sichtweite Spiele- und Multimedia-Programmierung 2
"Er" Kamera rotation in Java3D Spiele- und Multimedia-Programmierung 2
A Java3D: Behavior scheduling bounds Spiele- und Multimedia-Programmierung 3
Developer_X THE BALL (needs Java3D) Spiele- und Multimedia-Programmierung 34
Developer_X Java3D Game_(die erste) Spiele- und Multimedia-Programmierung 2
Developer_X Java3D und while schleifen Spiele- und Multimedia-Programmierung 4
Developer_X Collisionserkennung in Java3D Spiele- und Multimedia-Programmierung 3
Developer_X Java3D Node -> Obj Data Spiele- und Multimedia-Programmierung 2
Developer_X Figuren werden nicht angezeigt (Java3D) Spiele- und Multimedia-Programmierung 5
S PDFRenderer und Java3D Spiele- und Multimedia-Programmierung 2
Developer_X Java3D- der Mausklick auf Nodes Spiele- und Multimedia-Programmierung 3
Developer_X Java3D Point Sound Spiele- und Multimedia-Programmierung 71
Developer_X Lines in Java3D Spiele- und Multimedia-Programmierung 4
V Java3D: HUD erstellen Spiele- und Multimedia-Programmierung 2
V Java3D: scheinende Sonne Spiele- und Multimedia-Programmierung 4
V Java3D: Ringe für Saturn erstellen Spiele- und Multimedia-Programmierung 8
V Java3D: automatisches Bewegen der Kamera Spiele- und Multimedia-Programmierung 19
V Java3D: mehrere ViewingPlaforms in Sonnensystem Spiele- und Multimedia-Programmierung 8
Developer_X Thread in Java3D Spiele- und Multimedia-Programmierung 8
B Java3D .obj dateien Spiele- und Multimedia-Programmierung 2

Ähnliche Java Themen

Neue Themen


Oben