查看: 5281|回复: 10

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

[复制链接]

幻想天神

梦石
0
星屑
55
在线时间
166 小时
注册时间
2012-3-24
回帖
355
发表于 2015-2-21 15:40:25 | 显示全部楼层 |阅读模式

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

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

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

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

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

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

2.PNG

其实问题就出现在这里,不知道各位前辈能否察觉出来呢?
3.PNG
原因:
在Ruby的规则里,if语句中,elsif只允许运行一次,如果条件都符合,多次出现按照第一个elsif处理,其余的跳过。(话说出现多次判断的情况,elsif在别的语言里完全可以用作if啊)

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

点评

话说已经撤销。。  发表于 2015-2-21 19:29
自己编辑后可以撤销扣分  发表于 2015-2-21 18:14
梦石
0
星屑
287
在线时间
1580 小时
注册时间
2010-6-17
回帖
2818

开拓者贵宾

发表于 2015-2-21 16:16:32 | 显示全部楼层
= = 噗  竟然要回复啊
快来点我一下,你会豁然开朗的
喵Kano特制
←开发中……

←暂时弃坑 电脑上资源全没
回复

使用道具 举报

…あたしは天

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

开拓者贵宾

发表于 2015-2-21 16:47:48 | 显示全部楼层
默认的脚本中本来就没有想过变量不是整数的情况吧
回复

使用道具 举报

梦石
0
星屑
9292
在线时间
2504 小时
注册时间
2011-5-20
回帖
14521

开拓者

发表于 2015-2-21 17:01:42 | 显示全部楼层
居然回复可见···
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复

使用道具 举报

梦石
0
星屑
55
在线时间
416 小时
注册时间
2012-11-30
回帖
146
发表于 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
回复

使用道具 举报

梦石
4
星屑
4454
在线时间
6784 小时
注册时间
2014-1-6
回帖
4956

开拓者

发表于 2015-2-21 18:01:47 | 显示全部楼层
@三途亚梦 把那个主楼的保安系统给我拆了!
回复

使用道具 举报

梦石
0
星屑
127
在线时间
776 小时
注册时间
2013-1-11
回帖
498
发表于 2015-2-21 18:16:28 | 显示全部楼层
为什么回复可见+1
快点“点我啊”三个字吧!(宣传不要这么坑爹啊喂!!!)
[url=https://rpg.blue/thread-368388-1-1.html]点我啊![/url]
回复

使用道具 举报

梦石
0
星屑
50
在线时间
92 小时
注册时间
2014-12-19
回帖
95
发表于 2015-2-21 18:21:08 | 显示全部楼层
本帖最后由 XYZ加农炮 于 2015-2-21 18:22 编辑

什么鬼…………


eleif用case不行吗……
X
回复

使用道具 举报

梦石
0
星屑
9557
在线时间
5074 小时
注册时间
2013-6-21
回帖
3459

开拓者贵宾剧作品鉴家

发表于 2015-2-21 20:38:21 | 显示全部楼层
本帖最后由 RyanBern 于 2015-2-21 20:41 编辑

第一个BUG估计是赋值为false的时候游戏会卡死吧。这个问题应该早就被发现了,当时解决的方法特别简单。
[pre lang="Ruby"]$game_switches[1] = false
# 后面跟一行注释就可以了[/pre]
嗯,最近说过很多遍了,不提了。
第二个,不能苟同"elsif用作if"的说法。不知道LZ为何有这样的想法呢?
[pre lang="C"]int x;
scanf("%d", &x);
if(x % 3 == 0)
    printf("x能被3整除");
else if(x % 5 == 0)
    printf("x不能被3整除但是能被5整除");
[/pre]
只用if:
[pre lang="C"]if(x % 3 == 0)
    printf("x能被3整除");
if(x % 3 != 0 && x % 5 == 0)
    printf("x不能被3整除但是能被5整除");[/pre]
只用if可读性真的好么?
回复

使用道具 举报

孤独守望

梦石
0
星屑
3144
在线时间
1535 小时
注册时间
2006-10-16
回帖
4223

开拓者贵宾

发表于 2015-2-21 20:46:10 | 显示全部楼层
本帖最后由 IamI 于 2015-2-21 20:47 编辑

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

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部