收藏
回答

为什么编辑列表和表格时,会把用户输入的数字都转化成字符串?

开发小游戏的过程中遇到bug,经过反复调试得知列表和表格中输入的数字都会转化为字符串,强烈要求支持数字类型。

详情请点击:https://gamemaker.weixin.qq.com/ide#/home/lbNjc4NGVjM2YtNzAwMy00MjNiLTk2NWQtOWMyMzhiY2NkOWE4

查看小游戏制作工具官方文档可知:列表包含的元素应该支持数字和文本。

然而打开调试模式可知,后台会默认把数字转化为字符串,而列表也会把用户输入的数字转化成字符串,这样正好实现了列表包含数字的功能,这种实现是不合理的。

问题总结:用户创建变量时如果输入的是数字,后台保存的也是数字,这会带来潜在bug。

问题描述:假设用户编辑的列表 list 只有 1,2,3 三个数字,有一个变量a=1,运行list包含a,会得到false,这与用户预期不符,原因是后台将 [1,2,3] 转化成了["1","2","3"]。

腾讯文化的首要就是尊重用户,为什么用户输入的是数字,却转化成了字符串呢?

故而建议如下:

一、检测用户编辑列表和表格时输入的内容,如果是数字,就保存为数字,反之,保存为字符串。

二、检查所有涉及的api,例如:将变量a设置成1,不要将1转化成字符串"1";列表list包含1,不要将1转化成字符串"1"。

总结起来一句话:不要一股脑把用户的输入转化成字符串,而是要分情况处理。

PS:这是我开发小游戏过程中遇到的最无厘头的坑,坑还有很多,但是该用还是要用,该感谢还是要感谢。


回答关注问题邀请回答
收藏

2 个回答

  • 强哥
    强哥
    2024-12-24

    这个貌似没办法,要么将就用,要么换其它开发工具

    2024-12-24
    有用 1
    回复 1
    • 胡落阳
      胡落阳
      发表于移动端
      2024-12-24
      感谢强哥的回复,真的是挺好的一个实现创意的工具,大体功能也都实现了,就是一些细节部分感觉实现太粗糙,如果能完善下就完美了,目前我只能给它打七十分。
      2024-12-24
      回复
  • Sing
    Sing
    2024-12-24

    试着将它理解为一种特性,遵循这个特性就好了。这个工具现在都不更新了,别要求太多。

    2024-12-24
    有用 1
    回复 1
    • 胡落阳
      胡落阳
      发表于移动端
      2024-12-24
      感谢大神亲自回复,这个不能理解为特性,只能理解为粗糙。挺好的一个工具,就是这些槽点,逼迫用户离开。我一个程序员用起来都蛋疼,更别提可视化工具面向的主流用户了。
      2024-12-24
      回复
登录 后发表内容