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

Project1

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

[已经解决] 加了if语句后,之后内容实现不了 已自己解决

[复制链接]

Lv2.观梦者

梦石
0
星屑
470
在线时间
159 小时
注册时间
2013-11-2
帖子
205

开拓者

跳转到指定楼层
1
发表于 2017-9-22 19:01:43 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 飞翔的小鸟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开关打开)就能实现相应代码。

点评

@var == 15? 数字和问号要空开一格:@var = (@var == 15 ? 17 : 15 ) ,包括下面的 @var2 一样。  发表于 2017-9-22 20:20
不好意思,不能帮上忙,请无视掉我的话~  发表于 2017-9-22 19:26
你打开游戏F1看看键盘设置,没有Y这个键的,是不是这个原因?  发表于 2017-9-22 19:19

Lv3.寻梦者

梦石
0
星屑
2333
在线时间
275 小时
注册时间
2017-7-25
帖子
163
2
发表于 2017-9-22 19:07:33 | 只看该作者
7行的if改用when试试?

点评

一样  发表于 2017-9-22 19:12
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
470
在线时间
159 小时
注册时间
2013-11-2
帖子
205

开拓者

3
 楼主| 发表于 2017-9-22 19:22:39 | 只看该作者
@gaogs123456




有这个键的,然后我也说过了,用并行事件写脚本,去除if语句,是可以用的

点评

我看错了...其实我对RM不太熟..  发表于 2017-9-23 16:04
这图中3组按键..各组左边的RM的按键..右边的是你设置的按键..按键判定只支持左边的..除非你用了全键盘脚本..  发表于 2017-9-23 09:19
你哪里看到有Y键?  发表于 2017-9-22 20:37
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
36402
在线时间
10791 小时
注册时间
2009-3-15
帖子
4813
4
发表于 2017-9-23 16:15:07 | 只看该作者
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


测试通过啊..
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
470
在线时间
159 小时
注册时间
2013-11-2
帖子
205

开拓者

5
 楼主| 发表于 2017-9-23 17:36:53 | 只看该作者
soulsaga 发表于 2017-9-23 16:15
alias run_gun_battle update
  def update
    @var ||= 15

你这脚本怎么用的,我直接把你这个写入脚本,人物走路和乌龟一样慢,然后按X和Y的对应按键都没反应。以前至少按X可以用的,现在X都不能用了。。。。。。
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
36402
在线时间
10791 小时
注册时间
2009-3-15
帖子
4813
6
发表于 2017-9-23 19:12:23 | 只看该作者
飞翔的小鸟3 发表于 2017-9-23 17:36
你这脚本怎么用的,我直接把你这个写入脚本,人物走路和乌龟一样慢,然后按X和Y的对应按键都没反应。以前 ...

Scene_Map的update方法END后插入..

点评

好  发表于 2017-9-23 20:19
没有执行P,然后我在事件写上:if Input.trigger?(:Y) ;p 1 ;end 有执行的  发表于 2017-9-23 20:07
我搞不定..等大神来吧..  发表于 2017-9-23 20:07
你说反应啊,我按Q后会启用一个行走图的,但是你发的脚本按下去并没有出现。如果去掉if,就能用了。  发表于 2017-9-23 20:01
p出来了  发表于 2017-9-23 19:59
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
470
在线时间
159 小时
注册时间
2013-11-2
帖子
205

开拓者

7
 楼主| 发表于 2017-9-23 19:39:25 | 只看该作者
本帖最后由 飞翔的小鸟3 于 2017-9-23 19:58 编辑
soulsaga 发表于 2017-9-23 19:12
Scene_Map的update方法END后插入..





点评

P放在$game_switches[@var2] = true下面  发表于 2017-9-23 20:02
打开控制台 插入p $game_switches[@var2]  发表于 2017-9-23 19:52
你给的脚本根本没有有反应的要素存在..  发表于 2017-9-23 19:51
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
470
在线时间
159 小时
注册时间
2013-11-2
帖子
205

开拓者

8
 楼主| 发表于 2017-9-27 12:00:30 | 只看该作者
@喵呜喵5和@guoxiaomi,你们知道吗?

点评

你可以选择提供一个简单的工程(仅包含测试这个逻辑需要的代码和素材的新工程),你这样描述比较难以找到问题(  发表于 2017-9-27 12:16
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
19433
在线时间
3102 小时
注册时间
2013-1-11
帖子
1291
9
发表于 2017-9-27 13:13:19 | 只看该作者

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


回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
470
在线时间
159 小时
注册时间
2013-11-2
帖子
205

开拓者

10
 楼主| 发表于 2017-9-27 22:35:21 | 只看该作者
本帖最后由 飞翔的小鸟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键也不执行了。改好了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 16:29

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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