RPG Maker MV 踩坑七 仿新仙剑存档菜单
仿新仙剑存档菜单
- 遇到的坑
- 坑一 图片保存
- 坑二 图片绘制
- 坑三 多图绘制
遇到的坑
新仙剑中存档和读档可以看做是同一个菜单中的不同操作,共计100个存档方便玩家使用。
每个存档可分解为两种显示:一种是无存档信息的,只用显示底图和序号即可;一种是有存档信息的,会变换底图,并且绘制出人物所在场景地图,地图名称,队伍中人物头像,第一个人物的等级,队伍所拥有的金钱和游戏时间这些信息。
而在JS代码中处理这些有时并不简单。
坑一 图片保存
众所周知RPGMakerMV是一个使用HTML5和JavaScript为开发及运行平台的,这就意味着对应游戏是运行在这上面的。
在开发中遇到的第一个坑就是图片的保存,在原始的js和html中正常是可以存储图片的,从网页中右键保存即可,一般这图片是从img标签中得到的,在h5中canvas里面有一个图片转换base64的方法(网上浏览了很久,才找到),这个方法对我来说就可以使用,因为RMMV中Bitmap中是没有对应方法的,因此只能用原生方式。
但Bitmap中截取出来的图片由于存储数据的问题及优先修改大小的问题,因此需要调整图片的大小,但使用后发现Bitmap的方法调整后,图片变成黑片了,不知道为什么canvas的宽高被变更后会变成这样。得另外想办法了!最后一整折腾后才想到可以放进另一个Bitmap对象中处理。
var mapBitmap = new Bitmap(80,60);mapBitmap.blt(SceneManager.backgroundBitmap(),0,0,640,480,0,0,80,60);info.mapSprite =mapBitmap.canvas.toDataURL();
这边先创建了一个固定宽高的位图对象,然后通过blt方法将截图对象放入进去,设定其在内容为空的对象中的宽高即可,然后在新的对象中的canvas中使用图片转base64的方法,这样需要的图片截取出来存储为字符串了。
坑二 图片绘制
这个坑是对应的,可以存储后,那自然得进行使用,进行绘制但如何加载呢?浏览器是可以直接加载base64的图片的,img标签也可以。通过不断地查找有用的信息和不断折腾后终于。
if (info.mapSprite) {var mapImg=Bitmap.load(info.mapSprite);if(!mapImg.isReady()){setTimeout(()=>{this.contents.blt(mapImg,0,0,80,60,x+37,y+14);},1);}else{this.contents.blt(mapImg,0,0,80,60,x+37,y+14);}}
Bitmap的加载方法正好可以使用,load方法中地址和base64都会被放入img对象中,在通过canvas的上下文对象进行加载进入canvas中,为什么不说是绘制呢,虽然是有绘制的方法,但总觉得不是那么简单的进行绘制。再确定位图对象是否绘制出来后,放入到指定的矩形框中。
坑三 多图绘制
需求是没有选中的绘制,选中的不绘制,使用了各种方法都不行,现在只能使用笨办法了!!!
this._windowCursorSprite.bitmap.clear();for (var i = 0; i < 100; i++) {if(i==this.index()){continue;}else{var rect = this.itemRectForText(i);//项目矩形文本this._windowCursorSprite.bitmap.blt(this.saveAndLoaded, 0, 0*96, 400, 96, rect.x, rect.y,400,95);}}
在光标更新中每次绘制时,清理掉之前的内容,然后在进行绘制,每次绘制99个内容,这样选中的就不会再绘制,未选中的就进行绘制了!
大家要是有好的方法也可以评论,探讨哦!
RPG Maker MV 踩坑七 仿新仙剑存档菜单相关推荐
- RPG Maker MV 踩坑一 新仙剑菜单
RMMV中菜单UI修改出现的错误 RMMV--灵儿续传 鬼畜主菜单 多菜单选中问题 其他问题 学习的教程 最终结果 接下来的要踩的坑 RMMV--灵儿续传 本人计划进入游戏行业的萌新,以前玩过新仙剑- ...
- RPG Maker MV 踩坑二 新仙剑子菜单
主菜单的鬼畜错误 主菜单遇到的问题 原始正常效果 显示的辅助菜单 鬼畜的二级菜单 错误代码部分 修改后的完整代码 最终结果 下一步 主菜单遇到的问题 大家好啊!本计划进行的主菜单人物菜单和金钱菜单的绘 ...
- RPG Maker MV 打包安卓和修改分辨率的方法
最近要处理RPGMV游戏的安卓打包过程,发现打包完了在手机上运行,两边总有黑边,后来发现是分辨率有问题,需要修改. 具体打包方法见B站视频: https://www.bilibili.com/vide ...
- RPG Maker mv框架代码解析之窗口图片显示
文章目录 1 窗口基类的图片描画接口 1.1 Face描画接口 1.2 Icon描画接口 2 描画自定义图片 1 窗口基类的图片描画接口 RPG Maker mv框架中的窗口基类(Window_Bas ...
- RPG Maker MV游戏解包
该文章最新版本请前往:https://www.crowsong.xyz/127.html 前言 使用Petschko's RPG-Maker-MV File-Decrypter进行解包 使用Petsc ...
- 【RPG Maker MV】使用技巧1:用自己绘制的图片当做地图
因为RPG Maker MV本身提供的地图素材可能无法满足需求,比如我想绘制一个大型的建筑物,图形如下: 这是,我们要怎么处理呢? 这时,我们可以用RPG Maker 提供的远景图来完成这一效果.具体 ...
- 【RPG Maker MV】RPG游戏《机器人养成记》制作笔记 - RPG Maker MV 界面介绍
上一节,我们已经完成了软件的安装和项目的创建,并成功的运行了游戏. 这一节我们将介绍RGP Maker MV的界面元素和基本的使用方法,让大家对软件有个基本的了解. 我们先回到软件的主界面,界面分成工 ...
- 试图速成的RPG Maker MV 学习笔记(一)
参考学习的是B站UP主硕明云书的教程:[MV❀RPG制作大师]萌新基础速成教学全集_哔哩哔哩_bilianwa 首先安装完RPG Maker MV,然后熟悉一下软件界面,各个图标和工具都有什么作用. ...
- 记一次完整的RPG Maker MV游戏逆向系列第四篇
前言 阅读本篇前请先看之前的几篇分析噢,不然可能会缺失一些前置知识 这篇还是讲 RPG Maker MV 的游戏分析,主要是如何分析一种通过 GameusQuestSystems.js 的加密手段 工 ...
- RPG Maker mv框架代码解析之窗口文字显示
目录 窗口文字显示 字体的颜色 通常色 系统色 危机色 死亡色 计量器背景色 血量计量器色1 血量计量器色2 魔法计量器色1 魔法计量器色2 魔法消耗色 力量上升色 力量下降色 技能值计量器色1 技能 ...
最新文章
- 读书笔记-内存初始化和清理
- linux配置tomcat内存配置文件,Linux与Windows下tomcat内存设置
- Android 自定义组件随着手指自动画圆
- 8086架构/流水线及其优化
- 中添加2000坐标系_ArcGIS API for JavaScript 4.16在三维场景中以天地图为底图加载2000坐标系的倾斜摄影数据...
- 计算机房用还原保护软件,“小哨兵”还原卡v9.1在机房的巧妙应用
- pyton人值得拥有
- 小米笔记本air13-3安装黑苹果macOS
- 抖音下载小助手GUI版
- DM6437 OSD调试记录
- Chrome扩展开发总结之浏览器书签获取
- 微信wifi认证的实现方式和功能——时讯wifi认证
- 我们向印度人学习什么?
- 在指定数据的前面加“0“
- 智能指纹门锁芯片方案技术开发
- android spinner,自定义字体大小颜色背景位置
- 固定电话号码正则表达式(支持手机号码,3-4位区号,7-8位直播号码,1-4位分机号)
- 英国w l 是什么码数_英国广播公司的完整形式是什么?
- OWASP 安全编码规范 快速参考指南
- 兄弟打印机Linux驱动安装与CUPS共享