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

Project1

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

[交流讨论] (踩坑)rpgmz变量不支持小数

[复制链接]

Lv3.寻梦者

梦石
0
星屑
2150
在线时间
220 小时
注册时间
2022-2-7
帖子
2
跳转到指定楼层
1
发表于 2026-5-5 21:58:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 sssxxx0e 于 2026-5-5 21:58 编辑

Q.想要在变量10里存0.5,但发现输出为0

进行尝试
1.
◆脚本:$gameVariables.setValue(10, 0.5);
:  :$gameVariables.setValue(11, $gameVariables.value(10) * 2);
:  :console.log($gameVariables.value(11));
2.
◆脚本:$gameVariables.setValue(1, 0.5);
◆文本:无, 无, 窗口, 底部
:  :\v[1]
结果都是0

A.搜索后发现
根本原因:
RPGMakerMZ的`$gameVariables.setValue`方法在存储数值时会进行向下取整,这是官方为了简化变量为“整数计数器”的设计。

`rmmz_objects.js` 这个核心脚本文件中。`Game_Variables` 类的 `setValue` 方法是这样定义的:
Game_Variables.prototype.setValue = function(variableId, value) {
       if (variableId > 0 && variableId < $dataSystem.variables.length) {
           if (typeof value === 'number') {
               value = Math.floor(value); // <--- 罪魁祸首就在这里!
           }
           this._data[variableId] = value;
           this.onChange();
       }



算是记录

Lv4.逐梦者

梦石
0
星屑
5973
在线时间
261 小时
注册时间
2018-1-22
帖子
211
2
发表于 2026-5-6 17:25:59 | 只看该作者
转成字符串类型就行了
自分自身の神様になること
回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-6-5 00:31

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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