rpgmakermv插件(1)screenfull.js与Fullscreen.js
本文分析游戏的全屏化处理。
引入:玩家在不同情景下可能会选择全屏游戏或窗口化游戏,所以作为开发者,应该在设置中加入全屏与否的选项。
两种插件: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的更多相关文章
- chrome插件background.js 和 popup.js 交互
要实现background.js 和 popup.js 之间的交互,首先需要先配置好 manifest.json文件,如: "background":{ //"page& ...
- 【干货】教你如何利用fullPage.js以及move.js插件打造高端大气的网站效果!
前言: 如今我们经常能见到全屏网站,尤其是国外网站.这些网站用几幅很大的图片或色块做背景,再添加一些简单的内容,显得格外的高端大气上档次. 在学习过jQuery插件之后,才发现之前的很多网站特效完全可 ...
- jQuery 自制上传头像插件-附带Demo实例(ajaxfileupload.js第三弹)
这篇文章主要是对前两篇关于ajaxfileupload.js插件的文章 <ASP.NET 使用ajaxfileupload.js插件出现上传较大文件失败的解决方法(ajaxfileupload. ...
- jQuery 关于ajaxfileupload.js插件的逐步解析(ajaxfileupload.js第二弹)
如果你看了上一篇<ASP.NET 使用ajaxfileupload.js插件出现上传较大文件失败的解决方法(ajaxfileupload.js第一弹)>的话,应该就知道我是逼不得已要认真学 ...
- 解决VSCode中使用vetur插件格式化vue文件时,js代码会自动加上冒号和分号
解决VSCode中使用vetur插件格式化vue文件时,js代码会自动加上冒号和分号 在设置中把"vetur.format.defaultFormatter.js": " ...
- js插件---图片懒加载echo.js结合 Amaze UI ScrollSpy 使用
js插件---图片懒加载echo.js结合 Amaze UI ScrollSpy 使用 一.总结 一句话总结:图片懒加载echo.js结合 Amaze UI ScrollSpy 使用的效果就是:懒加载 ...
- js插件---10个免费开源的JS音乐播放器插件
js插件---10个免费开源的JS音乐播放器插件 一.总结 一句话总结:各种插件都有很多,多去找. 二.js插件---10个免费开源的JS音乐播放器插件 亲测可用 音乐播放器在网页设计中有时候会用到, ...
- 简单的jquery进度条插件LineProgressbar.js,myProgress.js
参考 http://www.lanrenzhijia.com/jquery/4121.html demo下载 <script src="js/jquery.lineProgress ...
- 插件五之滚动条jquery.slimscroll.js
前言 slimscroll.js用于模拟传统的浏览器滚动条(竖向),原理为原内容内置于一个仅可视区域显示层,使用2个div层用于模拟滚动条和滚动条背景轨道监听滚动条div高度变化来控制内容层位置(猜测 ...
随机推荐
- XSS 跨站脚本攻击(Cross Site Scripting)
xss表示Cross Site Scripting(跨站脚本攻击),它与SQL注入攻击类似,SQL注入攻击中以SQL语句作为用户输入,从而达到查询/修改/删除数据的目的,而在xss攻击中,通过插入恶意 ...
- Nginx写IO占用高故障处理
文章来源:<https://www.centos.bz/2015/04/handle-nginx-write-io-problem/> 故障现象 突然收到一台服务器负载过高告警,紧接着网站 ...
- CF 672D Robin Hood(二分答案)
D. Robin Hood time limit per test 1 second memory limit per test 256 megabytes input standard input ...
- Linux应急处理操作手册
基础准备--命令防篡改与命令记录 很多黑客入侵到操作系统后,会做两个常见的操作unset history和替换命令文件(或者对应的链接库文件),针对这两点要做好记录shelllog并且检查链接库类文件 ...
- Web Service Client使用Microsoft WSE 2.0
我安装了WSE 2.0 SP3,Setup Type选择Runtime.如果想要让Visual Studio 2005以上版本集成WSE需稍费周折,默认集成Visual Studio 2005. 1. ...
- Modelsim SE 仿真 ALTERA FPGA IP
Modelsim SE 仿真 ALTERA FPGA IP 最近,有几个朋友问过我是不是有新版本的Modelsim altera,其原因是 Qii 升级为新版本的,但是没配套的modelsim,没办法 ...
- WIN7开启wifi热点
1.首先,先确定自己的笔记本网卡支持“启动承载网络”的功能,使用管理员运行cmd命令.启用管理员运行CMD的方法Windows-所有程序-附件-运行(右键,以管理员身份运行)在弹出的CMD窗口里面敲击 ...
- jenkins定时任务未生效解决
近期在配置jenkins定时任务时,发现未生效,并没有按时触发任务 解决思路: 1.先查看下我们的定时任务有没有选择正确,如下说明: Poll SCM:定时检查源码变更,如果有更新就checkout最 ...
- Root Motion的脚本处理
一.Apply RootMotion的作用 Apply RootMotion:控制角色在场景中动画的运动.角色动画驱动角色运动,类似于在游戏中直接使用动画,提高了动画的使用效率. Root Motio ...
- Spark ML包,数据挖掘示例数据Affairs
1.数据字段解释 affairs:一年来婚外情的频率 gender:性别 age:年龄 yearsmarried:婚龄 children:是否有小孩 religiousness:宗 ...