设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2323|回复: 7
打印 上一主题 下一主题

[有事请教] 求助如何让事件的位置永久的改变

[复制链接]

Lv4.逐梦者

梦石
0
星屑
5616
在线时间
176 小时
注册时间
2011-6-3
帖子
32
1
发表于 2021-8-19 17:22:07 | 显示全部楼层
本帖最后由 lqi991 于 2021-10-1 03:36 编辑

两段代码,保存,和刷新位置
1.需要在两段代码注释下设置一个变量ID,和设置需要保存的事件ID
  (注:限一个地图,如果需要多地图保存再说吧)
2.为方便执行代码,可以写在公共事件,一个保存,一个刷新
3.创建一个事件,触发条件:并行处理,调用刷新事件位置代码,然后在底下暂时删除事件,这样地图切换回来就读取位置
保存事件位置:
  1. // 需要一个变量保存,输入ID
  2. let id = 1;
  3. // 需要保存的事件如 1,3,4
  4. // 输入: [1,3,4]
  5. // (注意 , 号,是英文符号)
  6. let sz = [];
  7. (function () {if (!$gameVariables.value(id)) $gameVariables._data[id] = [];let d = $gameVariables._data[id];const sx = ['x', 'y', '_direction', '_directionFix', '_moveSpeed', '_moveFrequency', '_characterName', '_characterIndex', '_pattern', '_walkAnime', '_stepAnime', '_through'];for (let a = 0; a < sz.length; a++) {let sj = $gameMap.event(sz[a]);if (sj) {d[sz[a]] = {};for (let b = 0; b < sx.length; b++) {d[sz[a]][sx[b]] = sj[sx[b]];};};};})();
复制代码


刷新事件位置:
  1. // 输入读取的变量ID
  2. let id = 1;
  3. ;(function () {if (!$gameVariables.value(id)) $gameVariables._data[id] = [];let d = $gameVariables._data[id];for (let n in d) {if (d[n]) {let sj = $gameMap.event(n);if(sj){for(let b in d[n]){sj[b] = d[n][b]};sj.setPosition(d[n].x,d[n].y)}};};})();
复制代码
# 基于RMMV/MZ基础编写插件,持续更新,请多多支持.
# 需求人多的优先编写!最新消息请关注下面通道.

[插件交流群][个人插件网]
回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
5616
在线时间
176 小时
注册时间
2011-6-3
帖子
32
2
发表于 2021-12-11 04:12:09 | 显示全部楼层
本帖最后由 lqi991 于 2021-12-11 04:22 编辑
UTO 发表于 2021-12-10 02:23
出现了明明事件是第二页事件页但图像是第一页事件的情况,就你收起来,切地图再切回来,那个事件看上去还 ...


前面的代码会储存事件以下内容:
  坐标,朝向,移动速度,移动频率,行走图,模式,行走动画,踏步动画,穿透


以下脚本只储存坐标,没有多余的储存了

  1. // 需要一个变量保存,输入ID
  2. let id = 1;
  3. // 需要保存的事件如 1,3,4
  4. // 输入: [1,3,4]
  5. // (注意 , 号,是英文符号)
  6. let sz = [];
  7. (function () {if (!$gameVariables.value(id)) $gameVariables._data[id] = [];let d = $gameVariables._data[id];const sx = ['x', 'y'];for (let a = 0; a < sz.length; a++) {let sj = $gameMap.event(sz[a]);if (sj) {d[sz[a]] = {};for (let b = 0; b < sx.length; b++) {d[sz[a]][sx[b]] = sj[sx[b]];};};};})();
复制代码
# 基于RMMV/MZ基础编写插件,持续更新,请多多支持.
# 需求人多的优先编写!最新消息请关注下面通道.

[插件交流群][个人插件网]
回复

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-7 07:40

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表