查看: 1641|回复: 5

[已经解决] 为什么这段脚本放在def update不执行呢

  [复制链接]
梦石
3
星屑
6420
在线时间
1131 小时
注册时间
2007-12-26
回帖
914
发表于 2009-7-7 17:21:38 | 显示全部楼层 |阅读模式

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

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

×
以下脚本添加在Scene_Map的def update下,用来判断当事件的坐标变量重合并且按S键就执行相应的公共事件,但是在游戏中并没有执行相应的公共事件。
但是把if Input.trigger?(Input::Y)这个条件判断去除就可以执行i号公共事件了,为什么 if Input.trigger?(Input::Y) 这个判断不能添加?

for i in 1..20
  if $game_variables[9] == $game_variables[i*2+199] and $game_variables[10] == $game_variables[i*2+200]
    if Input.trigger?(Input::Y)
      $game_variables[5] = i
      $game_temp.common_event_id = i
      break
    end
  end
end
囡囚囨囚囨図囨囧
梦石
0
星屑
50
在线时间
238 小时
注册时间
2006-10-2
回帖
372
发表于 2009-7-7 17:36:36 | 显示全部楼层
本帖最后由 猫哥哥 于 2009-7-7 17:38 编辑

if Input.trigger?(Input::Y)
for i in 1..20
  if $game_variables[9] == $game_variables[i*2+199] and $game_variables[10] == $game_variables[i*2+200]
     $game_variables[5] = i
     $game_temp.common_event_id = i
     break
  end
end
end
----------------------------------------------------------
这样呢?

另外看看在这个update之前,有没有Input.update
回复

使用道具 举报

梦石
3
星屑
6420
在线时间
1131 小时
注册时间
2007-12-26
回帖
914
 楼主| 发表于 2009-7-7 17:43:59 | 显示全部楼层
if Input.trigger?(Input::Y)
for i in 1..20
  if $game_variables[9] == $game_variables and $game_variables[10] == $game_variables
     $game_variables[5] = i
     $game_temp.common_event_id = i
     b ...
猫哥哥 发表于 2009-7-7 17:36



也没执行啊。。奇怪了,去掉if Input.trigger?(Input::Y)就可以。之前没有Input.update
囡囚囨囚囨図囨囧
回复

使用道具 举报

梦石
0
星屑
50
在线时间
238 小时
注册时间
2006-10-2
回帖
372
发表于 2009-7-7 18:25:29 | 显示全部楼层
去掉那个就能执行,说明Input.trigger?(Input::Y)的返回值一直是false,并不奇怪。

你改成Input.press?试试看,你是用的默认脚本?
回复

使用道具 举报

梦石
3
星屑
6420
在线时间
1131 小时
注册时间
2007-12-26
回帖
914
 楼主| 发表于 2009-7-7 19:11:57 | 显示全部楼层
是默认脚本啊,Input.press?可以了!为什么Input.trigger?不行哦??我用了个全键盘按键调用脚本,这个有关系?
囡囚囨囚囨図囨囧
回复

使用道具 举报

梦石
0
星屑
50
在线时间
238 小时
注册时间
2006-10-2
回帖
372
发表于 2009-7-7 19:17:23 | 显示全部楼层
可以理解为trigger是检测按键的单击,press是检测按键是否处于被按下的状态。
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部