2010-08-17 7 views
1

Je crée une vue isométrique de tuiles en utilisant cette simple boucle imbriquée:Comment faire pivoter une vue isométique?

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); 
    } 
} 

les tuiles Ce arrange bien mais je dois faire pivoter la carte à intervalles de 90 degrés. Je n'ai pas besoin de déplacer les positions x, y de n'importe quelle case (car cela fausserait le tri de la profondeur), mais plutôt de sélectionner une autre image en utilisant le tableau 2d des chaînes d'étiquettes. Comment puis-je y parvenir?

Répondre

1

Décochez la case this post pour faire pivoter un tableau 2d que vous pouvez appliquer à votre baie mapTileLabelsAr. Ce n'est que pour une seule rotation à 90 degrés CW, mais cela montre comment les indices sont transformés pour vous aider à élaborer un algorithme pour vos besoins. Vous pouvez également simplement réinjecter le résultat retourné pour d'autres rotations.

Questions connexes