【发布时间】:2013-09-06 07:50:59
【问题描述】:
我有一种方法可以在 Bejeweled 中交换两件,但是当用户进行没有匹配的交换时,动画交换不会出现在用户面前。
即当用户尝试交换宝石但没有匹配时,宝石保持静止。应该发生的是宝石交换位置,意识到没有匹配并交换回来。
我认为问题在于,如果没有匹配项并且用户没有动画,交换几乎会立即发生。
如何减慢第二次交换(即交换回)的执行时间,以便出现交换动画?
// start animated swap of two pieces
public function makeSwap(piece1,piece2:Piece)
{
swapPieces(piece1,piece2);
//check to see if move works
if (lookForMatches().length == 0)
{
swapPieces(piece1,piece2); //Swap the piece back
}
else
{
isSwapping = true;
}
}
// swap two pieces
public function swapPieces(piece1,piece2:Piece)
{
// swap row and col values
var tempCol:uint = piece1.col;
var tempRow:uint = piece1.row;
piece1.col = piece2.col;
piece1.row = piece2.row;
piece2.col = tempCol;
piece2.row = tempRow;
// swap grid positions
grid[piece1.col][piece1.row] = piece1;
grid[piece2.col][piece2.row] = piece2;
}
【问题讨论】:
标签: actionscript-3 flash animation flash-cs5