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

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

首先需要对安卓中的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.pngmat1.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);}@Overridepublic void update(){super.update();//跟随帧率刷新}
}

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

运行后就是这样的
这样做个小游戏就是完全没问题的啦

JME3教程:Android创建一个简单的示例相关推荐

  1. java 应用分模块_在Java 11中创建一个简单的模块化应用教程

    模块化编程使人们能够将代码组织成独立的,有凝聚力的模块,这些模块可以组合在一起以实现所需的功能. 本文摘自Nick Samoylov和Mohamed Sanaulla撰写的一本名为Java 11 Co ...

  2. java qq ui界面_java swing 创建一个简单的QQ界面教程

    记录自己用java swing做的第一个简易界面. LoginAction.java package com.QQUI0819; import javax.swing.*; import java.a ...

  3. ROS2入门教程—创建一个简单的订阅者和发布者(C++版)

    ROS2入门教程-创建一个简单的订阅者和发布者(C++版) 1 创建功能包 2 创建发布者节点 3 设置发布者节点依赖项 4 设置发布者节点编译规则 5 创建订阅者 6 编译并运行   节点是通过RO ...

  4. C# 创建、部署和调用WebService的简单示例 webservice 可以用于分布式应用程序之间的交互,和不同程序之间的交互。 概念性的东西就不说太多,下面开始创建一个简单的webservi

    C# 创建.部署和调用WebService的简单示例 webservice 可以用于分布式应用程序之间的交互,和不同程序之间的交互. 概念性的东西就不说太多,下面开始创建一个简单的webservice ...

  5. Spring MVC:使用基于Java的配置创建一个简单的Controller

    这是我博客上与Spring MVC相关的第一篇文章. 开端总是令人兴奋的,因此我将尽量简洁明了. Spring MVC允许以最方便,直接和快速的方式创建Web应用程序. 开始使用这项技术意味着需要Sp ...

  6. Unity 2D游戏开发快速入门第1章创建一个简单的2D游戏

    Unity 2D游戏开发快速入门第1章创建一个简单的2D游戏 即使是现在,很多初学游戏开发的同学,在谈到Unity的时候,依然会认为Unity只能用于制作3D游戏的.实际上,Unity在2013年发布 ...

  7. jax-rs jax-ws_创建一个简单的JAX-RS MessageBodyWriter

    jax-rs jax-ws JAX-RS确实很棒,借助JAXB,只需添加带有JAXB批注的批注数据对象,即可为您转换许多响应数据类型. 我对JAXB相当陌生,但是一些简单的注释的剪切/粘贴操作将带给您 ...

  8. 创建一个简单的JAX-RS MessageBodyWriter

    JAX-RS确实很酷,借助JAXB,只需添加带有JAXB批注的批注数据对象,即可为您转换许多响应数据类型. 我对JAXB相当陌生,但是一些简单的注释剪切/粘贴操作将带给您很长的路要走. 出于无法从JA ...

  9. 【itext学习之路】--1.创建一个简单的pdf文档

    来源:https://blog.csdn.net/tomatocc/article/details/80666011 iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文 ...

最新文章

  1. python3 性能提升_整理下Python性能语法,非常有效的提高性能的tips
  2. [Leetcode] Binary Tree PosterOrder Travel
  3. 攻击 xxs_“吃鸡”又出现1招炸队友不受惩罚,xxs乐坏了,请别手误打载具
  4. 2021 腾讯技术十大热门文章
  5. 小学生计算机课堂实践的重要性,浅谈小学信息技术教育重要性.doc
  6. python 获取用户的一个输入值_Python中,用于获取用户输入的命令为:
  7. vs 中程序被锁定的问题
  8. Unity3D不同脚本函数或参数之间调用
  9. SAP Query创建教程
  10. 使用Git进行Vivado版本控制
  11. 小米手机访问电脑共享文件_小米手机如何与电脑共享文件
  12. 《REWORK》启示录一夜成名只是传说——创业一步步来
  13. layui单据打印_layui打印表格自定义函数
  14. 服务器怎么修改mac地址怎么办,服务器修改mac地址重启后会恢復原mac吗?
  15. Mastering Selections in Photoshop CC Photoshop CC选区教程 Lynda课程中文字幕
  16. linux系统硬盘坏道,linux系统下检测硬盘上的坏道和坏块
  17. 浅析校园微信公众号在新媒体潮流中的机遇与挑战
  18. sql函数PadLeft与PadRight代码实例
  19. JavaScript面试之闭包(详细总结)
  20. 麦肯锡7个步骤解决问题

热门文章

  1. linux环境pwd下ls,Linux基础命令2:cd、pwd、ls、stat、touch、alias
  2. 吉信通php 短信配置,吉信通:手机APP为什么要用短信验证?
  3. 怎么办?不到 20 人的 IT 公司我该去吗?
  4. 作图,用ECharts就够了
  5. 【C++】洛谷P1330 封锁阳光大学
  6. 产品概念之3/4:五层次理论 —— 消费者体验视角的产品概念
  7. Windows Shell编程-第十章.Winows辅助库
  8. Windows 消息大全
  9. 测控仪器专业权威期刊
  10. 步进电机c语言驱动原理,《步进电机【驱动电路+C语言驱动程序】》.doc