//Copyright (c) 2014, Jesús Martín Berlanga. All rights reserved. //Distributed under the BSD licence. Read "com/jme3/ai/license.txt". package steeringDemos.demos; import com.jme3.ai.agents.Agent; import com.jme3.ai.agents.behaviors.npc.SimpleMainBehavior; import com.jme3.ai.agents.behaviors.npc.steering.BoxExploreBehavior; import com.jme3.math.Vector3f; import steeringDemos.BasicDemo; import steeringDemos.control.CustomSteerControl; /** * AI Steer Demo - Box Explore * * @author Jesús Martín Berlanga * @version 2.0.0 */ public class BoxExploreDemo extends BasicDemo { public static void main(String[] args) { BoxExploreDemo app = new BoxExploreDemo(); app.start(); } @Override public void simpleInitApp() { this.steerControl = new CustomSteerControl(7, 5); this.steerControl.setCameraSettings(getCamera()); this.steerControl.setFlyCameraSettings(getFlyByCamera()); //defining rootNode for brainsAppState processing brainsAppState.setApp(this); brainsAppState.setGameControl(this.steerControl); Vector3f[] spawnArea = null; Agent target = this.createBoid("Target", this.targetColor, 0.11f); brainsAppState.addAgent(target); //Add the target to the brainsAppState brainsAppState.getGameControl().spawn(target, spawnArea); this.setStats(target, this.targetMoveSpeed, this.targetRotationSpeed, this.targetMass, this.targetMaxForce); this.addBoxHelper(Vector3f.ZERO, 2.5f, 2, 1.5f); SimpleMainBehavior targetMainBehavior = new SimpleMainBehavior(target); BoxExploreBehavior boxExplore = new BoxExploreBehavior(target, Vector3f.ZERO, 5, 3, 4, 0.75f); targetMainBehavior.addBehavior(boxExplore); target.setMainBehavior(targetMainBehavior); brainsAppState.start(); } @Override public void simpleUpdate(float tpf) { brainsAppState.update(tpf); } }