var gridArray:Array = new Array(7);
gridArray[0] = [4,2,1,1,2,3,1];
gridArray[1] = [2,2,1,4,2,1,2];
gridArray[2] = [1,2,1,2,1,1,2];
gridArray[3] = [2,2,2,5,1,1,2];
gridArray[4] = [1,2,2,1,1,1,2];
gridArray[5] = [1,1,2,2,2,2,2];
gridArray[6] = [2,1,2,3,1,1,2];
for (var i:int=0; i<gridArray.length; i++)
{
for (var u:int=0; u<gridArray[i].length; u++)
{
var tile:MovieClip = new Tile();
tile.gotoAndStop(gridArray[i][u]);
tile.x = (u-i);
tile.y = (u+i);
addChild(tile);
}
}
tile.addEventListener(MouseEvent.ROLL_OVER, mouseover);
所以上面是在一个生成网格的for循环中。它在一个名为 Main 的类中。影片剪辑 Tile 有 5 个帧,其中包含不同的内容。我在 Tile 类中有一个名为 hp 的变量,我在其中分配了一个数字。
if (currentFrame == 1)
{
hp = 10;
}
else if (currentFrame == 2)
{
hp = 20;
}
else if (currentFrame == 3)
{
hp = 30;
}
else if (currentFrame == 4)
{
hp = 40;
}
else if (currentFrame == 5)
{
hp = 50;
}
我通过使用鼠标翻转事件来跟踪瓷砖的 hp,但结果我只得到 10 个(这意味着它在第 1 帧上),即使我的数组有不同的帧。下面是我的鼠标悬停功能
编辑:
function mouseover(event:MouseEvent)
{
trace(event.currentTarget.currentFrame, Tile.hp);
}
如何跟踪每个单独的图块?我正在考虑将 currentframe 添加到 Tile.hp,但这似乎不起作用。