如何让我的评分系统更新正确的变量?

时间:2014-06-07 10:54:23

标签: actionscript-3 flash

请在http://pastebin.com/nHB81pVW

查看我的代码

您可能会注意到,有一些类是彩色气泡。 在这些类中,有一个名为addScore的函数,它调用pastebin中代码底部的一个increaseColor函数。

当气泡爆裂时,似乎更新了随机分数而不是相应的颜色......我怎样才能让它更新正确的颜色?

如果我需要更好地解释自己,请告诉我

2 个答案:

答案 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并修复了问题。

谢谢:)