1. Nie ma ogólnej najlepszej praktyki.
Jeśli masz dużo elementów (cząstek o złożonym kształcie), cząstek itp., Podejście do bufora bitmapy będzie znacznie szybsze. Bufor bitmap będzie również lepiej skalowany wraz ze wzrostem złożoności twoich duszków. Moduł renderujący wektor będzie działał wolniej dzięki bardziej złożonym kształtom lub animacjom animacji (animacja kształtu), ma jednak kilka innych zalet:
- Możesz dowolnie skalować zasoby, a nawet przybliżać scenę bez utraty jakości.
- Obracanie lub inne transformacje, takie jak pochylenie, będą znacznie łatwiejsze do wykonania na grafice wektorowej
Podsumowując, sprowadza się to do tego, jaką grę budujesz.
2. Używanie MovieClips zamiast bitmapowych arkuszy sprite
Myślę, że miałeś na myśli „bitmapy sprite-arkuszy”, a nie klasę AS3 Sprite ?
To naprawdę nie robi różnicy. Zawsze możesz zamienić animacje oparte na MovieClip na animowane mapy bitowe. Albo ręcznie, eksportując film do klatek i zamieniając go w arkusz sprite , lub dynamicznie, renderując arkusz sprite z MovieClip w czasie wykonywania. Oto jak bym to zrobił:
- Utwórz instancję MovieClip i
stop()
to.
- Utwórz
new BitmapData
obiekt o tej samej szerokości i wysokości co klip filmowy.
- Użyj metody draw () , aby wyrenderować MovieClip do BitmapData.
- Przechowuj obiekt BitmapData w tablicy lub wektorze.
- Przejdź do następnej klatki MovieClip i powtórz kroki 2–4, rób to, aż dojdziesz do ostatniej klatki MovieClip. Dobrym pomysłem jest również aktualizacja dwóch zmiennych o maksymalnej szerokości i maksymalnej wysokości klatek MovieClip (ponieważ mogą one zmieniać się z jednej klatki na drugą).
- Teraz możesz połączyć wszystkie przechowywane obiekty BitmapData w arkusz Sprite-Arkusz (użyj BitmapData.copyPixels () )
3. Animacje sprite
Jak wspomniano w odpowiedzi na pierwsze pytanie, nie ma na to jednoznacznej odpowiedzi. Jeśli potrzebujesz wykonać wiele transformacji ze swoimi obiektami, np. skalowanie i obracanie jest prawdopodobnie lepsze przy użyciu renderera natywnego Flash. Jeśli masz predefiniowane animacje, które można wypalać na arkuszach duszków (ręcznie lub dynamicznie), i jeśli chcesz wyświetlić setki duszków w tym samym czasie, wybierz silnik renderowania bitmap.