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

Project1

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

[有事请教] 有没有返回上一地图的位置

[复制链接]

Lv2.观梦者

梦石
0
星屑
555
在线时间
76 小时
注册时间
2019-5-23
帖子
47
跳转到指定楼层
1
发表于 2019-6-1 09:54:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
想自制地图功能,但有点别的想法,于是不打算用插件,就想问问有没有我移动到另一张地图后能返回上一地图原来位置的插件

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

2
发表于 2019-6-1 10:29:39 | 只看该作者
移动前把上一地图的ID,坐标,先存到变量里。
之后根据这变量移动回来
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
555
在线时间
76 小时
注册时间
2019-5-23
帖子
47
3
 楼主| 发表于 2019-6-1 10:50:16 | 只看该作者
yang1zhi 发表于 2019-6-1 10:29
移动前把上一地图的ID,坐标,先存到变量里。
之后根据这变量移动回来

可是也不能每次打开地图都要存一个变量呀

点评

好像出了点问题  发表于 2019-6-1 17:09
貌似可以,谢谢,顺便问下知不知道MOG的天气插件怎么弄GIF啊,设置好后他跟我说缺少PNG文件  发表于 2019-6-1 16:27
传送前存一下坐标就行,不用插件  发表于 2019-6-1 16:23
不是,选地图选项后就传送到世界地图,按返回键返回原来位置,就是需要一个办法让系统捕捉到我传送前的坐标,估计需要用到插件  发表于 2019-6-1 15:26
你说的是界面吧。push添加的界面返回都是返到上一层的  发表于 2019-6-1 14:25
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
555
在线时间
76 小时
注册时间
2019-5-23
帖子
47
4
 楼主| 发表于 2019-6-1 17:05:14 | 只看该作者
我想问下为什么我获取了位置信息,返回的时候会到一个一片漆黑的地方,而且貌似没有边界
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
555
在线时间
76 小时
注册时间
2019-5-23
帖子
47
5
 楼主| 发表于 2019-6-1 17:08:09 | 只看该作者
●变量操作:#0002X=玩家的地图X
●变量操作:#0003Y=玩家的地图Y
◆获取指定位置的信息:位置,区域ID,({X},{Y})
◆场所移动:世界(22,11)






◆如果:按键【确定】正被按着
场所移动:{位置}({X},{Y})方向:下)
:结束
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
555
在线时间
76 小时
注册时间
2019-5-23
帖子
47
6
 楼主| 发表于 2019-6-1 17:12:18 | 只看该作者
解决了
还要一个地图ID变量
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9617
在线时间
566 小时
注册时间
2017-9-28
帖子
208
7
发表于 2019-6-1 17:55:12 | 只看该作者
本帖最后由 hyrious 于 2019-6-1 17:56 编辑

练习了一下写 js 插件。。。比事件存位置的好处是能多次返回(

用法是在场所移动前执行插件指令 TransferingStack push(如果打开了插件选项“自动保存位置”则不要执行),然后返回的时候执行插件指令 TransferingStack pop 。

JAVASCRIPT 代码复制下载
  1. //=============================================================================
  2. // TransferingStack.js
  3. //=============================================================================
  4.  
  5. /*:
  6.  * @plugindesc Storing location before transfering.
  7.  * @author hyrious
  8.  *
  9.  * @param Auto Push Location
  10.  * @desc Run 'TransferingStack push' automatically before any transfering.
  11.  * @type boolean
  12.  * @default true
  13.  *
  14.  * @param Fade Type
  15.  * @desc The fade effect type of transfering.
  16.  * 0 - black. 1 - white. any other number - none.
  17.  * @type number
  18.  * @default 0
  19.  *
  20.  * @help This plugin provides the following plugin commands.
  21.  *
  22.  *   TransferingStack push   # Save current location (push to stack)
  23.  *   TransferingStack pop    # Remove and transfer to the last location
  24.  *   TransferingStack pop!   # Remove the last location without transfering
  25.  *   TransferingStack clear  # Remove all things in the stack
  26.  *   TransferingStack debug  # Log the stack to console
  27.  */
  28.  
  29. /*:zh
  30.  * @plugindesc “回到上一个位置”。
  31.  * @author hyrious
  32.  *
  33.  * @param Auto Push Location
  34.  * @text 自动保存位置
  35.  * @desc 在场所移动前自动执行一次 TransferingStack push 。
  36.  * @type boolean
  37.  * @default true
  38.  *
  39.  * @param Fade Type
  40.  * @text 渐变样式
  41.  * @desc 场所移动时的渐变(变黑、变白等)。
  42.  * 0 - 变黑. 1 - 变白. 任何其他数字 - 无渐变.
  43.  * @type number
  44.  * @default 0
  45.  *
  46.  * @help 这个插件提供了以下事件指令:
  47.  *
  48.  *   TransferingStack push   # 保存当前位置(入栈)
  49.  *   TransferingStack pop    # 返回到上一个位置(出栈)
  50.  *   TransferingStack pop!   # 出栈,但不执行场所移动
  51.  *   TransferingStack clear  # 清空位置栈
  52.  *   TransferingStack debug  # Log the stack to console
  53.  */
  54.  
  55. (function() {
  56.  
  57. var parameters = PluginManager.parameters('TransferingStack');
  58. var autoPushLocation = Boolean(parameters['Auto Push Location'] || 'true');
  59. var fadeType = Number(parameters['Fade Type'] || '0');
  60.  
  61. var transferingStack = [];
  62. function pushLocation() {
  63.     var mapId = $gameMap.mapId(),
  64.         x = $gamePlayer._realX,
  65.         y = $gamePlayer._realY,
  66.         d = $gamePlayer._direction;
  67.     transferingStack.push([mapId, x, y, d, fadeType]);
  68. }
  69.  
  70. var _Game_Interpreter_pluginCommand = Game_Interpreter.prototype.pluginCommand;
  71. var _Game_Player_reserveTransfer = Game_Player.prototype.reserveTransfer;
  72.  
  73. Game_Interpreter.prototype.pluginCommand = function(command, args) {
  74.     _Game_Interpreter_pluginCommand.call(this, command, args);
  75.     if (command === 'TransferingStack') {
  76.         switch (args[0]) {
  77.             case 'push':
  78.                 pushLocation();
  79.                 break;
  80.             case 'pop':
  81.                 if (transferingStack.length) {
  82.                     var last = transferingStack.length - 1;
  83.                     var payload = transferingStack[last];
  84.                     _Game_Player_reserveTransfer.apply($gamePlayer, payload);
  85.                 }
  86.             case 'pop!':
  87.                 transferingStack.pop();
  88.                 break;
  89.             case 'clear':
  90.                 transferingStack = [];
  91.                 break;
  92.             case 'debug':
  93.                 console.log("transferingStack: [(mapId, x, y, d, fadeType)]");
  94.                 console.log(transferingStack);
  95.                 break;
  96.         }
  97.     }
  98. };
  99.  
  100. Game_Player.prototype.reserveTransfer = function(mapId, x, y, d, fadeType) {
  101.     if (!this._transferring && autoPushLocation) {
  102.         pushLocation();
  103.     }
  104.     _Game_Player_reserveTransfer.call(this, mapId, x, y, d, fadeType);
  105. }
  106.  
  107. var _DataManager_setupNewGame = DataManager.setupNewGame;
  108.  
  109. DataManager.setupNewGame = function() {
  110.     _DataManager_setupNewGame.call(DataManager);
  111.     transferingStack = [];
  112. }
  113.  
  114. })();

点评

66666  发表于 2019-6-1 17:57
喵喵喵
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-29 10:01

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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