Buenas,
Si estas con Flash 8, puedes mejorar ostensiblemente el rendimiento
usando BitmapData en vez de mil MCs... El procedimiento es simple y no
muy engorroso.
Al crear el fondo del escenario, lo que haces es usar un BitmapData como
cache grafico... Si antes tenias un for que "attachea" un clip y lo
posiciona, ahora tendrias lo mismo solo que al final de cada iteracion
del for lo "pintas" en un BitmapData y seguidamente borras el MC del
escenario... seria algo asi en seudo-codigo:
var bmp=new BitmapData();
for(var i=....)
cual=xml.attributes...;
var tile=fondo.attachMovie("tile_"+cual ...);
tile._x=posicionX;
tile._y=posicionY;
bmp.draw(fondo);
tile.removeMovieClip();
}
fondo.attachBitmap(bmp);
De esta manera te quedas tecnicamente con un solo MC+Bitmap para el
fondo (en vez de X*Y mcs+bitmaps), puedes pintar sobre el mismo
BitmapData con otras capas estaticas como rios y tal (todas las que
quieras, hasta el infinito, sin perder NADA de rendimiento)... y
finalmente usas un MC para el tanque o lo que sea que se tenga que mover
sobre el fondo.
Para saber que tienes en cada "celda" (ya que ya no habran movieclips
donde hacer el onPress) lo mas simple que se me ocurre es una matriz
bidimensional del tipo tiles[x][y]. Esto es sinteticamente agregar algo
asi al for:
tiles[posicionX][posicionY]=cual;
Y luego al onMouseDown "redondear" la posicion del mouse y buscar en la
matriz la correspondiente celda.
(esto ultimo, en cualquier caso, mejorara mucho el rendimiento comparado
a muchos MCs con onAlgo declarados)
Por otro lado, y como precedente (sin intencion de armar polemica) en la
mayoria de los casos (sobretodo con ilustraciones detalladas) un bitmap
ocupara menos recursos que el mismo bitmap "trazado" a vectores... Con
un bitmap (bitmapdata o no) Flash solo debe manejar los vectores del
grafico (4 creo no?) y su representacion grafica... con vectores, Flash
tendra que trabajar con bastantes mas vectores ademas de sus
representaciones graficas.
Saludos...
Felipe Fernandez Sanchez escribió:
> Hola Daniel y gracias por tu ayuda. El caso es que quiero construir un mapa
> para un juego. Dicho mapa estaría compuesto por casillas o celdas
> hexagonales, de forma que cada casilla puede ser de un tipo. Para ello tengo
> en la biblioteca varios png hexagonales para los distintos tipos de celda
> (pradera, desierto, mar, etc... y hasta 50). Además de esto, puede que haya
> varias capas (por ejemplo, que exista un rio sobre una pradera). La
> configuración de las casillas del mapa viene dada por el servidor, que envia
> informacion de donde se tiene que poner qué casilla. Yo rescato la info del
> servidor y voy "atachando" la celda (movieclip) correspondiente al tipo que
> recibo. Así voy atachando celda a celda y cuando se ha rellenado el mapa, se
> ponen ("solapan") otras casillas de una segunda o tercera capa. Por ejemplo,
> imagina que en una casilla tengo un tanque, pero necesito saber si está
> sobre una pradera, en el desierto, etc...En este caso no puedo poner sólo la
> casilla con el tanque, sino que tengo que poner el tanque y que la pradera
> se transparente donde no está el tanque.
>
> Por cierto, el swf final no ocupa mucho (32Kb o así)
> No se si me he explicado o me he liado más pero, básicamente, se trata de
> hacer una malla, celda a celda, con distintos tipos de celda a partir de sus
> correspondientes imagenes.
>
> Gracias de nuevo y otro saludo.
>
>
>
>
>> From: "Daniel Portilla" <[EMAIL PROTECTED]>
>> Reply-To: Lista dedicada a Actionscript <[email protected]>
>> To: "Lista dedicada a Actionscript" <[email protected]>
>> Subject: Re: [ASNativos] Creacion de mapas
>> Date: Thu, 21 Sep 2006 09:27:18 +0200
>>
>> Hola Felipe, perdona pero no entiendo muy bien lo que quieres hacer, a ver
>> si me lo puedes explicar mejor para que pueda ayudarte.
>>
>> Creo que para una cantidad así de movieclips podría ser mejor que lo
>> tuvieras todo cargado en el FLA, hacer una precarga.
>>
>> Lo que no he entendido es si ¿todas las casillas son diferentes? ¿o hay
>> varios grupos con casillas iguales?
>>
>> Explícame mejor qué tipo de imágenes manejas, porque quizás el problema sea
>> de optimizar el peso de imágenes. ¿cuanto pesa el SWF final?
>>
>> Salu2
>> -----------------------------------------------------
>> ASNativos
>> www.5dms.com
>> subscripciones/desubscripciones
>> http://asnativos.5dms.com
>> -----------------------------------------------------
>>
>
>
>
> -----------------------------------------------------
> ASNativos
> www.5dms.com
> subscripciones/desubscripciones
> http://asnativos.5dms.com
> -----------------------------------------------------
>
>
-----------------------------------------------------
ASNativos
www.5dms.com
subscripciones/desubscripciones
http://asnativos.5dms.com
-----------------------------------------------------