查看: 2146|回复: 5

[已经解决] 怎么让一个事件停下来?

[复制链接]
梦石
0
星屑
50
在线时间
31 小时
注册时间
2008-5-16
回帖
92
发表于 2014-11-23 18:50:35 | 显示全部楼层 |阅读模式

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

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

×
可以用一个并行事件判断:如果1号事件的行走图文件名==“尸体”,那么该事件如果还在移动,就立刻停止移动

评分

参与人数 1星屑 +35 收起 理由
︶ㄣ牛排ぶ + 35 手动认可奖励

查看全部评分

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2014-11-23 19:14:39 | 显示全部楼层
如果1号事件的行走图文件名==“尸体”,打开一个开关……
回复

使用道具 举报

梦石
0
星屑
50
在线时间
31 小时
注册时间
2008-5-16
回帖
92
 楼主| 发表于 2014-11-23 20:50:54 | 显示全部楼层
taroxd 发表于 2014-11-23 19:14
如果1号事件的行走图文件名==“尸体”,打开一个开关……

做arpg,事件的独立开关C打开是战斗,独立开关D打开是死掉,伤害判定在Scene_Map脚本的def update部分,当判定敌人的HP<=0就打开独立开关D显示尸体行走图。问题是:有极少数情况下,敌人事件死掉后尸体行走图还会滑动一段距离或者一直在做循环往复运动
回复

使用道具 举报

梦石
0
星屑
175
在线时间
332 小时
注册时间
2013-7-6
回帖
316
发表于 2014-11-23 21:33:23 | 显示全部楼层
在Game_Character类里加上 attr_accessor :move_type
然后循环所有事件判定:
for ID in 1..$game_map.events.size
  if $game_self_switches[[Map_ID,ID,"D"]] == true #=====>Map_ID是所在地图id
    $game_map.events[ID].move_type = 0
  end
end

评分

参与人数 1星屑 +200 收起 理由
︶ㄣ牛排ぶ + 200 认可答案

查看全部评分

偶是熬夜学编程的傻子
回复

使用道具 举报

梦石
0
星屑
50
在线时间
31 小时
注册时间
2008-5-16
回帖
92
 楼主| 发表于 2014-11-23 22:31:37 | 显示全部楼层
本帖最后由 id人格分裂症 于 2014-11-23 23:30 编辑
wolves 发表于 2014-11-23 21:33
在Game_Character类里加上 attr_accessor :move_type
然后循环所有事件判定:
for ID in 1..$game_map.even ...


谢谢,如果move_type = 1、2、3、4会是什么情况?
回复

使用道具 举报

梦石
0
星屑
175
在线时间
332 小时
注册时间
2013-7-6
回帖
316
发表于 2014-11-24 01:04:02 | 显示全部楼层
id人格分裂症 发表于 2014-11-23 22:31
谢谢,如果move_type = 1、2、3、4会是什么情况?

参考Game_Character内的方法,有段叫
case @move_type
when 1
...
when 2
...
...
end
找对应的方法你就懂了。0是事件移动方法改为固定。
偶是熬夜学编程的傻子
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部