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

Project1

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

[有事请教] 请教一下关于自定义路线的脚本问题

[复制链接]

Lv4.逐梦者

梦石
0
星屑
5129
在线时间
732 小时
注册时间
2018-1-16
帖子
151
跳转到指定楼层
1
发表于 2018-10-24 14:33:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 shantianzu 于 2018-10-25 09:08 编辑

本人对JS就是个小白,用了 [原创发布] 角色拓展--修复自动寻路,及增加个别功能这个插件想实现一个功能,
里面插件命令之类的都会用,就是想先移动到地图的一个位置,然后再继续移动到地图的另一个位置的时候,插件命令应该怎么写??

如果插入两个脚本命令的话,事件会再两个指令之间来回循环,做不到先到一个位置再到一个位置的需求,请教大神们有什么办法可以实现?


插件地址:https://rpg.blue/forum.php?mod=viewthread&tid=400688&extra=page%3D7%26filter%3Dtypeid%26typeid%3D1306

Lv4.逐梦者

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

开拓者

2
发表于 2018-10-24 15:11:29 | 只看该作者
用条件分歧。来给两次移动加个条件。
这和现实世界是一样的。
你要从家里到超市,再到机场。
那么你怎么判断你当前是要到超市,还是要到机场。
你可以加个变量判断是移动了几次。
你也可以判断当前在什么地方来判断要去哪里。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
16034
在线时间
3991 小时
注册时间
2015-9-14
帖子
1337

开拓者

3
发表于 2018-10-24 17:41:51 | 只看该作者
在事件頁移動路線,分二段,
第一段第一個移動目標,
第二段第二個移動目標,
或用(各大神都有)移動路線插件,

点评

我說對你的地鐵想學習你怎么不理人  发表于 2018-10-24 17:55
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
5129
在线时间
732 小时
注册时间
2018-1-16
帖子
151
4
 楼主| 发表于 2018-10-25 09:37:49 | 只看该作者
yang1zhi 发表于 2018-10-24 15:11
用条件分歧。来给两次移动加个条件。
这和现实世界是一样的。
你要从家里到超市,再到机场。

首先感谢你的回复,昨天时间比较紧,忘记发插件的地址了,抱歉。
他的这个插件命令是要写在自定义路线中的脚本里的,并且需要点
开循环执行才可以正常运行,插件指令:this.moveTowardDestination(x, y);
试着写IF,但是因为是循环执行,第二次移动会卡住,有没有什么办法能
连接两条指令,让它执行完一个再执行下一个?
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
5129
在线时间
732 小时
注册时间
2018-1-16
帖子
151
5
 楼主| 发表于 2018-10-25 09:41:37 | 只看该作者
wabcmcc 发表于 2018-10-24 17:41
在事件頁移動路線,分二段,
第一段第一個移動目標,
第二段第二個移動目標,

事件页设置两次移动很简单,主要是想留着事件页做别的,又不想并行处理,怕以后多了
会卡。我用的就是移动路线的插件,不过命令是写在自定义路线里的,还得循环执行才可
以,这样想实现两次或者多次移动比较难办,不管怎样,感谢你的回复。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

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

开拓者

6
发表于 2018-10-25 09:51:51 | 只看该作者
shantianzu 发表于 2018-10-25 09:37
首先感谢你的回复,昨天时间比较紧,忘记发插件的地址了,抱歉。
他的这个插件命令是要写在自定义路线中 ...

自定义路线里面的脚本是属于Game_Character.prototype.luxian = function() {

只要是在Game_Character下写的函数,可以直接写在自定义路线里。
this.luxian()
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
5129
在线时间
732 小时
注册时间
2018-1-16
帖子
151
7
 楼主| 发表于 2018-10-25 10:41:38 | 只看该作者
yang1zhi 发表于 2018-10-25 09:51
自定义路线里面的脚本是属于Game_Character.prototype.luxian = function() {

只要是在Game_Character下 ...

我看了一下你说的自定义路线的脚本,发现两个问题:

第一,我看不懂啊,

第二,我实验了一下,发现直接在自定义路线下添加脚本指令好像只能打开循环执行才可以正常到达位置,
           那样的话就跟我用的这个寻路插件一样,不可以写两段脚本命令,会循环执行导致卡住。

有没有办法在循环执行的情况下,添加两条指令,让它运行完一条,到达位置后,再运行下一条,到达目的地?或者可以在不循环执行的情况下,添加两条指令来实现先到达一个位置,再去另一个位置?
回复 支持 反对

使用道具 举报

Lv4.逐梦者

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

开拓者

8
发表于 2018-10-25 11:11:34 | 只看该作者
shantianzu 发表于 2018-10-25 10:41
我看了一下你说的自定义路线的脚本,发现两个问题:

第一,我看不懂啊,

循环肯定要开的啊,这样才会持续执行啊。
所以我之前就说了,要开条件分歧,你就是不听。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
5129
在线时间
732 小时
注册时间
2018-1-16
帖子
151
9
 楼主| 发表于 2018-10-25 13:05:23 | 只看该作者
本帖最后由 shantianzu 于 2018-10-25 13:07 编辑
yang1zhi 发表于 2018-10-25 11:11
循环肯定要开的啊,这样才会持续执行啊。
所以我之前就说了,要开条件分歧,你就是不听。
...


没,你说完需要分歧的时候我就着手学习了,一直没成功。
我这样写 if (this.x != 22 || this.y != 42) { this.moveTowardDestination(22, 42); } else { this.moveTowardDestination(6, 42); } 到后面分歧的时候就会循环卡住,感觉是前面
的特殊符号用的不对,对代码一窍不通啊,边学边做,正确的应该怎么写啊?请指教


用了&&符号也是循环时卡住,现在脑子有点迷糊了,

点评

这样写,基本上都是在执行上一段,下一段只有在坐标是22,42的时候  发表于 2018-10-25 13:12
你写的这个意思是,当X坐标不是22或者Y坐标不是42就执行上面的这段,否则执行下面这段  发表于 2018-10-25 13:10
回复 支持 反对

使用道具 举报

Lv4.逐梦者

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

开拓者

10
发表于 2018-10-25 13:13:32 | 只看该作者
shantianzu 发表于 2018-10-25 13:05
没,你说完需要分歧的时候我就着手学习了,一直没成功。
我这样写 if (this.x != 22 || this.y != 42) {  ...

你可以在移动前设一个变量为0
移动到1地点后,设变量为1
if (变量 == 0)
{ this.moveTowardDestination(22, 42); }
else { this.moveTowardDestination(6, 42); }

点评

ok,这样就捋顺了,非常感谢你的帮助。  发表于 2018-10-25 13:23

评分

参与人数 1+1 收起 理由
shantianzu + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-13 10:33

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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