JME3教程:Android创建一个简单的示例

作者:忆逝丷
不得转载!不得转载!不得转载!

找遍全网都没有一个安卓的教程,我研究了好几天,终于研究出来了,分享一下给大家。

首先需要对安卓中的view,assets,libso存放位置有一定的了解。

使用AIDE编译,纯Java教程

首先就是下载JME3引擎,百度搜官网跳转到github下载,下载后把jme3-core.jar,jme3-android.jar,jme3-android-native.jar放到工程里即可

AIDE无法直接编译jme3-android.jar,问题就在JmeSurfaceView.class,这里我自己用源码重新编译了一个,放工程里即可(内含源码,编译冲突时需要删除源码):https://pan.baidu.com/s/1ouK6vDIUHcotdcDG43ulyA?pwd=6j1d
提取码:6j1d

额外需要lifecycle-common-2.3.1.jar否则运行报错没有找到里面的类:https://pan.baidu.com/s/1yC5sc5uv8mrOPAzXH9ukGg?pwd=647r
提取码:647r

创建一个工程,在onCreate里写上

JmeSurfaceView jsv=new JmeSurfaceView(this);
//下面讲解JME
JME jme=new JME();
jsv.setLegacyApplication(jme);
setContentView(jsv);
jsv.startRenderer(0);
//关闭加速度传感器,默认开启,手机不放平摄像机会旋转
AndroidJoyInput.disableSensors=true;

JmeSurfaceView继承RelativeLayout,直接用View写2D操作界面是可以的

是不是很简单,是不是瞬间对做手游有了希望

JME这个类就可以对接网上的教程了,创建一个JME.java继承SimpleApplication

public class JME extends SimpleApplication
{
    Spatial starship;
    public void simpleInitApp() 
    {
        //加载一个材质属性,这个使用默认的就行了,在jme3-core.jar里的Common文件夹。
        //在安卓上,资源寻址默认从assets里查找,所以需要单独解压放assets里,或者在jar里加上这个assets文件夹
		Material mat1 = new Material(assetManager,"Common/MatDefs/Misc/Unshaded.j3md");
		//loadTexture加载贴图,路径相当于assets/mob_skinSmall.png
		mat1.setTexture("ColorMap", assetManager.loadTexture("mob_skinSmall.png"));
        //加载模型,路径相当于assets/model_starship.j3o
        //可以直接加载obj,不过会自动转换,这个模型直接加载需要10多秒
        //电脑下载jMonkeyBuilder把obj转换成j3o,加载一瞬间就完成
        starship=assetManager.loadModel("model_starship.j3o");
		//缩放很好理解
		starship.setLocalScale(0.05f,0.05f,0.05f);
		//平移
		starship.setLocalTranslation(0,0,1.5f);
		//旋转90°,需要转换成弧度制,其实就是矩阵变换的底层原理
		starship.setLocalRotation(starship.getLocalRotation().fromAngles(0,(float)Math.toRadians(90),0));
		//设置材质
		starship.setMaterial(mat1);
		//添加到场景
        rootNode.attachChild(starship);
    }
    @Override
    public void update()
    {
        super.update();
        //跟随帧率刷新
    }
}

jMonkeyBuilder官网跳转到国内打不开的网址,这里给个分流:https://pan.baidu.com/s/1QfKYFZ9PCRVGcmVGV1nm0w?pwd=u1ng
提取码:u1ng

运行后就是这样的在这里插入图片描述
这样做个小游戏就是完全没问题的啦

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
com.jme3.animation com.jme3.app com.jme3.app.state com.jme3.asset com.jme3.asset.pack com.jme3.asset.plugins com.jme3.audio com.jme3.audio.joal com.jme3.audio.lwjgl com.jme3.audio.plugins com.jme3.bounding com.jme3.bullet com.jme3.bullet.collision com.jme3.bullet.collision.shapes com.jme3.bullet.control com.jme3.bullet.joints com.jme3.bullet.joints.motors com.jme3.bullet.nodes com.jme3.bullet.nodes.infos com.jme3.bullet.util com.jme3.collision com.jme3.collision.bih com.jme3.effect com.jme3.export com.jme3.export.binary com.jme3.export.xml com.jme3.font com.jme3.font.plugins com.jme3.input com.jme3.input.awt com.jme3.input.binding com.jme3.input.dummy com.jme3.input.event com.jme3.input.lwjgl com.jme3.light com.jme3.material com.jme3.material.plugins com.jme3.math com.jme3.niftygui com.jme3.post com.jme3.renderer com.jme3.renderer.jogl com.jme3.renderer.layer com.jme3.renderer.lwjgl com.jme3.renderer.queue com.jme3.scene com.jme3.scene.control com.jme3.scene.debug com.jme3.scene.mesh com.jme3.scene.plugins com.jme3.scene.plugins.ogre com.jme3.scene.shape com.jme3.shader com.jme3.shader.plugins com.jme3.shadow com.jme3.system com.jme3.system.jogl com.jme3.system.lwjgl com.jme3.terrain com.jme3.texture com.jme3.texture.plugins com.jme3.ui com.jme3.util com.jme3.util.xml com.jme3.video com.jme3.video.plugins.jheora jme3game.cubefield jme3test jme3test.app jme3test.asset jme3test.audio jme3test.awt jme3test.bounding jme3test.bullet jme3test.collision jme3test.conversion jme3test.effect jme3test.export jme3test.gui jme3test.light jme3test.material jme3test.math jme3test.model jme3test.model.anim jme3test.model.shape jme3test.niftygui jme3test.post jme3test.scene jme3test.stress jme3test.texture jme3tools.converters jme3tools.converters.model jme3tools.converters.model.strip jme3tools.nvtex jme3tools.optimize jme3tools.preview

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值