Package org.pollux3d.state

Source Code of org.pollux3d.state.ShipDemoMotionState

package org.pollux3d.state;

import org.pollux3d.map.Ship;
import org.pollux3d.motion.ShipDemoMotion;
import org.pollux3d.motion.ShipMotionTrack;

import com.jme3.animation.LoopMode;
import com.jme3.app.Application;
import com.jme3.app.state.AbstractAppState;
import com.jme3.app.state.AppStateManager;
import com.jme3.cinematic.events.MotionTrack;
import com.jme3.cinematic.events.MotionTrack.Direction;
import com.jme3.math.Quaternion;

public class ShipDemoMotionState extends AbstractAppState {
 
  private MotionTrack motionTrack;
  private ShipDemoMotion motionPath;
  private float timeLeft = -1;
 
  public void initialize(AppStateManager stateManager, Application app){
    super.initialize(stateManager, app);
   
  }
 
  public void startDemoMotion(Ship ship) {
    motionPath = new ShipDemoMotion();
    motionTrack = new ShipMotionTrack(ship, motionPath);
    //motionTrack.setDirectionType(Direction.Path);
    motionTrack.setDirectionType(Direction.PathAndRotation);
    motionTrack.setRotation(new Quaternion().fromAngles(0, 0, 0));
    motionTrack.setSpeed(0.5f);
    motionTrack.setLoopMode(LoopMode.Loop);
    motionTrack.pause();
    timeLeft = 10;
  }

  /* (non-Javadoc
   * @see com.jme3.app.state.AbstractAppState#update(float)
   */
  @Override
  public void update(float tpf) {
    if (timeLeft > 0) timeLeft -= tpf;
    if (timeLeft <= 0 && timeLeft != -1) {
      timeLeft = -1;
      motionTrack.play();
    }
  }
 
 
}
TOP

Related Classes of org.pollux3d.state.ShipDemoMotionState

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.