查看: 4126|回复: 4

[有事请教] 如何用脚本判断存档窗口是否打开

[复制链接]
梦石
0
星屑
4825
在线时间
766 小时
注册时间
2006-9-25
回帖
47
发表于 2021-3-26 15:00:38 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
需要在条件分歧里判断存档窗口是否打开,首次接触MZ,不晓得怎么写。有知道的吗?谢谢
dsdddsds
梦石
0
星屑
561
在线时间
87 小时
注册时间
2021-1-28
回帖
49
发表于 2021-3-29 21:19:53 | 显示全部楼层
在群里帮你问了一下
SceneManager._scene.constructor === Scene_Save
回复

使用道具 举报

梦石
0
星屑
4825
在线时间
766 小时
注册时间
2006-9-25
回帖
47
 楼主| 发表于 2021-3-30 12:16:58 | 显示全部楼层
谢谢帮忙,这个代码好像不行的,在控制台尝试了,一直返回false,无论存档页面是否打开。SceneManager._scene.constructor === Scene_Save
false。本来是想判断打开存档页面更换行走图的,发现那个更换行走图的代码也不行,控制台一直报错。$gameParty.members[3].setCharacterImage(people4, 2)
VM610:1 Uncaught TypeError: Cannot read property 'setCharacterImage' of undefined
    at <anonymous>:1:23
(anonymous) @ VM610:1。不知道哪里错了。。。。
dsdddsds
回复

使用道具 举报

梦石
0
星屑
561
在线时间
87 小时
注册时间
2021-1-28
回帖
49
发表于 2021-3-30 15:39:34 | 显示全部楼层
SceneManager._scene.constructor === Scene_Save这个我是在控制台试过的没问题啊
$gameParty.members[3]好像是$gameParty.members()[3]吧
我上班不能玩RM,等晚上回去再试试
回复

使用道具 举报

梦石
0
星屑
4825
在线时间
766 小时
注册时间
2006-9-25
回帖
47
 楼主| 发表于 2021-3-30 19:57:35 | 显示全部楼层
谢谢回答。新开工程测试可以的。发现是使用飞猫的那个存档插件后造成的。用这个的初衷是使用了八方向行走图,存档时显示的行走图不是一帧的,所以想在存档界面更换行走图。已经用其他办法解决了。分享给有需要的新手,高手勿喷。。。。。
Game_Party.prototype.charactersForSavefile = function() {
    return this.battleMembers().map(actor => [
        actor.characterName()+"save",//更改存档行走图名字
        actor.characterIndex()
    ]);
另外,发现修改这个地方也是一种方法。
Window_Base.prototype.drawCharacter = function(
    characterName, characterIndex, x, y
) {
    const bitmap = ImageManager.loadCharacter(characterName);
    const big = ImageManager.isBigCharacter(characterName);
    const pw = bitmap.width / (big ? 8 : 8);
    const ph = bitmap.height / (big ? 8 : 8);
    const n = big ? 0: characterIndex;
    const sx = ((n % 8) * 8 + 1) * pw;
    const sy = Math.floor(n / 8) * 8 * ph;
    this.contents.blt(bitmap, sx, sy, pw, ph, x - pw / 2, y - ph);
};
dsdddsds
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部