Project1
标题: 删除数组中元素遇到的问题 [打印本页]
作者: 代人 时间: 2023-3-3 20:13
标题: 删除数组中元素遇到的问题
本帖最后由 代人 于 2023-3-4 15:56 编辑
打算做一个道具池,里边有二十个道具,每次随机拿取一个道具,直到道具池抽空。
没有js的基础,四处找资料把代码写成了这样:
$gameVariables.setValue(44,[91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110]);
$gameVariables.setValue(44,[91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110]);
初始化道具池
◆变量操作:#0043 角色宝箱池/抽取 = $gameVariables.value(44)[Math.floor((Math.random()*$gameVariables.value(44).length))]
var n = $gameVariables.value(43)-91 ;
$gameVariables.value(44).splice(n,1) ;
◆变量操作:#0043 角色宝箱池/抽取 = $gameVariables.value(44)[Math.floor((Math.random()*$gameVariables.value(44).length))]
var n = $gameVariables.value(43)-91 ;
$gameVariables.value(44).splice(n,1) ;
————————————————————————————————————————————————————————————
在修改了判断写成赋值的部分以后,又发现上边的这串代码其实做不到删除数组中指定的数
找到了解决的方法:
var x = $gameVariables.value(43)
var index = $gameVariables.value(44).indexOf(x);
if (index > -1) {
$gameVariables.value(44).splice(index, 1);}
var x = $gameVariables.value(43)
var index = $gameVariables.value(44).indexOf(x);
if (index > -1) {
$gameVariables.value(44).splice(index, 1);}
作者: qq983378065 时间: 2023-3-3 20:13
本帖最后由 qq983378065 于 2023-3-4 10:01 编辑
$gameVariables.value(44).lenth = 0
=应该是用==吧
=是赋值
==才是判断
作者: qq983378065 时间: 2023-3-4 09:03
代码没看出问题,建议贴上整个事件
作者: 代人 时间: 2023-3-4 09:19
整个事件除了上边的那串,还写了其他对应道具的获得。
-
event.png
(104.75 KB, 下载次数: 29)
作者: 代人 时间: 2023-3-4 15:04
谢谢您,第二次犯这错了,上次发帖也是因为这判断写成赋值,刻骨铭心了
作者: 小秋橙 时间: 2023-3-4 23:20
本帖最后由 小秋橙 于 2023-3-4 23:21 编辑
js语言千万不要用==,应该用===,因为==0的东西太多了。
而且最好写成 0 === xxxxxx,这样如果只写了一个等号就会直接报错而不是静悄悄地执行失败。
欢迎光临 Project1 (https://rpg.blue/) |
Powered by Discuz! X3.1 |