Ik heb een probleem met java3d.
Ik heb een BranchGroup met daaronder nog meer BranchGroupen.
Ik ben kleiduifschieten aan het maken en wil als je op de kleiduif klikt deze verwijderen.
Dat lukt op deze manier:
Nu is de duif weg en wil ik graag een nieuwe op deze manier:
Beetje omslagtig maar er is dan een nieuwe duif.
Het rotige is alleen dat deze kleiduif begint met vliegen waar de vorige gestopt is.
Dat is dus niet erg realistich.
Weet iemand hoe ik de BranchGroup echt kan vernietigen zodat de nieuwe duif weer bij 0 begint.
Alvast bedankt.
ps mijn programma moest vanmiddag al af zijn
Ik heb een BranchGroup met daaronder nog meer BranchGroupen.
Ik ben kleiduifschieten aan het maken en wil als je op de kleiduif klikt deze verwijderen.
Dat lukt op deze manier:
code:
1
| duifcontainer.removeAllChildren(); |
Nu is de duif weg en wil ik graag een nieuwe op deze manier:
Java:
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
| TransformGroup target = new TransformGroup(); target.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE); Duif duif = new Duif(); duif.setCapability(duif.ALLOW_APPEARANCE_READ); duif.setCapability(duif.ALLOW_APPEARANCE_WRITE); target.addChild(duif); Alpha alpha = new Alpha(-1, 3000); Transform3D axisOfRotPos = new Transform3D(); Quat4f[] draaing = new Quat4f[11]; float[] knots = {0.0f, 0.1f, 0.2f, 0.3f, 0.4f, 0.5f, 0.6f, 0.7f, 0.8f, 0.9f, 1.0f}; Point3f[] posities = new Point3f[11]; draaing[0] = new Quat4f(0.0f, 0.0f, 0.0f, 0.0f); draaing[1] = draaing[0]; draaing[2] = draaing[0]; draaing[3] = draaing[0]; draaing[4] = draaing[0]; draaing[5] = draaing[0]; draaing[6] = draaing[0]; draaing[7] = draaing[0]; draaing[8] = draaing[0]; draaing[9] = draaing[0]; draaing[10] = draaing[0]; posities[0] = new Point3f(- 0.4f, -0.4f, 1f); posities[1] = new Point3f( 0f, 0.5f, - 2.0f); posities[2] = new Point3f(0.4f, 0.9f, - 4.0f); posities[3] = new Point3f(0.8f, 1.3f, - 6.0f); posities[4] = new Point3f(1.2f, 1.5f, - 8.0f); posities[5] = new Point3f(1.6f, 1.3f, -10.0f); posities[6] = new Point3f(2.0f, 0.9f, -12.0f); posities[7] = new Point3f(2.4f, 0.5f, -14.0f); posities[8] = new Point3f(2.8f, 0.4f, -16.0f); posities[9] = new Point3f(3.2f, 0.0f, -18.0f); posities[10]= new Point3f(3.6f, -1.0f, -20.0f); RotPosPathInterpolator rotPosPath = new RotPosPathInterpolator(alpha, target, axisOfRotPos, knots, draaing, posities); rotPosPath.setSchedulingBounds(new BoundingSphere()); BranchGroup t_duif = new BranchGroup(); t_duif.setCapability(BranchGroup.ALLOW_DETACH); t_duif.addChild(rotPosPath); t_duif.addChild(target ); duifcontainer.addChild(t_duif); |
Beetje omslagtig maar er is dan een nieuwe duif.
Het rotige is alleen dat deze kleiduif begint met vliegen waar de vorige gestopt is.
Dat is dus niet erg realistich.
Weet iemand hoe ik de BranchGroup echt kan vernietigen zodat de nieuwe duif weer bij 0 begint.
Alvast bedankt.
ps mijn programma moest vanmiddag al af zijn
[ Voor 2% gewijzigd door .oisyn op 13-05-2003 17:16 ]