Bon puisque tout le monde s'en fout je me réponds à moi-même:
La solution la plus con consisterait à coder un moteur graphique "software" entièrement géré par le microprocesseur, qui trace l'ecran pixel par pixel, et puis ensuite il suffit de balancer le tableau de pixels dans flash.
C'est une solution intéressante pour faire du gros pixel oldschool mais c'est pas optimisé du tout, on ne profite pas du gpu côté version windows, ni du natif côté version flash. et en plus c'est inefficace au possible parce qu'on a pas forcément que ça à foutre de coder un moteur graphique de a à z
Voilà donc une approche possible:
- pour les deux tableaux de sprites, une série de 8 entiers pour chaque sprite: x,y,colonne,rangée,flipX,flipY,indexEffet,indexPalette
jusque là c'est facile, c'est pour les tile layers que ça va se compliquer
- d'abord les coordonnées x/y pour chaque calque, ainsi qu'indexEffet et indexPalette, là ça reste encore simple
là où ça se complique c'est pour mettre à jour les tuiles. on ne peut pas prévoir à l'avance quelles tuiles vont être ajournées ou pas.
c'est un peu à chacun sa cuisine, là je vais proposer une approche qui permet une consommation processeur constante.
on limite la vitesse de scroll à la largeur des tuiles. en vitesse max on va mettre à jour une rangée et une colonne sur le premier plan, et une colonne sur l'arrière-plan
je vais donc reserver dans ma ram alchemy une liste d'index de tuiles pour l'arrière-plan, et deux listes pour le premier-plan
voilà voilà
la communication alchemy->flash est donc gérée en lisant une quantité de nombres relativement petite
prochaine étape, comment appliquer ça au moteur 3d, héhéhé