Rotazione nel causare bordi dell'immagine flash per guardare “pixely”, come risolvere?
-
21-08-2019 - |
Domanda
Ho un bitmap caricata in flash, per un gioco in 2D. La bitmap rappresenta un carattere e gira quando l'utente utilizza i tasti D (destra) A (sinistra) o. Il problema che ho è che il bordo dell'immagine diventa brutta durante la rotazione, si può vedere "pixel" (si può sempre vedere pixel, ma spero che tu capisca cosa intendo).
Come posso risolvere questo problema in ActionScript 3, forse modificare l'algoritmo di rotazione o "correggere" l'immagine dopo la rotazione? O dovrei salvare / rendere l'immagine in modo diverso, ad esempio in. Photoshop prima di utilizzarlo con Flash?
Aggiornamento:. Notare che lo sfondo del gioco è in continua evoluzione
Grazie in anticipo.
Soluzione
flash.display.Bitmap :: lisciatura proprietà ... i specifica langref, liscia, quando scala, ma funziona per la rotazione così ...
greetz
back2dos
Altri suggerimenti
Se l'immagine è un carico esterno (classe Loader), allora si può scrivere:
Bitmap(myLoader.content).smoothing=true;
Se è interna (il suo in biblioteca) è necessario fare clic destro sulla libreria bitmap> proprietà e attivare "Smoothing". Inoltre, se si sta istanziare come un BitmapData, allora avete bisogno di fare questo:
var bmp:BitmapData=new LibraryBitmap(0,0);
var bitmap:Bitmap=new Bitmap(bmp,"auto",true); //the third argument is smoothing
Saluti ...
Si potrebbe provare un semplice antialias lungo i bordi sommando i pixel che è lì e il pixel verrà sovrapposizione. Si potrebbe dare un'occhiata a Wu antialiasing per un esempio si potrebbe usare come un punto di partenza.
Una breve nota: la rotazione bitmap è lento, quindi durante il caricamento del gioco, potrebbe essere una buona idea di prendere i personaggi che sono spesso in rotazione, o sono comuni, ruotarle per ogni 1 grado che è possibile nel gioco, l'uso BitmapData.draw, e spingerlo su un array (o un vettore in FP10, se possibile), e quindi utilizzare tali bitmap.
YAY, run-in frasi!
Happy Coding! : -)