下面是我的代码:
function castBurn()
{
var cardNumber = currentCard;// == 149 (currentCard:int)
var card1 = cardNumber - 1;// 149 - 1 = 148
var card2 = cardNumber + 1;// 149 +1 = 150
var card3 = cardNumber - row;// row = 23 and so on
var card4 = cardNumber + row;
//cardArray:Array (full of objects(Cards)
cardArray[card1].burn = true;// card1 is recognized and flips
cardArray[card2].burn = true;// throws a runtime error (term is unidentified)
cardArray[card3].burn = true;// See bottom for notes
cardArray[card4].burn = true;
for (var j = 0; j < cardArray.length; j++)
{// This works
var card = cardArray[j];
if (card.burn == true)
{
if (card.wall != true)
{
card.flip.gotoAndPlay(2);
}
}
}
}如果我用数字本身替换card1、card2、card3、card4变量,效果会很好。但我需要根据“当前卡”来计算这些数字...我以前已经做过好几次了。我错过了什么?..。我也尝试过编写var card1 = cardArray[currentCard + 1];,但该方法也不起作用。要让它工作,唯一的方法就是编写card1 = 148;
发布于 2014-12-20 23:59:18
AS3是一种强类型语言。在你的代码中使用类型声明,你的编译器会告诉你哪里出了问题。
https://stackoverflow.com/questions/27575187
复制相似问题