Project1

标题: 加了if语句后,之后内容实现不了 已自己解决 [打印本页]

作者: 飞翔的小鸟3    时间: 2017-9-22 19:01
标题: 加了if语句后,之后内容实现不了 已自己解决
本帖最后由 飞翔的小鸟3 于 2017-9-30 19:45 编辑
  1.   def run_gun_battle
  2.     @var ||= 15
  3.     if Input.trigger?(:X)
  4.      $game_switches[@var] = true
  5.     @var = (@var == 15? 17 : 15 )
  6.     end
  7.     if $game_switches[15] == true
  8.     @var2 ||= 18
  9.     if Input.trigger?(:Y)
  10.      $game_switches[@var2] = true
  11.     @var2 = (@var2 == 18? 19 : 18 )
  12.     end
  13.     end
  14.   end
复制代码

丢在Scene_Map的update方法里,那个if $game_switches[15] == true,加下去后,我怎么按Y都是实现不了,
已确定:15开关已被打开,按键没错。然后值得一提的是,我直接在并行事件写入
  1.     @var2 ||= 18
  2.     if Input.trigger?(:Y)
  3.      $game_switches[@var2] = true
  4.     @var2 = (@var2 == 18? 19 : 18 )
  5.     end
复制代码

是可以用的。
这是啥问题?
感觉我是不是把方法丢错地方了,我要的是在地图上任何一个地方只要按下X和Y(Y的前提是15开关打开)就能实现相应代码。
作者: 骷髅岛遗老    时间: 2017-9-22 19:07
7行的if改用when试试?
作者: 飞翔的小鸟3    时间: 2017-9-22 19:22
@gaogs123456




有这个键的,然后我也说过了,用并行事件写脚本,去除if语句,是可以用的
作者: soulsaga    时间: 2017-9-23 16:15
RUBY 代码复制
  1. alias run_gun_battle update
  2.   def update
  3.     @var ||= 15
  4.     if Input.trigger?(Input::X)
  5.      $game_switches[@var] = true
  6.     @var = (@var == 15 ? 17 : 15 )
  7.     end
  8.     if $game_switches[15] == true
  9.     @var2 ||= 18
  10.     if Input.trigger?(Input::Y)
  11.      $game_switches[@var2] = true
  12.     @var2 = (@var2 == 18 ? 19 : 18 )
  13.     end
  14.   end
  15.   return run_gun_battle
  16.   end


测试通过啊..
作者: 飞翔的小鸟3    时间: 2017-9-23 17:36
soulsaga 发表于 2017-9-23 16:15
alias run_gun_battle update
  def update
    @var ||= 15

你这脚本怎么用的,我直接把你这个写入脚本,人物走路和乌龟一样慢,然后按X和Y的对应按键都没反应。以前至少按X可以用的,现在X都不能用了。。。。。。
作者: soulsaga    时间: 2017-9-23 19:12
飞翔的小鸟3 发表于 2017-9-23 17:36
你这脚本怎么用的,我直接把你这个写入脚本,人物走路和乌龟一样慢,然后按X和Y的对应按键都没反应。以前 ...

Scene_Map的update方法END后插入..
作者: 飞翔的小鸟3    时间: 2017-9-23 19:39
本帖最后由 飞翔的小鸟3 于 2017-9-23 19:58 编辑
soulsaga 发表于 2017-9-23 19:12
Scene_Map的update方法END后插入..






作者: 飞翔的小鸟3    时间: 2017-9-27 12:00
@喵呜喵5和@guoxiaomi,你们知道吗?
作者: 张咚咚    时间: 2017-9-27 13:13

完全复刻你的脚本也是没问题的,是不是按键按错



作者: 飞翔的小鸟3    时间: 2017-9-27 22:35
本帖最后由 飞翔的小鸟3 于 2017-9-29 21:38 编辑
张咚咚 发表于 2017-9-27 13:13
完全复刻你的脚本也是没问题的,是不是按键按错



有p出1的,说明成功了,没按错
但是代码中的if Input.trigger?(Input::Y)后面就是不执行
我试试在新工程中看看


工程http://pan.baidu.com/s/1o8IBE58
我试了,还是不能用.....


@ VIPArcher

更新:用了全按键,要改一下啊
http://pan.baidu.com/s/1nvJZCV3

我知道问题出在哪里了。
15开关一打开,执行完公共事件后,就给我在事件里关闭了。
自然按下s键也不执行了。改好了





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1