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

Project1

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

[交流讨论] 修bug的经验总结(仅针对RM引擎)(首先是没有使用插件)

[复制链接]

Lv3.寻梦者

梦石
0
星屑
2851
在线时间
446 小时
注册时间
2016-9-26
帖子
1222
跳转到指定楼层
1
发表于 2021-8-27 21:00:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 任小雪 于 2021-9-4 13:35 编辑

(仅针对RM引擎)(首先是没有使用插件)

  如遇到无法解决的bug,首先先尝试重启,先排除是不是引擎本身的问题。
  如果设置时感觉卡,可能是该页面项目太多,指要不是该页面在弄的“事情”内项目太多,要不是该页面再弄的“事情”所并列存在于目录一侧的同等“事情”太多。
  当然,如果时运行时感觉卡,可能是并行事件太多了;如果动不了,要不是运算量一时太大,要不是循环没有设置跳出或跳出条件没设置好导致无法跳出,要不是事件是自动运行事件(运行结束才能动)。
  然后,可以按f8看看有没有提示(这个其实一般没啥用)。
  再,如果提示缺乏某个prototype或name,估计要不是本身没有这个,要不是事件运行时检测不到(可能脚本大小写名称搞错,可能事件内设置多了或少了敌我角色,可能是某些项目忘了调更大的最大上限数目,还可能是忘记设置目标的目标数值甚至是事件)。
  如果提示缺乏某个半边符号,可能本身确实是缺了(忘了或者中英文大小写的原因),也可能是我们要弄的脚本本身代码就错了(逻辑有错,或并没有那种臆想种的代码)。
  如果提示左或右存在“无法等值”,可能可以改一改,也可能永远也改不了(因为可能我们要弄的脚本本身代码就错了)。
  关于检查事件,一般是通过运行游戏后按f9查看各变量有没有正常运算赋值(注意:战斗时是看不到的)(可能过程中存在忽略的多运算一次两次或多加减乘除了忘了减加除乘,也可能是数值除过后从一个疑似NaN变成一个真正的NaN或数值本身过大导致运算时被约整了),以及检查事件之间的逻辑(心中有数和做目录分支关系图很重要)。
  检查变量是检查事件的重点之一,变量问题,除了运算逻辑弄错(主要是循环问题,也可能是临时变量或公用变量忘了消值或忘记并行事件一直在给临时变量或公用变量反复赋值)。
  一个可能是所用或所要赋值的变量弄错了(因为名称类似的问题;或者,因为不熟悉代码,把代码中变量“变量”以为是变量了;或者,部分东西是以0来表示第1个的却不知道)。
  一个可能是运算和赋值符号弄错(“===”才是全等,“==”表示忽略细节的等于,“=”表示将右侧项目赋值到左侧(为某变量赋值要用set语句,而不是var xx=xx),“>=”才是表示大于等于,“+=”表示将右侧项目与左侧相加并赋值到左侧,NaN并不能等于它本身,NaN只能形式上相加并不会数值上相加(但形式是数值的NaN貌似可以相见))。
  排除法是一个很重要的方法,即逐个排查单个条件或单个事件是否有效和效果是否完全达到,其中,用空白对话框事件设置在事件各处,可以检查到事件各处大致有没有被触发到。
  用极端变量有时候可以检查出一些隐藏的bug,一般是条件(情况)没有充分考虑到;或者,NaN与非NaN的问题以及数值过大的约整。
  事件之间的顺序和变量没有及时消值,有时也是bug发生的重要原因。
  关于无法通行问题,如遇到无法通行或点击空白事件无法通行或点击事件以为无法促发(触发后偏偏移动不了),不一定是事件本身的问题,也可能是图块忘了设置可通行了。
  最后,所用到的事件本身没设置完(事件很多,大工程需要一步步做时最经常出现),也是bug产生的原因。

ps:做工程时,如果点击某些东西时(比如整体位移动画选择x或y是多少,或者选择变量是多少),总是莫名奇妙马上跳出来的,按下“alt+f4”说不定就能恢复正常(按下之前记得先保存工程)。

Lv2.观梦者

梦石
0
星屑
283
在线时间
62 小时
注册时间
2021-7-8
帖子
17
2
发表于 2021-8-30 09:32:23 | 只看该作者
谢谢总结经验,造福后来人
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-28 08:23

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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