flash - Actionscript 2 grandes mapas basados en mosaicos que crean retraso
actionscript-2 lag (1)
Me pregunto cuál sería la mejor manera de crear grandes mapas basados en mosaicos en flash con actionscript 2.
Con mi código actual, cualquier mapa de más de 35x35 (1225 clips de película) comienza a retrasarse. Los mapas se crean a partir de una matriz multi-demensional simple, por ej.
var map = [[95,23,25,23,16,25],[95,23,25,23,16,25],[95,23,25,23,16,25]];
El programa simplemente crea un clip de película de un mosaico, va al marco apropiado y coloca el mosaico relativo a la ubicación del jugador. Cada ficha tiene una propiedad, que es "accesible" que es verdadera o falsa, que determina si el jugador puede caminar sobre ella o no. Estos mosaicos son hijos de un clip de película titular. Cuando los jugadores se mueven, el clip de película del titular se mueve (y el número de fichas que contiene).
¿Cuál sería la mejor manera de reducir el retraso en los mapas a gran escala?
Si solo una pequeña parte del mapa grande está visible a la vez, solo crearía las fichas secundarias de los clips de película para las que están actualmente visibles, y luego las agregará / eliminará a medida que la ventana gráfica se mueva.
Por otro lado, si muestra todo al mismo tiempo, probablemente necesite copiar gráficamente todas las teselas en un único clip de película grande usando la clase BitmapData
. Luego puede quitar las fichas de los clips de película para que Flash solo tenga que desplazarse un clip de película grande.
Dependiendo de cuáles sean sus teselas, también puede experimentar estableciendo cacheAsBitmap
en verdadero junto con la asignación de opaqueBackground
en todos los clips de película involucrados.