赞 | 8 |
VIP | 0 |
好人卡 | 0 |
积分 | 14 |
经验 | 0 |
最后登录 | 2023-9-11 |
在线时间 | 140 小时 |
Lv3.寻梦者
- 梦石
- 0
- 星屑
- 1380
- 在线时间
- 140 小时
- 注册时间
- 2007-8-10
- 帖子
- 21
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 huhao1987 于 2020-4-28 10:10 编辑
大家好,我算是初来乍到了,虽然注册了很久,但几乎没发过贴.最近是玩过了某个游戏才开始研究RMMV的,因为本职是Android程序员,所以对和Android有关的东西都会有点敏感.研究了下目前各类把RMMV游戏打包成android格式的方法,主流的有两种方式(应该).
一种是使用github上的MV Android Client,基于Android studio,相对于原生,但是操作比较复杂,而且是基于他项目的复制粘贴,看起来运行没问题,但是实际上项目内很多东西修改起来很复杂,比如包名和一些代码.
另一种则是比较常见的傻瓜打包工具,这类工具简单方便,但是可塑性比较差,比如用的应该是比较久版的sdk之类的.
所以废话了这么多,终于该说正题了.我用了2天时间写了个依赖库,基于原生android,也就是必须要使用Android studio,但内部代码量非常少,可以使用最新sdk,可以自己加代码(如果你想学着写点Android代码给游戏加点料之类的),生成出来的apk完全是你自己的东西,包括包名,签名之类的.后面的版本会对本地存档的bug进行android端的修复(因为这个问题在目前版本的Android上其实是用纯JS实现不了的).后续还会加入对obb的支持,也就是可以上架Google Play(这个我知道对国内开发者可能意义不大).
项目介绍:https://github.com/huhao1987/RMMV-android-deployment/blob/master/README.zh_CN.md
有任何问题请留言,或者在github上开issues.
本项目提供了一个可以帮助RMMV游戏作者制作_安卓_版本游戏的依赖库,并且使用方便快捷.
本项目使用kotlin编写,所以代码比Java更易读和简便.
更新日志
添加Android本地存档支持(基于我编写的插件)
添加自定义存档目录
基本步骤
1. 首先你要下载最新Android Studio, 目前最新版是3.6.3.
2. 创建一个新项目或者打开一个已有的项目.
3. 在项目环境刷新完毕后,选择"build.gradle(Project:xxxx)" 在allproects里加入 "maven { url 'https://jitpack.io' }"
- allprojects {
- repositories {
- google()
- jcenter()
- maven { url 'https://jitpack.io' }
- }
- }
复制代码
4. 在 "build.gradle(Module:app)"中加入下面一行
- implementation 'com.github.huhao1987:RMMV-android-deployment:1.0.8'
复制代码
5. 选择 "manifests", 在"activity"标签内添加
- android:configChanges="orientation|screenSize"
- android:screenOrientation="sensorLandscape"
复制代码
此步骤可以保证游戏运行于横屏
如果你的游戏需要网络支持
5.1 请添加
- <uses-permission android:name="android.permission.INTERNET" />
- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
复制代码
5.2 在"application"标签内添加
- android:networkSecurityConfig="@xml/network_security_config"
复制代码
5.3 右键点击 "app"->"New"->"Android Resource Directory", 在Resource type里选择"xml". 右键点击 "xml"->"New"->"XML Resource file",命名为"network_security_config",然后复制以下代码
- <?xml version="1.0" encoding="utf-8"?>
- <network-security-config>
- <base-config cleartextTrafficPermitted="true" />
- </network-security-config>
复制代码
5.1 和 5.2设置可以让游戏有网络连接权限.5.2能保证连接到"http"和"https"都不被阻断
在项目的主activity的layout文件中加入下面的控件,默认主activity为MainActivity, 它的layout文件一般为activity_main.
- <hh.rpgmakerplayer.webviewmodule.rpgPlayerView
- android:id="@+id/rpgwebview"
- android:layout_width="match_parent"
- android:layout_height="match_parent" />
复制代码
如果你的项目里没有assets目录,右键点击 "app"-"New"->"Folder"->"Assets Folder",然后把你游戏的www文件夹复制进去.
在MainActivity的oncreate方法中加入下面几行
kotlin:
- rpgwebview.build()
- rpgwebview.Playgame("//android_asset/www/index.html")
复制代码
Java:
- rpgPlayerView rpgwebview=findViewById(R.id.rpgwebview)
- rpgwebview.build()
- rpgwebview.Playgame("//android_asset/www/index.html")
复制代码
在手机上编译并且运行你的游戏.
高级操作
除去基本步骤,你也可以使用一些其他属性
1)全屏游戏或者不全屏
- rpgwebview
- .isfullscreen(false/true)
- .build()
复制代码
2)使用你自己的evaluateJavascript运行游戏
- rpgwebview
- .setevaluateJavascript(xxxxxx)
- .build()
复制代码
3)Android 存档支持
由于Android系统的限制,RMMV无法将存档保存在Android本地,我写了个插件来支持。 用法很简单,首先使用本项目来创建你的Android游戏项目,从 这里下载hh_Android_save.js,然后在你的RMMV项目中开启这个插件。
记住修改之后更新你Android项目中的assets文件夹
之后当你测试和玩游戏的时候,游戏存档会被存储在app的内部存储中,如果你root过,可以在这个文件夹下找到游戏存档。
4) 自定义存档设置
添加自定义存档设置,本功能允许你把存档保存在设置的目录里,但是你必须自己获取android的写文件权限。
- rpgwebview.setupcustompath("your path")
- rpgwebview.build()
复制代码
5)更多新功能...敬请期待 |
评分
-
查看全部评分
|