所以我有这个代码
function flip(e:MouseEvent)
{
//assign choice a random deck index.
choice=int(deck[Math.round((Math.random()*deck.length))]);
if(choice!=int(deck[9]))
{
//removeChild(MovieClip(e.target));
//position firecard.
addChild(fire);
fire.x=e.target.parent.x;
fire.y=e.target.parent.y;
//remove cardback
e.target.parent.removeChild(MovieClip(e.target));
fire.parent.setChildIndex(fire,numChildren-2);
trace(choice);
}
else if(choice==int(deck[9]))
{
trace(choice);
water.x=e.target.parent.x;
water.y=e.target.parent.y;
e.target.parent.removeChild(MovieClip(e.target));
water.parent.setChildIndex(water,numChildren-2);
}
}
评论几乎解释了一切应该做什么。Flip 是通过影片剪辑中的侦听器调用的。Choice 是一个在每次调用 Flip 时随机选取的数字,并从 Deck Array 的随机索引中获取其值。然后不管选择如何,被点击的卡片被移除,并根据选择变量在其位置放置一张卡片。但是,会发生两个错误(在编译器或输出中都没有执行任何操作)。
当我点击另一张卡片时,创建(触发)的新卡片也会被删除。我希望他们留在原地。
跟踪总是打印一个 0。它不应该打印从 0 到 9 的任何东西吗?
PS:Deck 有 10 个值。其中9个是“火”,最后一个是“水”。选择从 0 初始值开始。