请在http://pastebin.com/nHB81pVW
查看我的代码您可能会注意到,有一些类是彩色气泡。 在这些类中,有一个名为addScore的函数,它调用pastebin中代码底部的一个increaseColor函数。
当气泡爆裂时,似乎更新了随机分数而不是相应的颜色......我怎样才能让它更新正确的颜色?
如果我需要更好地解释自己,请告诉我
答案 0 :(得分:0)
我认为这是你的错误:
bubbleList.splice(i,1);
bubbleList[i].addScore();
那是错的。我们假设你有一个数组:[1, 2, 3]
,而i
是1.当你执行splice(i, 1);
时,实际执行splice(1, 1);
,结果将是{ {1}},对吗?
但是,您执行[1, 3]
,实际上是bubbleList[i]
,在array(1)
的情况下,索引[1, 3]
的项目将 3 。
简要地说,您要移除一个元素,然后在数组中的 next 元素上执行1
。
相反,这样做:
addScore
bubbleList.splice(1, 1)[0].addScore();
将返回一个已删除的元素数组(在您的情况下是单个元素),因此您将元素作为位置0并在其上执行splice
。
干杯!
修改:或者如果您希望它更清晰 - 首先addScore
,然后addScore
;)
答案 1 :(得分:0)
感谢您的回答和提示。
我在removeChild和splice之前放置了addScore并修复了问题。
谢谢:)