我正在使用这个简单的嵌套循环创建等距切片视图:
const TILE_WIDTH:Number = 180;
const TILE_HEIGHT:Number = 90;
for( var i:Number = 0; i < 10; i++ ){
for( var j:Number = 0; j < 10; j++ ){
var tile:MovieClip = new TileMC(); // a movieclip in the library...
// with a different tile & label on each frame
tile.x = ( TILE_WIDTH / 2 ) * ( j - i );
tile.y = ( TILE_HEIGHT / 2 ) * ( j + i );
tile.gotoAndStop( mapTileLabelsAr[j][i] ); // a 2d array of strings
addChild( tile );
}
}
这很好地排列了瓷砖,但我需要以90度的间隔旋转地图。我不需要移动任何tile的x,y位置(因为这会搞砸深度排序),而只需使用标签字符串的2d数组选择不同的帧。我怎样才能做到这一点?
答案 0 :(得分:1)
关于旋转可应用于mapTileLabelsAr
阵列的二维阵列,请查看this post。
这仅适用于单个90度CW旋转,但它显示了如何转换索引以帮助您根据需要计算算法。您也可以将旋转后的结果反馈给其他旋转。