本文分析游戏的全屏化处理。

引入:玩家在不同情景下可能会选择全屏游戏或窗口化游戏,所以作为开发者,应该在设置中加入全屏与否的选项。

两种插件:screenfull.js与Fullscreen.js

1.screenfull

// MV 1.5.0 for Win7 - 32位

var _CmdName = '窗口模式';// 指令名称
var _CmdSymbol = 'fullScreen';// 指令标识
ConfigManager[_CmdSymbol] = false;//初始化指令状态 /*--- 启动自检 ---*/
var _SBS = Scene_Boot.prototype.start;
Scene_Boot.prototype.start = function() {
var value = ConfigManager[_CmdSymbol];
Graphics._changeScreen(value);
_SBS.call(this);
}; /*--- 选项处理 ---*/
Window_Options.prototype.makeCommandList = function() {
this.addGeneralOptions();
this.addCommand(_CmdName, _CmdSymbol);//<<<
this.addVolumeOptions();
}; /*--- 触发处理 ---*/
var _WOPOK = Window_Options.prototype.processOk;
Window_Options.prototype.processOk = function() {
_WOPOK.call(this);
var index = this.index();
var symbol = this.commandSymbol(index);
var value = this.getConfigValue(symbol);
if(symbol == _CmdSymbol){
Graphics._changeScreen(value);
}
};
/*--- 切屏处理---*/
Graphics._changeScreen = function(state) {
if (state) {
this._requestFullScreen();
} else {
this._cancelFullScreen();
}
}; /*--- 记录处理 ---*/
var _CMMD = ConfigManager.makeData;
ConfigManager.makeData = function() {
var config = _CMMD.call(this);
config[_CmdSymbol] = ConfigManager[_CmdSymbol];
return config;
}; var _CMAD = ConfigManager.applyData;
ConfigManager.applyData = function(config) {
_CMAD.call(this, config);
ConfigManager[_CmdSymbol] = this.readFlag(config, _CmdSymbol);
};

优:简单快捷,

缺点:进入游戏会发现游戏世界的宽高还是窗口化时的,两边会出现黑边。

2.Fullscreen

//=============================================================================
// Fullscreen.js
//============================================================================= /*:
* @plugindesc Starts the game in fullscreen
* @author Christian Schicho
*
* @help
*/ ;(function() {
function extend(obj, name, func) {
var orig = obj.prototype[name]
obj.prototype[name] = function() {
orig.call(this)
func.call(this)
}
} extend(Scene_Boot, 'start', function() {
Graphics._switchFullScreen();
}) var _Scene_Base_create = Scene_Base.prototype.create; Scene_Base.prototype.create = function() {
_Scene_Base_create.call(this);
Graphics.width = 1280;
Graphics.height = 720;
Graphics.boxHeight = 720;
Graphics.boxWidth = 1280;
}; })()

优:无论全屏还是窗口化,界面显示都是正常。

缺点:用户不可控

将两者结合起来,就是比较完美的解决方案了。

关于结合版,将在下文揭晓。

rpgmakermv插件(1)screenfull.js与Fullscreen.js的更多相关文章

  1. chrome插件background.js 和 popup.js 交互

    要实现background.js 和 popup.js 之间的交互,首先需要先配置好 manifest.json文件,如: "background":{ //"page& ...

  2. 【干货】教你如何利用fullPage.js以及move.js插件打造高端大气的网站效果!

    前言: 如今我们经常能见到全屏网站,尤其是国外网站.这些网站用几幅很大的图片或色块做背景,再添加一些简单的内容,显得格外的高端大气上档次. 在学习过jQuery插件之后,才发现之前的很多网站特效完全可 ...

  3. jQuery 自制上传头像插件-附带Demo实例(ajaxfileupload.js第三弹)

    这篇文章主要是对前两篇关于ajaxfileupload.js插件的文章 <ASP.NET 使用ajaxfileupload.js插件出现上传较大文件失败的解决方法(ajaxfileupload. ...

  4. jQuery 关于ajaxfileupload.js插件的逐步解析(ajaxfileupload.js第二弹)

    如果你看了上一篇<ASP.NET 使用ajaxfileupload.js插件出现上传较大文件失败的解决方法(ajaxfileupload.js第一弹)>的话,应该就知道我是逼不得已要认真学 ...

  5. 解决VSCode中使用vetur插件格式化vue文件时,js代码会自动加上冒号和分号

    解决VSCode中使用vetur插件格式化vue文件时,js代码会自动加上冒号和分号 在设置中把"vetur.format.defaultFormatter.js": " ...

  6. js插件---图片懒加载echo.js结合 Amaze UI ScrollSpy 使用

    js插件---图片懒加载echo.js结合 Amaze UI ScrollSpy 使用 一.总结 一句话总结:图片懒加载echo.js结合 Amaze UI ScrollSpy 使用的效果就是:懒加载 ...

  7. js插件---10个免费开源的JS音乐播放器插件

    js插件---10个免费开源的JS音乐播放器插件 一.总结 一句话总结:各种插件都有很多,多去找. 二.js插件---10个免费开源的JS音乐播放器插件 亲测可用 音乐播放器在网页设计中有时候会用到, ...

  8. 简单的jquery进度条插件LineProgressbar.js,myProgress.js

    参考   http://www.lanrenzhijia.com/jquery/4121.html demo下载 <script src="js/jquery.lineProgress ...

  9. 插件五之滚动条jquery.slimscroll.js

    前言 slimscroll.js用于模拟传统的浏览器滚动条(竖向),原理为原内容内置于一个仅可视区域显示层,使用2个div层用于模拟滚动条和滚动条背景轨道监听滚动条div高度变化来控制内容层位置(猜测 ...

随机推荐

  1. Amazon ec2 改成密码登录方式

    sudo passwd rootsu rootvi /etc/ssh/sshd_config"# PasswordAuthentication yes" uncommentsbin ...

  2. Java虚拟机六 堆溢出的处理

    在Java程序中,如果堆空间不足,有可能抛出内存溢出错误:Out Of Memory,简称OOM. Exception in thread "main" java.lang.Out ...

  3. thinkphp---设置路由

    在做一个项目,在项目完成之后,配置一下路由,让URL更容易美观. 下面是具体的配置: Common / Conf / config.php // 路由处理 'URL_HTML_SUFFIX'=> ...

  4. css 多行文字,超出部分隐藏,...代替

    css虽然简单,但其实也是记得常用的那些,不常用的还是要搜一搜再写

  5. PPTP客户端无法拨号778故障解决

    Win7客户端无法拨号提示778 CentOS服务器端 日志/var/log/messages提示一下错误信息 GRE: read(fd=6,buffer=611860,len=8196) from ...

  6. win7操作系统说明

    · 能够使用windows7操作系统成为了许多电脑用户的一大喜悦之事,相比之前的Vista系统,windows7系统真的是好看了,快了,好用了,但你是否担心自己的windows7系统就像新安装其他Wi ...

  7. deque Comparison of Queue and Deque methods Comparison of Stack and Deque methods

    1. 队列queue和双端队列deque的转换 Queue Method Equivalent Deque Methodadd(e) addLast(e)offer(e) offerLast(e)re ...

  8. KVM--安装及初步使用

    KVM是Kernel-based Virtual Machine的简称,是一个开源的虚拟化模块,今天我将在CentOS7的操作系统上安装KVM,以下是我的安装步骤. 一.环境信息 系统: CentOS ...

  9. Centos7网桥配置

    CentOS 的网桥虽然配置了很多次,不过总是记不住那几条,还是简单记录下,增加网桥可以通过brctl命令,但是为了简便快捷,直接生成配置文件即可 1.在/etc/sysconfig/network- ...

  10. Storyboard Reference

    在某些情况下.你开发的应用可能包括有各种各样的复杂界面,假设你使用Storyboard来管理这些界面,通常你会将这些界面依照对应的逻辑分成很多子模块,放在不同的storyboard里,比方注冊相关的放 ...