El personaje al caminar, tira un evento el cual para este caso solo importa si la direccion fue hacia arriba o hacia abajo para modificar los depth de los objetos.
Tanto el personaje como los paisajes se encuentran en un contenedor grafico (this._mapContainer) para poder realizar los intercambios de profundidades.
Lo que intento hacer es intercambiar las profundidades de todos los paisajes que haya en una misma fila de tiles con las del jugador (character) pero al hacer esto sale cualquier cosa. Creo que mi mayor problema en este caso es pensar la algoritmia necesaria para solucionar este problema. O tal vez haya algo en profundidades de AS3 que aun no conosca y pueda aliviarme la vida.
Código ActionScript :
public function updateLandscapeDepth(character:Character, direction:uint):void{ var row:uint = character.posY; for(var i:uint = 0; i < (this._mapLandscape[row] as Array).length; i++){ var landscape:Landscape = (this._mapLandscape[row] as Array)[i] as Landscape; this._mapContainer.swapChildren(character, landscape); } }
Espero que alguien me pueda dar una mano o alguna ayuda
Saludos, Benutti