2020年02月17日
ツクールの変数の値は、小数点以下が切り捨てられる
地形によって威力の変わるスキルを作ったときのこと。
小数点以下が切り捨てられることに気付きました。
rpg_objects.js563行目、変数の代入処理のところ。
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();
}
};
この「Math.floor」は小数点以下を切り捨てるメソッド。
これが切り捨てられる原因。
「Math.floor」メソッドをプラグインで書き換えればどうにかなりそうです。
しかし弊害が怖いので計算式の該当箇所を百分率にすることで解決。
勉強になりました。
小数点以下が切り捨てられることに気付きました。
rpg_objects.js563行目、変数の代入処理のところ。
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();
}
};
この「Math.floor」は小数点以下を切り捨てるメソッド。
これが切り捨てられる原因。
「Math.floor」メソッドをプラグインで書き換えればどうにかなりそうです。
しかし弊害が怖いので計算式の該当箇所を百分率にすることで解決。
勉強になりました。
【このカテゴリーの最新記事】
-
no image
-
no image
posted by tabirpglab at 20:20
| 技術情報(ツクールMV)