package fight3D; import framework.gameMain.Mode; import framework.physics.Velocity3D; public class StateUpperAttack extends StateOnce { static final Velocity3D initialVelocity = new Velocity3D(0.0, 0.0, 0.0); @Override public boolean canChange(State nextState, Mode mode) { if (nextState instanceof StateAttack) return false; if (nextState instanceof StateUpperAttack) return false; if (nextState instanceof StateJumpAttack) return false; if (nextState instanceof StateNormalLeft) return false; if (nextState instanceof StateNormalRight) return false; if(nextState instanceof StateFlinch) return true; if(nextState instanceof StateDamaged) return true; return false; } @Override public Velocity3D getInitialVelocity() { // ジャンプ開始直後は対空攻撃ができるので、その場合はジャンプを中断する(落下させる) return initialVelocity; } }