Project1

标题: 删除数组中元素遇到的问题 [打印本页]

作者: 代人    时间: 2023-3-3 20:13
标题: 删除数组中元素遇到的问题
本帖最后由 代人 于 2023-3-4 15:56 编辑

打算做一个道具池,里边有二十个道具,每次随机拿取一个道具,直到道具池抽空。
没有js的基础,四处找资料把代码写成了这样:

JAVASCRIPT 代码复制
  1. $gameVariables.setValue(44,[91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110]);


初始化道具池

JAVASCRIPT 代码复制
  1. ◆变量操作:#0043 角色宝箱池/抽取 = $gameVariables.value(44)[Math.floor((Math.random()*$gameVariables.value(44).length))]
  2. var n = $gameVariables.value(43)-91 ;
  3. $gameVariables.value(44).splice(n,1) ;


————————————————————————————————————————————————————————————
在修改了判断写成赋值的部分以后,又发现上边的这串代码其实做不到删除数组中指定的数
找到了解决的方法:
JAVASCRIPT 代码复制
  1. var x = $gameVariables.value(43)
  2. var index = $gameVariables.value(44).indexOf(x);
  3. if (index > -1) {
  4. $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
qq983378065 发表于 2023-3-4 09:03
代码没看出问题,建议贴上整个事件

整个事件除了上边的那串,还写了其他对应道具的获得。

event.png (104.75 KB, 下载次数: 29)

event.png

作者: 代人    时间: 2023-3-4 15:04
qq983378065 发表于 2023-3-4 09:51
$gameVariables.value(44).lenth = 0
=应该是用==吧
=是赋值

谢谢您,第二次犯这错了,上次发帖也是因为这判断写成赋值,刻骨铭心了
作者: 小秋橙    时间: 2023-3-4 23:20
本帖最后由 小秋橙 于 2023-3-4 23:21 编辑
代人 发表于 2023-3-4 15:04
谢谢您,第二次犯这错了,上次发帖也是因为这判断写成赋值,刻骨铭心了 ...


js语言千万不要用==,应该用===,因为==0的东西太多了。
而且最好写成 0 === xxxxxx,这样如果只写了一个等号就会直接报错而不是静悄悄地执行失败。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1