2009-04-27 156 views
1

我想在一個簡單的宇宙中隨機移動一個球體。我怎麼能通過改變位置的一小部分框架的行爲來實現這一點。我試圖這樣做的原因是在宇宙中產生隨機運動,並最終建立在粒子之間的簡單碰撞檢測中。Java3d行爲和運動

任何意見/鏈接會使用該骨架理解

+0

您是在尋找一種布朗運動或者選擇一個隨機的方向並且直線移動直到碰撞? – Ichorus 2009-04-28 18:00:38

回答

3

添加擴展行爲的新類:

public class XXXBehavior extends Behavior 
{ 
    private WakeupCondition wc = new WakeupOnElapsedTimer(1000); // 1000 ms 

    public void initialize() 
    { 
     wakeupOn(wc); 
    } 

    public void processStimulus(Enumeration criteria) 
    { 
     // Move the shape here 

     // prepare for the next update 
     wakeupOn(wc); 
    } 
} 

您以後需要將類實例並將其添加到場景圖。你還需要定義界限,否則什麼都不會發生!

xxxEffect = new XXXBehavior(); 
xxxEffect.setSchedulingBounds(bounds); 
sceneBG.addChild(xxxEffect);