📄 main.java.svn-base
字号:
/*
* Main.java
*
* Created on 5. Dezember 2006, 20:53
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package kanjitori;
import bsh.This;
import com.jme.app.SimpleGame;
import com.jme.system.PropertiesIO;
import kanjitori.action.EgoHandler;
import kanjitori.lesson.Entry;
import kanjitori.lesson.ExtensionLessonLoader;
import kanjitori.lesson.Lesson;
import kanjitori.lesson.LessonLoader;
import kanjitori.lesson.XmlLessonLoader;
import kanjitori.graphics.hud.DefaultHud;
import kanjitori.map.ExtensionMapLoader;
import kanjitori.map.Map;
import kanjitori.map.MapLoader;
import kanjitori.map.XmlMapSaver;
import kanjitori.preferences.GamePreferences;
import kanjitori.preferences.VideoSettings;
import kanjitori.util.SoundManager;
import org.lwjgl.opengl.Display;
/**
*
* @author Pirx
*/
public class Main extends SimpleGame {
private Level level;
private Lesson lesson;
private Map map;
private GamePreferences prefs;
private static Main INSTANCE;
public Main(String dataFile, String mapName) {
INSTANCE = this;
LessonLoader lp = ExtensionLessonLoader.getLessonLoader();
lesson = lp.load("lesson/" + dataFile);
MapLoader loader = ExtensionMapLoader.getMapLoader();
map = loader.load("map/" + mapName);
prefs = new GamePreferences();
prefs.setDefaults();
com.jme.util.LoggingSystem.getLoggingSystem().setLevel(java.util.logging.Level.SEVERE);
}
public Main(Lesson lesson, Map map, GamePreferences prefs) {
INSTANCE = this;
this.lesson = lesson;
this.map = map;
this.prefs = prefs;
com.jme.util.LoggingSystem.getLoggingSystem().setLevel(java.util.logging.Level.SEVERE);
}
public static void main(String[] args) {
if (args.length != 2) {
System.out.println("Usage: Main dataFile.xml level.bsh");
System.exit(0);
}
Main app = new Main(args[0], args[1]);
//app.setDialogBehaviour(SimpleGame.ALWAYS_SHOW_PROPS_DIALOG,"data/kanjitori1.png");
app.start();
}
protected void getAttributes() {
properties = new PropertiesIO("properties.cfg");
prefs.getVideoSettings().overwrite(properties);
}
protected void simpleInitGame() {
SoundManager.getManager().setOn(true);
display.getRenderer().getQueue().setTwoPassTransparency(false);
lightState.setSeparateSpecular(true);
new DefaultHud(rootNode);
level = new Level(map, lesson, rootNode);
input = new EgoHandler(prefs.getKeyMap());
}
protected void simpleUpdate() {
SoundManager.getManager().update(tpf);
super.simpleUpdate();
}
public void simpleRender() {
SoundManager.getManager().draw();
super.simpleRender();
}
//private Skybox sb;
/*private DebugGameState gameState;
private CameraNode cameraNode;
public Main() {
StandardGame game = new StandardGame("Game", StandardGame.GameType.GRAPHICAL);
game.getSettings().setWidth(1280);
game.getSettings().setHeight(1024);
game.getSettings().setDepth(32);
game.getSettings().setFullscreen(true);
game.start();
gameState = new DebugGameState();
GameStateManager.getInstance().attachChild(gameState);
//cameraNode = new CameraNode("camera", DisplaySystem.getDisplaySystem().getRenderer().getCamera());
//cameraNode.setLocalTranslation(new Vector3f(0,0,-10));
//gameState.getRootNode().attachChild(cameraNode);
//initLight();
//initSkybox();
//Box box = new Box("TestBox", new Vector3f(), 1.0f, 1.0f, 1.0f);
//box.setRandomColors();
//box.updateRenderState();
//gameState.getRootNode().attachChild(box);
initGame();
gameState.setActive(true);
}
private void initLight() {
PointLight light = new PointLight();
light.setDiffuse(new ColorRGBA(1.0f, 1.0f, 1.0f, 1.0f));
light.setAmbient(new ColorRGBA(0.5f, 0.5f, 0.5f, 1.0f));
light.setLocation(new Vector3f(100, 100, 100));
light.setEnabled(true);
LightState lightState = DisplaySystem.getDisplaySystem().getRenderer().createLightState();
lightState.setEnabled(true);
lightState.attach(light);
gameState.getRootNode().setRenderState(lightState);
gameState.getRootNode().updateRenderState();
}
private void initGame() {
DisplaySystem.getDisplaySystem().setTitle("KanjiAteoni");
//gameState.getRootNode().setCullMode(SceneElement.CULL_NEVER);
//gameState.getRootNode().updateRenderState();
Map map = new BshMapLoader().getMap("level/testMap.bsh");
LessonLoader data = new XmlLessonLoader("level/JLPT4_de.xml");
Level level = new Level(map, data, gameState.getRootNode());
}
private void initSkybox() {
sb = new Skybox("skybox", 200, 200, 200);
String[] sbData = {"ft","bk","lf","rt","up","dn"};
for (int i = 0; i < 6; i++) {
Texture tex = TextureManager.loadTexture(
"data/sky_" + sbData[i] + ".png", Texture.MM_LINEAR, Texture.FM_LINEAR, Image.GUESS_FORMAT_NO_S3TC, 1, true);
sb.setTexture(i, tex);
}
MaterialState material = DisplaySystem.getDisplaySystem().getRenderer().createMaterialState();
material.setEmissive(new ColorRGBA(0.5f, 0.5f, 0.5f, 1));
sb.setRenderState(material);
sb.updateRenderState();
gameState.getRootNode().attachChild(sb);
//cameraNode.attachChild(sb);
}
public static void main(String[] args) {
Main app = new Main();
com.jme.util.LoggingSystem.getLoggingSystem().setLevel(java.util.logging.Level.SEVERE);
//app.setDialogBehaviour(SimpleGame.ALWAYS_SHOW_PROPS_DIALOG,"data/screenshot.png");
//app.start();
}*/
public static Main getMain() {
return INSTANCE;
}
public void win() {
this.quit();
}
public void die() {
this.quit();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -