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

Project1

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

[讨论] 时隔半年,今日偶遇RGSS第二BUG……

[复制链接]

Lv1.梦旅人

幻想天神

梦石
0
星屑
55
在线时间
166 小时
注册时间
2012-3-24
帖子
404
跳转到指定楼层
1
发表于 2015-2-21 15:40:25 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 风若·飘絮 于 2015-2-21 19:25 编辑

暑假发现的BUG是,在事件解析器里执行为变量赋值布尔值的操作,会出现前所未有的错误,问遍各大群,无人能解。
最终解决方案:为变量赋值0 or 1来代替布尔值。

今日闲来无事,调试了前几个月的工程,发现部分道具不显示属性附加说明


之后各种抓狂。。把脚本完整的看了一遍,我也是醉了。。发现不了任何问题。
然后,遥望远方的天空,朵朵白云飘过……
之后无意间打通任督二脉,顿觉神清气爽,终于发现了介个BUG(其实也不算BUG,可能是Ruby制定的个性规则罢了,更可能是本菜的无知……)



其实问题就出现在这里,不知道各位前辈能否察觉出来呢?

原因:
在Ruby的规则里,if语句中,elsif只允许运行一次,如果条件都符合,多次出现按照第一个elsif处理,其余的跳过。(话说出现多次判断的情况,elsif在别的语言里完全可以用作if啊)

解决方案:避免使用elsif,用if代替。

点评

话说已经撤销。。  发表于 2015-2-21 19:29
自己编辑后可以撤销扣分  发表于 2015-2-21 18:14

Lv2.观梦者

梦石
0
星屑
263
在线时间
1575 小时
注册时间
2010-6-17
帖子
2892

开拓者贵宾

2
发表于 2015-2-21 16:16:32 | 只看该作者
= = 噗  竟然要回复啊
快来点我一下,你会豁然开朗的
喵Kano特制
←开发中……

←暂时弃坑 电脑上资源全没
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

3
发表于 2015-2-21 16:47:48 | 只看该作者
默认的脚本中本来就没有想过变量不是整数的情况吧
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

4
发表于 2015-2-21 17:01:42 | 只看该作者
居然回复可见···
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
416 小时
注册时间
2012-11-30
帖子
162
5
发表于 2015-2-21 17:57:43 | 只看该作者
回复可见。。。。你逼的呀。。。。不回不行啊。。。。。

<object width="630" height="500" align="middle" id="reader" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" classid="clsid:d27cdb6e-ae6d-11cf-96b8-44455354000
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
4
星屑
4459
在线时间
6784 小时
注册时间
2014-1-6
帖子
5052

开拓者

6
发表于 2015-2-21 18:01:47 | 只看该作者
@三途亚梦 把那个主楼的保安系统给我拆了!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
127
在线时间
776 小时
注册时间
2013-1-11
帖子
594
7
发表于 2015-2-21 18:16:28 | 只看该作者
为什么回复可见+1
快点“点我啊”三个字吧!(宣传不要这么坑爹啊喂!!!)
[url=https://rpg.blue/thread-368388-1-1.html]点我啊![/url]
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
92 小时
注册时间
2014-12-19
帖子
111
8
发表于 2015-2-21 18:21:08 | 只看该作者
本帖最后由 XYZ加农炮 于 2015-2-21 18:22 编辑

什么鬼…………


eleif用case不行吗……
X
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

梦石
0
星屑
9532
在线时间
5073 小时
注册时间
2013-6-21
帖子
3580

开拓者贵宾剧作品鉴家

9
发表于 2015-2-21 20:38:21 | 只看该作者
本帖最后由 RyanBern 于 2015-2-21 20:41 编辑

第一个BUG估计是赋值为false的时候游戏会卡死吧。这个问题应该早就被发现了,当时解决的方法特别简单。
RUBY 代码复制
  1. $game_switches[1] = false
  2. # 后面跟一行注释就可以了

嗯,最近说过很多遍了,不提了。
第二个,不能苟同"elsif用作if"的说法。不知道LZ为何有这样的想法呢?
C 代码复制
  1. int x;
  2. scanf("%d", &x);
  3. if(x % 3 == 0)
  4.     printf("x能被3整除");
  5. else if(x % 5 == 0)
  6.     printf("x不能被3整除但是能被5整除");

只用if:
C 代码复制
  1. if(x % 3 == 0)
  2.     printf("x能被3整除");
  3. if(x % 3 != 0 && x % 5 == 0)
  4.     printf("x不能被3整除但是能被5整除");

只用if可读性真的好么?
回复 支持 反对

使用道具 举报

Lv3.寻梦者

孤独守望

梦石
0
星屑
3132
在线时间
1535 小时
注册时间
2006-10-16
帖子
4321

开拓者贵宾

10
发表于 2015-2-21 20:46:10 | 只看该作者
本帖最后由 IamI 于 2015-2-21 20:47 编辑

elsif = else if = "如果不符合上述但符合……,则……"
这是基本的理解问题,不是一个 Bug。
我不知道您口中的其他语言是何方神圣,编译器会直接混淆 if 和 elsif 的语义。
菩提本非树,明镜本非台。回头自望路漫漫。不求姻缘,但求再见。
本来无一物,何处惹尘埃。风打浪吹雨不来。荒庭遍野,扶摇难接。
不知道多久更新一次的博客
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-20 14:30

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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