I have my method that is called like this:
1 2 3 4 5 6 7 8 9 10 11 12 13
| ... initialize rotationinterpolator ... rotator1.setSchedulingBounds(bounds); RotTrans.addChild(rotator1); ... blah blah blah .... FTrans= new TransformGroup(); boxer=new TransformGroup[2]; boxer[0]=new TransformGroup(); boxer[1]=new TransformGroup(); .... initialize tgs as usual ... FTrans.addChild(boxer[0]); FTrans.addChild(boxer[1]);
FBehaviour ourFB=new FBehaviour( FTrans, RotTrans, oxer); |
So the FBehaviour begins like this:
1 2 3 4 5 6 7 8 9 10 11 12
| public FBehaviour(TransformGroup newTG, TransformGroup camTG, TransformGroup[] flurry) { ourTG=newTG; worldTG=camTG; fSet=flurry; WakeupCriterion criterionArray[] = new WakeupCriterion[3]; criterionArray[0] = new WakeupOnElapsedFrames( 20); criterionArray[1] = new WakeupOnTransformChange(ourTG); criterionArray[2] = new WakeupOnTransformChange(camTG); goat=new WakeupOr(criterionArray); } |
And when it is running, nothing happens. The only wakeup criterion that does anything is the WakeupOnElapsedFrames one- the other two are just sat there.
My guess is that it is because I have copied the TransformGroups and I have local non-live versions of them. How can I trigger my behaviour off the live version, or keep tabs on it's transform3D?