Bonjour à tous,
J'aimerai faire une chose toute simple, c'est pouvoir supprimer un objet de ma scène même si celle-ci à été compilé ou si elle est "alive".
Voici mon code tout simple (stricte minimum) :
On peut voir que je crée deux cube que j'attache à mon BranchGroup.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 import com.sun.j3d.utils.universe.SimpleUniverse; import com.sun.j3d.utils.geometry.ColorCube; import javax.media.j3d.BranchGroup; import javax.media.j3d.Canvas3D; import javax.swing.JFrame; import java.awt.GraphicsConfiguration; import java.awt.BorderLayout; public class Win extends JFrame { public ColorCube c1 = new ColorCube(0.3); public ColorCube c2 = new ColorCube(0.4); public Canvas3D canvas; public BranchGroup contents; public Win() { setLayout(new BorderLayout()); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration(); canvas = new Canvas3D(config); add("Center", canvas); BranchGroup contents = new BranchGroup(); contents.addChild(c1); contents.addChild(c2); contents.compile(); SimpleUniverse universe = new SimpleUniverse(canvas); universe.getViewingPlatform().setNominalViewingTransform(); universe.addBranchGraph(contents); contents.removeChild(1); } public static void main(String[] args) { Win demo = new Win(); demo.setSize(400,400); demo.setVisible(true); } }
Une fois le bg attaché à l'univers, j'essaie de supprimer un des cubes mais j'ai droit à une belle erreur javax.media.j3d.RestrictedAccessException: Group: only a BranchGroup node may be removed
Y a-t-il un moyen simple de faire ce que je désire ?
Merci
Partager