1. Non esiste una migliore pratica generale.
Se hai molti elementi (di forma complessa), particelle ecc. Nel tuo gioco, l'approccio del buffer bitmap sarà molto più veloce. Anche il buffer bitmap si ridimensionerà meglio con l'aumentare della complessità degli sprite. Il vettore di rendering si diventerà più lento con forme più complesse o interpolazione (Shape Tween) animazioni, ha alcuni altri vantaggi però:
- Puoi ridimensionare liberamente le tue risorse o persino ingrandire la scena senza perdita di qualità.
- La rotazione o altre trasformazioni come l'inclinazione saranno molto più facili da eseguire sulla grafica vettoriale
Quindi, in conclusione, si riduce a che tipo di gioco stai costruendo.
2. Usare MovieClips invece di fogli sprite bitmap
Immagino volessi dire "fogli sprite bitmap" e non la classe Sprite AS3 ?
Questo non fa differenza, davvero. Puoi sempre trasformare le tue animazioni basate su MovieClip in bitmap animate. O manualmente, esportando il filmato in fotogrammi e trasformandoli in un foglio sprite , o dinamicamente, eseguendo il rendering di un foglio sprite dal MovieClip in fase di esecuzione. Ecco come farei questo:
- Crea un'istanza di MovieClip e di
stop()
essa.
- Crea un
new BitmapData
oggetto con la stessa larghezza e altezza del Movie Clip.
- Utilizzare il metodo draw () per eseguire il rendering di MovieClip su BitmapData.
- Archivia l'oggetto BitmapData in una matrice o in un vettore.
- Vai al fotogramma successivo di MovieClip e ripeti i passaggi 2 - 4, fallo fino a quando non raggiungi l'ultimo fotogramma di MovieClip. È anche una buona idea aggiornare due variabili con la larghezza massima e l' altezza massima dei fotogrammi MovieClip (poiché possono cambiare da fotogramma a fotogramma).
- Ora puoi combinare tutti gli oggetti BitmapData memorizzati in un foglio Sprite (usa BitmapData.copyPixels () )
3. Animazioni basate su Sprite
Come menzionato nella risposta alla tua prima domanda, non esiste una risposta definitiva a questo. Se devi eseguire molte trasformazioni con i tuoi oggetti, ad es. ridimensionamento e rotazione probabilmente stai meglio usando il renderer nativo flash. Se hai animazioni predefinite che possono essere cotte su fogli di sprite (manualmente o dinamicamente) e se devi visualizzare centinaia di sprite contemporaneamente, scegli un motore di rendering bitmap.