研究过程中搞出来的小玩具...
可以将Event的数据永久保存到全局, 和独立开关的使用方法一致
可以存储任意类型的数据
大概率也有其他类似的插件吧
理论上应该是MV/MZ通用
JAVASCRIPT 代码 - {
- class Game_SelfData extends Game_SelfSwitches {
- setValue(key, value) {
- this._data[key] = value;
- this.onChange();
- }
- value(key) {
- return this._data[key];
- }
- }
- window.Game_SelfData = Game_SelfData;
- }
- {
- const temp = DataManager.createGameObjects;
- DataManager.createGameObjects = () => {
- temp();
- $gameSelfData = new Game_SelfData();
- };
- }
- {
- const temp = DataManager.makeSaveContents;
- DataManager.makeSaveContents = () => {
- const contents = temp();
- contents.selfData = $gameSelfData;
- return contents;
- };
- }
- {
- const temp = DataManager.extractSaveContents;
- DataManager.extractSaveContents = (contents) => {
- console.log(contents.selfData);
- temp(contents);
- $gameSelfData = contents.selfData;
- };
- }
复制代码
使用方法, 在事件中插入脚本:
例子:记录数据
JAVASCRIPT 代码 - const event = $gameMap.event(this._eventId);
- const key = [this._mapId, this._eventId, 'pos'];
- $gameSelfData.setValue(key, [event.x, event.y, event.direction()]);
复制代码
例子:读取数据
JAVASCRIPT 代码 - const event = $gameMap.event(this._eventId);
- const key = [this._mapId, this._eventId, 'pos'];
- const [x, y, d] = $gameSelfData.value(key);
- event.setPosition(x, y)
- event.setDirection(d)
复制代码
本帖来自P1论坛作者沉滞的剑,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址: https://rpg.blue/forum.php?mod=viewthread&tid=484135 若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。 |