搜索
广场
工具/教程/素材
超评测活动结果
第29届极短篇游戏制作比赛
优秀游戏推荐
非官方运行时(20250730)
登录
RPGMaker工具集[20250416]
基础教程
授权素材推广
优秀原创游戏区
精品推荐贴
【RGD】DirectX驱动的RMVA
RGSS3 - runtime by Lanza
【RGM】RGModern - RMXP新runtime
【URGE】兼容 XP/VX/Ace 三系通用跨平台游戏引擎
Project1
»
广场
›
技术讨论
›
RPG Maker MZ 讨论区
›
把自己的变量挂在$gameParty下面可能会导致无法保存? ...
返回列表
发新帖
查看:
1893
|
回复:
4
[有事请教]
把自己的变量挂在$gameParty下面可能会导致无法保存?
[复制链接]
新耀012478
新耀012478
当前离线
赞
4
VIP
好人卡
积分
8
经验
最后登录
2022-11-25
在线时间
117 小时
写轮眼
梦石
0
星屑
848
在线时间
117 小时
注册时间
2018-4-7
回帖
93
发消息
发表于 2022-3-21 23:13:36
|
显示全部楼层
|
阅读模式
悬赏
200
星屑
未解决
本帖最后由 新耀012478 于 2022-3-22 12:58 编辑
【自己解决了】我怀疑可能是保存需要满足某种规则。
我也是在其它地方看到的,想保存数据直接把你的变量或者数组挂在$gameParty这些东西下面就行。
以为没问题我也就一直这么用了,直到今天出问题为止。
星屑浪费了呢……
另外,我用Object.defineProperty创建的get方法没有被保存。
我来回答
回复
使用道具
举报
提升卡
沉默号角
喧嚣号角
变色卡
升龙剑
新耀012478
新耀012478
当前离线
赞
4
VIP
好人卡
积分
8
经验
最后登录
2022-11-25
在线时间
117 小时
写轮眼
梦石
0
星屑
848
在线时间
117 小时
注册时间
2018-4-7
回帖
93
发消息
楼主
|
发表于 2022-3-22 11:54:59
|
显示全部楼层
我找到原因了,不确定是不是唯一的原因。
this.WarChessDisplayArea = new Array();
for (let i=0;i<this.MoveRange.length;i++){//啊,原来是你啊……
var x=new Game_WarChessDisplayArea();
x.show(MagicWarChess.AreaPicture,0,this.MoveRange[i][0],this.MoveRange[i][1],100,100,128,1);//其它合成方式会有重影。
var y=new Bitmap(48,48);
y.fillAll(MagicWarChess.MoveColor);
this.WarChessDisplayArea[i]=[];//不能直接那样等于。
this.WarChessDisplayArea[i][0]=y;
this.WarChessDisplayArea[i][1]=x;
};
这个地方,我保存的名字换了好几遍了,但就是无法存档。准确来说有问题的是最后三行。只要把最后三行删掉,那就能存档。
我想原因应该是写插件的时候的常用操作,将你想保存的数据挂在原来的东西下面,这样它就会帮你自动保存。
想来就是这个原因了,它这个可能是有着某种规则与限制的,因此我挂了它不支持的东西,所以才无法保存了。
点评
新耀012478
谁来回复一下吧,星屑给他了
发表于 2022-3-22 13:00
芯☆淡茹水
默认的图像类数据不能进行保存,比如 Window Sprite Bitmap .....。
发表于 2022-3-22 12:54
回复
使用道具
举报
新耀012478
新耀012478
当前离线
赞
4
VIP
好人卡
积分
8
经验
最后登录
2022-11-25
在线时间
117 小时
写轮眼
梦石
0
星屑
848
在线时间
117 小时
注册时间
2018-4-7
回帖
93
发消息
楼主
|
发表于 2022-3-22 12:32:39
|
显示全部楼层
本帖最后由 新耀012478 于 2022-3-22 12:50 编辑
准确来说,是保存Bitmap的部分出了问题。我把保存Bitmap所在的倒数第二行注释掉以后它就正常保存了。
现在修好了,不过问题没有解决……也就是说……我这个程序里至少有三个bug……而且每个bug都能导致无法存档……
第一个bug是昨天帖子的标题跟内容里说的,我又用了一个东西去等于SceneManager._scene._spriteset._tilemap,大概是这个意思。实际上我是Spriteset_Map.prototype.createLowerLayer里面,去等于了this._tilemap。
去掉了这个以后在不进战棋的情况下可以保存了。
第二个是二楼的这个,不能用数组保存Bitmap信息,否则就无法保存。
还有第三个,也是我昨天提到的,显示伤害数字,我用的那个代码哪里估计有问题,也会导致无法保存。
因为这个是我从别人的MV版本里直接复制过来的,我查了一下,是这么回事。它这个也是从MV的updateDamagePopup里复制过来的。
而MZ的updateDamagePopup与MV的不一样了。它那个跟MV完全一样。我把这个换成MZ版本的以后就可以存档了。
所以问题修复。
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册会员
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
浏览过的版块
RPG Maker MV 讨论区
Archiver
|
手机版
|
小黑屋
|
Project1游戏制作
Powered by
Discuz!
X5.0
© 2001-2026
Discuz! Team
.
在本版发帖
返回顶部
快速回复
返回顶部
返回列表