Bon, c'est fait :
http://fadest.free.fr/DevLynx/Sinscrol.zip
Ne vous fiez pas au nom, ce n'est pas un sinscroll (quoique, c'est tellement simple), mais un damier avec 8 sprites qui suivent une trajectoire à base de précalculs trigonomiques
Il y a le source commenté, les graphs (hum), les objets et le .o pour ceux qui veulent lancer sous Handy sans se fatiguer.
Voilà, s'il y a un graphiste volontaire pour nous faire un beau damier avec décor au fond et de beaux sprites d'ici VieuMikro, peut-être que Romu incluera votre travail dans sa MegaDemo
Un copier du texte d'explication fourni avec :
Un bon vieil effet classique des démos ST :
Le damier avec les sprites en boucle.
Evidemment, il faut retravailler les graphs, c'est juste un exemple.
donc chtite explication :
- le damier, en fait, chaque case est constituée de 4 sous-cases de couleurs adjacentes dans la palette, on utilise donc 8 couleurs de la palette juste pour le damier.
J'ai gardé le graph avec les 8 couleurs distinctes pour que vous conpreniez mieux. Je redéfinis la palette dans le source
char pal[]={
0x00,0x0F,0x0F,0x0F,0x0F,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x00,0x00,0x0F,0x0F,
0x00,0xFF,0xFF,0xFF,0xFF,0x0F,0x0F,0x0F,0x0F,0x88,0x00,0x0F,0xF0,0xFF,0xF0,0xFA};
On a en fait :
0xOG
0xBR
pour une couleur (indice n et n+16), remarque, ce n'est donc pas RGB...
ensuite, pour donner l'impression de défilement, il suffit de faire une rotation des indice 1 à 8 (et 17 à 24) de la palette et refaire un SetRGB.
evidemment, ça rend mieux avec un effet de perspective à la Space Harrier ou une boule type Amiga Boing Demo.
Pour la perspective, c'est mieux que les cases du haut soient plus fines que celles du bas, de manière à donner une impression d'infini.
Pour les sprites, idem, c'est un effet super simple :
- 2 tableaux précalculés (cf fichier Excel) de valeurs trigonométriques ajustées pour tenir dans les 160x102 de la Lynx.
cosinus en x et sinus en y donne un cercle, j'ai varié en faisant cos*sin sur le y pour faire un symbole infini.
Ensuite, je chaine 8 sprites et j'utilise 8 indices pour positionner leurs valeurs x et y à partir des précalculs.
Voilà, ce n'est pas optimisé du tout mais c'est trop rapide (d'ou les effets bizarres sur le damier, en pas à pas, ils ne se voient pas), les graphs sont moches, mais c'est très OldSchool comme effet et ça ne coute presque rien en temps machine.
et une image :
