righto, flagrushtut…
private void buildPlayer() {
Node model = null;
try {
MaxToJme C1 = new MaxToJme();
ByteArrayOutputStream BO = new ByteArrayOutputStream();
URL maxFile = Lesson7.class.getClassLoader().getResource("jmetest/data/model/bike.3ds");
C1.convert(new BufferedInputStream(maxFile.openStream()),BO);
JmeBinaryReader jbr = new JmeBinaryReader();
jbr.setProperty("bound", "box");
model = jbr.loadBinaryFormat(new ByteArrayInputStream(BO.toByteArray()));
//scale it to be MUCH smaller than it is originally
model.setLocalScale(.0025f);
} catch (IOException e) {
e.printStackTrace();
}
//set the vehicles attributes (these numbers can be thought
//of as Unit/Second).
player = new Vehicle("Player Node", model);
player.setAcceleration(15);
player.setBraking(15);
player.setTurnSpeed(2.5f);
player.setWeight(25);
player.setMaxSpeed(25);
player.setMinSpeed(15);
player.setLocalTranslation(new Vector3f(100,0, 100));
scene.attachChild(player);
scene.updateGeometricState(0, true);
player.setRenderQueueMode(Renderer.QUEUE_OPAQUE);
}
my proggie...
private void setupChar() {
try {
ObjToJme converter = new ObjToJme();
ByteArrayOutputStream BO = new ByteArrayOutputStream();
URL objFile=Game.class.getClassLoader().getResource("cars/model/f.obj");
converter.convert(new BufferedInputStream(objFile.openStream()),BO);
JmeBinaryReader jbr = new JmeBinaryReader();
jbr.setProperty("bound", "box");
m_character = jbr.loadBinaryFormat(new ByteArrayInputStream(BO.toByteArray()));
m_character.setLocalScale(4.5f);
TextureState ts = display.getRenderer().createTextureState();
ts.setEnabled(true);
ts.setTexture(TextureManager.loadTexture(Gamecore.class.getClassLoader().getResource(
"jmetest/data/images/fin.jpg"),
Texture.MM_LINEAR,
Texture.FM_LINEAR));
m_character.setRenderState(ts);
}
catch (IOException e) {
e.printStackTrace();
}
player = new Vehicle("Player Node", m_character);
player.setAcceleration(15);
player.setBraking(15);
player.setTurnSpeed(2.5f);
player.setWeight(25);
player.setMaxSpeed(15);
player.setMinSpeed(5);
player.setLocalTranslation(new Vector3f(100,0, 100));
m_character.updateWorldBound();
rootNode.attachChild(m_character);
rootNode.attachChild(player);
player.updateWorldBound();
rootNode.updateGeometricState(0, true);
player.setRenderQueueMode(Renderer.QUEUE_OPAQUE);
}
Flagrush is Lesson7.java extends BaseGame. Mine extends SimpleGame.
the rest of the class is not the same, but for some reason, flagrush's code sample will take a model and put it into a vehicle object, and then load it into a InputHandler class, but mine will just load the object and put it into a vehicle object, but it will not load properly into the input handler. We both pass the following as input to the handler...
private void buildInput() {
input = new GameInputHandler(player, properties.getRenderer());
}
please can someone explain why they do not work the same? ive been at it since 11am this morning (its now 4pm) trying to work it out, and it still makes no sense.
thank you, i really am desperate!
mtm