Hi,
I have a Problem with the Node.getControl method it does not set the AnimControl. What am I doing wrong? This is the code (Problem in Line 70):
package mygame;
import com.jme3.animation.AnimChannel;
import com.jme3.animation.AnimControl;
import com.jme3.app.SimpleApplication;
import com.jme3.light.PointLight;
import com.jme3.material.Material;
import com.jme3.math.ColorRGBA;
import com.jme3.math.Vector3f;
import com.jme3.renderer.Camera;
import com.jme3.renderer.RenderManager;
import com.jme3.scene.Geometry;
import com.jme3.scene.Node;
import com.jme3.scene.Spatial;
import com.jme3.scene.shape.Box;
import com.jme3.system.AppSettings;
import com.jme3.system.JmeCanvasContext;
import java.awt.Dimension;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Main extends SimpleApplication
{
AnimControl kontrolle;
AnimChannel kanal;
public static void main(String[] args)
{
java.awt.EventQueue.invokeLater(new Runnable()
{
@Override
public void run()
{
AppSettings settings = new AppSettings(true);
settings.setWidth(640);
settings.setHeight(480);
Main canvasApplication = new Main();
canvasApplication.setSettings(settings);
canvasApplication.createCanvas(); // create canvas!
JmeCanvasContext ctx = (JmeCanvasContext) canvasApplication.getContext();
ctx.setSystemListener(canvasApplication);
Dimension dim = new Dimension(640, 480);
ctx.getCanvas().setPreferredSize(dim);
JFrame window = new JFrame("Swing Application");
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton test = new JButton("Hallo");
test.setBounds(0, 0, 200, 50);
window.add(test);
window.add(ctx.getCanvas());
window.setSize(640, 480);
window.setVisible(true);
canvasApplication.startCanvas();
}
});
}
@Override
public void simpleInitApp()
{
flyCam.setDragToRotate(true);
Node testObjekt = (Node)assetManager.loadModel("Textures/testObjekt/testObjekt.j3o");
testObjekt.setLocalScale(1f);
kontrolle = testObjekt.getControl(AnimControl.class);
System.out.println(kontrolle);
kanal = kontrolle.createChannel();
//System.out.println(kanal.getAnimationName());
//kanal.setAnim("");
PointLight licht = new PointLight(new Vector3f(0.5f, 2, 1), new ColorRGBA(1, 1, 1, 1), 10);
rootNode.attachChild(testObjekt);
rootNode.addLight(licht);
}
@Override
public void simpleUpdate(float tpf)
{
//TODO: add update code
}
@Override
public void simpleRender(RenderManager rm)
{
//TODO: add render code
}
}