打开eclipse,选择创建一个maven工程。
<properties>
<jme3_v>3.5.1-stable</jme3_v>
</properties>
<dependencies>
<dependency>
<groupId>org.jmonkeyengine</groupId>
<artifactId>jme3-core</artifactId>
<version>${jme3_v}</version>
</dependency>
<dependency>
<groupId>org.jmonkeyengine</groupId>
<artifactId>jme3-desktop</artifactId>
<version>${jme3_v}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.jmonkeyengine</groupId>
<artifactId>jme3-lwjgl</artifactId>
<version>${jme3_v}</version>
</dependency>
<!--
<dependency>
<groupId>org.jmonkeyengine</groupId>
<artifactId>jme3-lwjgl3</artifactId>
<version>${jme3_v}</version>
</dependency>
-->
<dependency>
<groupId>org.jmonkeyengine</groupId>
<artifactId>jme3-effects</artifactId>
<version>${jme3_v}</version>
</dependency>
<dependency>
<groupId>org.jmonkeyengine</groupId>
<artifactId>jme3-networking</artifactId>
<version>${jme3_v}</version>
</dependency>
<dependency>
<groupId>org.jmonkeyengine</groupId>
<artifactId>jme3-plugins</artifactId>
<version>${jme3_v}</version>
</dependency>
<dependency>
<groupId>org.jmonkeyengine</groupId>
<artifactId>jme3-jogg</artifactId>
<version>${jme3_v}</version>
</dependency>
<dependency>
<groupId>org.jmonkeyengine</groupId>
<artifactId>jme3-terrain</artifactId>
<version>${jme3_v}</version>
</dependency>
<dependency>
<groupId>org.jmonkeyengine</groupId>
<artifactId>jme3-blender</artifactId>
<version>${jme3_v}</version>
</dependency>
<!--
<dependency>
<groupId>org.jmonkeyengine</groupId>
<artifactId>jme3-jbullet</artifactId>
<version>${jme3_v}</version>
</dependency>
-->
<dependency>
<groupId>org.jmonkeyengine</groupId>
<artifactId>jme3-bullet</artifactId>
<version>${jme3_v}</version>
</dependency>
<dependency>
<groupId>org.jmonkeyengine</groupId>
<artifactId>jme3-bullet-native </artifactId>
<version>${jme3_v}</version>
</dependency>
<dependency>
<groupId>org.jmonkeyengine</groupId>
<artifactId>jme3-niftygui</artifactId>
<version>${jme3_v}</version>
</dependency>
<dependency>
<groupId>org.jmonkeyengine</groupId>
<artifactId>jme3-jogl</artifactId>
<version>${jme3_v}</version>
</dependency>
</dependencies>
如果使用的是gradle构建项目的话(比如安卓),则如下:
repositories {
mavenCentral()
}
dependencies {
def jme3version = '3.5.1-stable'
implementation "org.jmonkeyengine:jme3-core:${jme3version}"
implementation "org.jmonkeyengine:jme3-effects:${jme3version}"
implementation "org.jmonkeyengine:jme3-networking:${jme3version}"
implementation "org.jmonkeyengine:jme3-plugins:${jme3version}"
implementation "org.jmonkeyengine:jme3-jogg:${jme3version}"
implementation "org.jmonkeyengine:jme3-terrain:${jme3version}"
implementation "org.jmonkeyengine:jme3-bullet:${jme3version}"
implementation "org.jmonkeyengine:jme3-bullet-native-android:${jme3version}"
implementation "org.jmonkeyengine:jme3-niftygui:${jme3version}"
implementation "org.jmonkeyengine:jme3-android:${jme3version}"
implementation "org.jmonkeyengine:jme3-android-native:${jme3version}"
}
写入如下代码运行:
import com.jme3.app.SimpleApplication;
import com.jme3.material.Material;
import com.jme3.math.ColorRGBA;
import com.jme3.scene.Geometry;
import com.jme3.scene.shape.Box;
public class HelloSimpleApplication extends SimpleApplication {
public static void main(String[] args){
HelloSimpleApplication app = new HelloSimpleApplication();
app.start(); //启动游戏
}
@Override
public void simpleInitApp() {
// 创建一个立方体
Box b = new Box(1, 1, 1);
// 根据形状创建立方体几何体
Geometry geom = new Geometry("Box", b);
// 创建一个材质(这个材质是JME3自带的)
Material mat = new Material(assetManager, "Common/MatDefs/Misc/Unshaded.j3md");
mat.setColor("Color", ColorRGBA.Blue); // 将材料的颜色设置为Blue
geom.setMaterial(mat); // 将立方体的材质设置为所创建的材质
rootNode.attachChild(geom); //将立方体挂载到rootNode中
}
}
在运行会弹出下面的框,需要设置一些启动参数:
SimpleApplication默认自带了一些操作:
在程序启动时设置BufferUtils.setTrackDirectMemoryEnabled(true),还可以查看通过底层分配的直接内存。
Android项目和Java项目有一点点区别,你没有办法从main方法启动程序,需要使用com.jme3.app.AndroidHarness这个类。让MainActivity继承AndroidHarness,然后在构造方法中将appClass的值改为我们刚才写的那个类,注意要写类的全名。
import com.jme3.app.AndroidHarness;
public class MainActivity extends AndrdoidHarness {
public MainActivity() {
this.appClass = "net.jmecn.HelloJME3";
}
}
如果你不希望jME3的画面占据整个Activity窗口,还可以使用com.jme3.app.AndroidHarnessFragment,这与AndroidHarness的使用并没有太大区别。
import com.jme3.app.AndroidHarnessFragment;
public class MyFragment extends AndroidHarnessFragment {
public MyFragment() {
this.appClass = "net.jmecn.HelloJME3";
}
}