Project1
标题:
如何用脚本让事件走动
[打印本页]
作者:
熊的选民
时间:
2010-7-22 09:28
标题:
如何用脚本让事件走动
本帖最后由 熊的选民 于 2010-7-23 12:13 编辑
我在论坛上搜索“脚本”“移动”,把相关帖子都看了一遍,也没找到答案
event.moveto(x, y) #这个有效,事件瞬移了
event.move_forward #这个无效,事件毫无反应
请问怎么才能让事件走动(不是瞬移)?
作者:
云心
时间:
2010-7-22 13:21
在Game_Character 3里有
def move_down
def move_left
等几个函数直接调用就行了
大概
作者:
SailCat
时间:
2010-7-22 13:44
设置事件的移动路径为自定义,然后在里面搞脚本
作者:
无心孤云
时间:
2010-7-22 14:21
事件走动可以不用脚本啊。。。。。
直接不就有个移动功能么?无论是随机走。还是自定义都是可以扣选的。。。
恩。就跟制作一个走动的NPC是一样的
作者:
wingtang5
时间:
2010-7-22 14:25
直接在事件移动方式设置。
作者:
越前リョーマ
时间:
2010-7-22 15:03
一定要用脚本的话,我有个办法。
$game_temp.common_event_id = 编号
这个可以调用公共事件,里面用事件写移动事件。不过记得加上移动后等待。
如果经常用的话,你也可以做成4个公共事件,每个都代表一个方向的移动,然后用执行公共事件的办法串联起来……
作者:
熊的选民
时间:
2010-7-22 18:58
因为我要让事件朝另一个事件移动,而另一个事件的位置不是固定的,所以才用脚本。有人知道为什么我的方法不行吗?如果实在无法实现,我可以试一下6楼的办法
作者:
越前リョーマ
时间:
2010-7-22 20:06
其实如果你知道目标的坐标的话可以用这个:
http://rpg.blue/htm/Topic_27070.htm
作者:
熊的选民
时间:
2010-7-23 06:25
其实我只想让目标移动一格,但目前连转一下身都无法实现。难道要想让它移动必须写大段函数?我觉得这个功能应该很常用才对,但在论坛上却搜不到实现方法。
另外忘了说,$game_player.move_down是有效的。这些移动函数对主角有效,对事件就不行
作者:
火ZHI意志
时间:
2010-7-23 06:28
本帖最后由 火ZHI意志 于 2010-7-23 06:43 编辑
$game_map.events[X].move_down
复制代码
X为事件编号
懒得多说
如果是本是件的话
X = @event_id
————————————————————————————————————
我想说LZ为什么不肯好好吧脚本编辑器给翻一番呢………………………………
# 命令编号分支
case command.code
when 1 # 向下移动
move_down
when 2 # 向左移动
move_left
when 3 # 向右移动
move_right
when 4 # 向上移动
move_up
when 5 # 向左下移动
move_lower_left
when 6 # 向右下移动
move_lower_right
when 7 # 向左上移动
move_upper_left
when 8 # 向右上
move_upper_right
when 9 # 随机移动
move_random
when 10 # 接近主角
move_toward_player
when 11 # 远离主角
move_away_from_player
when 12 # 前进一步
move_forward
when 13 # 后退一步
move_backward
when 14 # 跳跃
jump(command.parameters[0], command.parameters[1])
end
复制代码
作者:
熊的选民
时间:
2010-7-23 07:03
event.move_forward #这个无效,事件毫无反应
我就是用的这个,无效啊
作者:
熊的选民
时间:
2010-7-23 07:16
我新建了一个项目,测试了一下,确认不是因为和其他脚本不兼容。事件就是无法移动
作者:
zhangbanxian
时间:
2010-7-23 11:08
本帖最后由 zhangbanxian 于 2010-7-23 11:09 编辑
先往脚本里插
class Game_Map
attr_accessor :events
end
复制代码
然后$game_map.events[事件id].move_up
作者:
熊的选民
时间:
2010-7-23 12:11
又测试了一下,成功了,不用attr_accessor :events
当我在别的游戏里测试时,可能和某个脚本有冲突,所有指令都不好用
后来建了个新项目,move_forward还是不能用,但是move_backward却好用了。原因在于这个脚本我是让主角和事件对话后触发的,事件虽然没有改变朝向,但move_forward却是朝主角的方向移动,因为主角挡路,才无法移动。用了move_backward后,看到事件朝与主角相反的方向平移了一下,才明白是怎么回事。大概和事件对话后,系统默认事件自动转向主角?但我又没有设置固定朝向,为什么事件没有转向呢?导致我一直以为这个脚本不好用。晕死了。总之谢谢各位的热心解答。
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1