RMMV基于托管网站的游戏版本更新检测
楼主没发过什么帖子,也不知道该说些啥,就是基于github或者coding的游戏版本检查,首先是在这些网站上拥有自己的仓库,然后发布page页,新建一个关于版本的文件,然后在rmmv中用插件进行判断,详细说明在demo中有写,依赖jquery,有不懂的回复说明。
地址如下
插件地址:
https://ycxyi.github.io/plugs/Ycx_VersionCheck.js
插件预览,记得有位大大说 document会覆盖,有建议可以及时提,谢谢。
JAVASCRIPT 代码
- //=============================================================================
- // Ycx_VersionCheck.js
- //=============================================================================
- var Imported = Imported || {};
- Imported.Ycx_VersionCheck = true;
- var Ycx = Ycx || {};
- Ycx.CHECK = Ycx.CHECK || {};
- /*:
- * @plugindesc 基于代码托管网站的检测游戏版本插件 v1.0.0
- * @author ycx
- *
- * @param nowVersion
- * @desc 目前游戏版本
- * @default 1.0.0
- *
- *
- * @param urlText
- * @desc 检测版本的url地址
- * @default [url]http://ycxm.coding.me/jquery/version.txt[/url]
- *
- * @param showInTitle
- * @desc 菜单是否显示版本检查 false 不显示 true 显示
- * @default true
- *
- * @param showInTitleText
- * @desc showInTitle为true,即要显示的标题命令文字
- * @default 版本检测
- *
- *
- * @param urlOpen
- * @desc 有新版本则要打开的url地址
- * @default [url]http://ycxm.coding.me/jquery/version.rar[/url]
- *
- * @param startCheck
- * @desc 是否开始游戏就检查版本 false 不检查 true 检查
- * @default true
- *
- *
- * @help
- * ================================================================
- * 检测游戏版本
- * ================================================================
- * 依赖项:需要导入Jquery.js
- *
- * nowVersion:当前游戏版本。
- *
- * urlText:检测版本的url地址,代码托管网站的文件地址,得到的是版本号,不要写其他的。
- *
- * showInTitle:是否在标题显示版本检查这一项。 false 不显示 true 显示
- *
- * showInTitleText:showInTitle为true时,即要显示的标题命令文字。
- *
- * urlOpen:检测到有新版本则要打开的url地址,可打开官网之类。
- *
- * startCheck:是否开始游戏就检查版本。 false 不检查 true 检查
- *
- * 插件命令:“命令 内容” 形式,示例如下:
- * 1. checkversion [url]http://ycxm.coding.me/jquery/version.txt[/url] 检测游戏版本
- *
- * 2. openurl [url]https://www.baidu.com[/url] 打开网址,可打开游戏官网等。
- *
- * 最后qq:1359762297
- * ycx插件库:[url]https://github.com/ycxYI/plugs[/url](待更新)
- *
- */
-
- Ycx.parameters = PluginManager.parameters('Ycx_VersionCheck');
- Ycx.nowVersion = String(Ycx.parameters['nowVersion'] || '1.0.0');
- Ycx.urlText = String(Ycx.parameters['urlText'] || 'http://ycxm.coding.me/jquery/version.txt');
- Ycx.showInTitle = String(Ycx.parameters['showInTitle'] || 'true');
- Ycx.showInTitleText = String(Ycx.parameters['showInTitleText'] || '版本检测');
- Ycx.urlOpen = String(Ycx.parameters['urlOpen'] || 'http://ycxm.coding.me/jquery/version.rar');
- Ycx.startCheck = String(Ycx.parameters['startCheck'] || 'true');
- //=============================================================================
- // SceneManager
- //=============================================================================
- SceneManager.openPopupBlockerMessage = function(){
- this._scene.openPopupBlockerMessage();
- };
- //=============================================================================
- // Game_Interpreter
- //=============================================================================
- Ycx.CHECK.Game_Interpreter_pluginCommand =
- Game_Interpreter.prototype.pluginCommand;
- Game_Interpreter.prototype.pluginCommand = function(command, args){
- Ycx.CHECK.Game_Interpreter_pluginCommand.call(this, command, args)
- if(command === 'checkversion')this.checkVersion(args);
- if(command === 'openurl')this.openurl(args);
- };
- Game_Interpreter.prototype.checkVersion = function(args){
- TouchInput.clear();
- Input.clear();
- var url = String(args[0]);
- $(document).load(url, function(responseText, textStatus){
- if(Ycx.nowVersion == responseText){
- alert("已经是最新版本!");
- }else{
- if(confirm("存在最新版本是否更新?")){
- var win = window.open(url);
- if(win){
- win.focus();
- }else{
- SceneManager.openPopupBlockerMessage();
- }
- }
- }
- });
- };
- Game_Interpreter.prototype.openurl = function(args){
- TouchInput.clear();
- Input.clear();
- var url = String(args[0]);
- var win = window.open(url);
- if(win){
- win.focus();
- }else{
- SceneManager.openPopupBlockerMessage();
- }
- };
- //-----------------------------------------------------------------------------
- //开始检测
- //-----------------------------------------------------------------------------
- if(Ycx.startCheck == "true"){
- $(document).load(Ycx.urlText, function(responseText, textStatus){
- if(Ycx.nowVersion == responseText){
- alert("已经是最新版本!");
- }else{
- if(confirm("存在最新版本是否更新?")){
- var win = window.open(Ycx.urlOpen);
- if(win){
- win.focus();
- }else{
- SceneManager.openPopupBlockerMessage();
- }
- }
- }
- });
- }
- //-----------------------------------------------------------------------------
- // Scene_Title
- //-----------------------------------------------------------------------------
- Scene_Title.prototype.createCommandWindow = function(){
- this._commandWindow = new Window_TitleCommand();
- this._commandWindow.setHandler('newGame', this.commandNewGame.bind(this));
- this._commandWindow.setHandler('continue', this.commandContinue.bind(this));
- this._commandWindow.setHandler('options', this.commandOptions.bind(this));
- if(Ycx.showInTitle == "true"){
- this._commandWindow.setHandler('Check', this.versionCheck.bind(this));
- }
- this.addWindow(this._commandWindow);
- };
- Scene_Title.prototype.versionCheck = function(){
- this._commandWindow.close();
- $(document).load(Ycx.urlText, function(responseText, textStatus){
- if(Ycx.nowVersion == responseText){
- alert("已经是最新版本!");
- }else{
- if(confirm("存在最新版本是否更新?")){
- var win = window.open(Ycx.urlOpen);
- if(win){
- win.focus();
- }else{
- SceneManager.openPopupBlockerMessage();
- }
- }
- }
- });
- SceneManager.goto(Scene_Title);
- };
- //-----------------------------------------------------------------------------
- // Window_TitleCommand
- //-----------------------------------------------------------------------------
- Window_TitleCommand.prototype.makeCommandList = function(){
- this.addCommand(TextManager.newGame, 'newGame');
- this.addCommand(TextManager.continue_, 'continue', this.isContinueEnabled());
- this.addCommand(TextManager.options, 'options');
- if(Ycx.showInTitle == "true"){
- this.addCommand(Ycx.showInTitleText, 'Check');
- }
- };
复制代码
本帖来自P1论坛作者易大师,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:
https://rpg.blue/forum.php?mod=viewthread&tid=398017 若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。