GFA
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
-39%
Le deal à ne pas rater :
Pack Home Cinéma Magnat Monitor : Ampli DENON AVR-X2800H, Enceinte ...
1190 € 1950 €
Voir le deal

[e-anim] Blitter sprites

5 participants

Aller en bas

[e-anim] Blitter sprites Empty [e-anim] Blitter sprites

Message par tomchi Mar 2 Mar - 23:33


Avec l'aval de Shadow, je vais poster en anglais, enfin franglais comme ils disent Razz .
D'une part parce que ce code est destiné à Thorn qui ne parle pas français et d'autre part parce qu'on ne sait jamais, des fois que ça serve à quelqu'un ... ^^'

Here is a generic sprite routine using blitter, don't expect too much, it's been written to be easily understood and editable, there's then much room for optimization (NFSR bit for example), but it's hopefully rock solid (compared to rc_copy) and I'd say quite fast compared to other ways to move sprites in GFA basic. ( wink Thomas Razz )
Any bunch of code to improve it is welcome as well as constructive criticism and feedback.

It handles many sprites, size and location have to be on a 16 pixel boundary, you can choose which bitplanes you wanna move ( better know what you're doing if you have a background to restore).
It also restores background, two PROCEDURES allowing this, the one in the example is the fastest.
When using no background, call the erase procedure instead of restore procedure.

Feel free to ask any question regarding how to use it, even if I made it as obvious as possible I'll happily help if possible.

Pressing F1/F2 will switch on/off the cpu left before end of vbl ( blue is cpu time still avaible ).
I ripped XENON sprites and tiles so that it looks cool hehe Razz (four 16*16 pix sprites plus the joystick controlable ship 32*22 pix, all 5 sprites restoring background and being masked and plotted on both 4 bitplanes )



[Vous devez être inscrit et connecté pour voir ce lien]
tomchi
tomchi

Messages : 52
Date d'inscription : 15/09/2018
Age : 49

Atlantis, Jb et þorN aiment ce message

Revenir en haut Aller en bas

[e-anim] Blitter sprites Empty Re: [e-anim] Blitter sprites

Message par ManuM Mer 3 Mar - 21:45

Merci Tomchi Smile , je risque de poser beaucoup de question pour comprendre comment cela fonctionne Wink

ManuM

Messages : 171
Date d'inscription : 01/01/2018
Localisation : Loir et Cher

Jb et tomchi aiment ce message

Revenir en haut Aller en bas

[e-anim] Blitter sprites Empty Re: [e-anim] Blitter sprites

Message par tomchi Jeu 4 Mar - 6:29

N'hésite pas, c'est pour ça que je l'ai postée sur le forum 😉
tomchi
tomchi

Messages : 52
Date d'inscription : 15/09/2018
Age : 49

Jb aime ce message

Revenir en haut Aller en bas

[e-anim] Blitter sprites Empty Re: [e-anim] Blitter sprites

Message par tomchi Jeu 4 Mar - 6:51

Using the No Final Source Read bit trick revealed to be damn easy and saved around 16 scanlines of CPU time \o/
Doing the FOR NEXT stuff in the procedures rather than in the main loop, avoiding calling the procedures for each sprite, tho less flexible, also saved around 16 scanlines.
Still, what chews most time isn't the blits but the GFA code...
tomchi
tomchi

Messages : 52
Date d'inscription : 15/09/2018
Age : 49

Jb aime ce message

Revenir en haut Aller en bas

[e-anim] Blitter sprites Empty Re: [e-anim] Blitter sprites

Message par Atlantis Jeu 4 Mar - 16:35

Merci Tomchi! Smile

Allez qui s'y colle maintenant pour faire un shoot en GFA ? Very Happy
Atlantis
Atlantis

Messages : 98
Date d'inscription : 20/02/2018
Localisation : Seine et Marne

http://www.safargames.fr

Revenir en haut Aller en bas

[e-anim] Blitter sprites Empty Re: [e-anim] Blitter sprites

Message par Jb Dim 16 Mai - 10:51

Mmmmmmmm
petit problème avec le gfa il me dit
le programme n'est pas en gfa 3.0
alors que je suis en gfa 3.07
Maître tomchi peu tu nous dire en quel version du gfa es tu

Jb

Messages : 143
Date d'inscription : 25/03/2018
Age : 47
Localisation : Tantonville

Revenir en haut Aller en bas

[e-anim] Blitter sprites Empty Re: [e-anim] Blitter sprites

Message par Shadow272 Dim 16 Mai - 10:59

Une tite traduc via Google traduct:
Voici une routine générique de sprite utilisant blitter, ne vous attendez pas à trop, elle a été écrite pour être facilement comprise et modifiable, il y a alors beaucoup de place pour l'optimisation (bit NFSR par exemple), mais elle est, espérons-le, solide comme le rc_copy) et Je dirais assez rapide par rapport aux autres moyens de déplacer des sprites dans GFA Basic. (clin d'oeil Thomas Razz)
Tout paquet de code pour l'améliorer est le bienvenu, ainsi que des critiques et des commentaires constructifs.

Il gère de nombreux sprites, la taille et l'emplacement doivent être sur une limite de 16 pixels, vous pouvez choisir les bitplanes que vous souhaitez déplacer (mieux vaut savoir ce que vous faites si vous avez un arrière-plan à restaurer).
Il restaure également l'arrière-plan, deux PROCÉDURES le permettant, celle de l'exemple est la plus rapide.
Si vous n'utilisez pas d'arrière-plan, appelez la procédure d'effacement au lieu de la procédure de restauration.

N'hésitez pas à poser n'importe quelle question sur la façon de l'utiliser, même si je l'ai rendu aussi évident que possible, je serai heureux de vous aider si possible.

Appuyez sur F1 / F2 pour allumer / éteindre le processeur gauche avant la fin de vbl (le bleu est le temps du processeur toujours disponible).
J'ai déchiré les sprites et les tuiles XENON pour que ça ait l'air cool hehe Razz (quatre sprites 16 * 16 pix plus le vaisseau contrôlable par joystick 32 * 22 pix, les 5 sprites restaurant l'arrière-plan et étant masqués et tracés sur les deux 4 bitplanes)
Shadow272
Shadow272
Admin

Messages : 328
Date d'inscription : 28/12/2017
Age : 65
Localisation : Hainaut Belgique

http://toutatari.blog4ever.xyz/

Revenir en haut Aller en bas

[e-anim] Blitter sprites Empty Re: [e-anim] Blitter sprites

Message par Shadow272 Dim 16 Mai - 11:09

Jb a écrit:Mmmmmmmm
petit problème avec le gfa il me dit
le programme n'est pas en gfa 3.0
alors que je suis en gfa 3.07
Maître tomchi peu tu nous dire en quel version du gfa es tu

Essaye avec les GFA 3.5, ça fonctionne.
Shadow272
Shadow272
Admin

Messages : 328
Date d'inscription : 28/12/2017
Age : 65
Localisation : Hainaut Belgique

http://toutatari.blog4ever.xyz/

Revenir en haut Aller en bas

[e-anim] Blitter sprites Empty Re: [e-anim] Blitter sprites

Message par Jb Dim 16 Mai - 11:11

ok je teste de suite

Jb

Messages : 143
Date d'inscription : 25/03/2018
Age : 47
Localisation : Tantonville

Revenir en haut Aller en bas

[e-anim] Blitter sprites Empty Re: [e-anim] Blitter sprites

Message par Jb Dim 16 Mai - 11:17

yes ça fonctionne
maintenant essayons de comprendre comment le code fonctionne

Jb

Messages : 143
Date d'inscription : 25/03/2018
Age : 47
Localisation : Tantonville

Revenir en haut Aller en bas

[e-anim] Blitter sprites Empty Re: [e-anim] Blitter sprites

Message par Jb Dim 16 Mai - 11:36

bon ok  Shocked
je retourne apprendre la fonction PRINT tongue
c 'est plus simple pour le moment

par contre je suis sur un jeux pong a 4 joueurs
apparemment il y as une fonction qui ce nomme SPRITE
qui as deja utiliser cette fonction car la vitesse de  déplacement de ma boule varie avec les manettes
voila ce que j'ai trouver si quelqu'un pouvez m'éclairer


SPRITE A$,x,y[,mode][,mem]
CLS
A$=MKI$(0)+MKI$(0)+MKI$(&H0010)
FOR I=1 TO 16
 A$=A$+MKI$(65535)
NEXT I

en faite je voudrais déplacer une petite boule le plus rapidement possible
pour le moment je le fait avec des rc_copy
ça fonctionne pas mal
mais la boule ralentie avec la valeur des manettes étendue du ste

Jb

Messages : 143
Date d'inscription : 25/03/2018
Age : 47
Localisation : Tantonville

Revenir en haut Aller en bas

[e-anim] Blitter sprites Empty Re: [e-anim] Blitter sprites

Message par Shadow272 Dim 16 Mai - 11:43

Tu peux aussi essayer avec l'éditeur de souris pour ce qui est du motif (balle)
Ou l'utiliser en tant que curseur de souris et la positionner avec SETMOUSE.

A tester . . .
Shadow272
Shadow272
Admin

Messages : 328
Date d'inscription : 28/12/2017
Age : 65
Localisation : Hainaut Belgique

http://toutatari.blog4ever.xyz/

Revenir en haut Aller en bas

[e-anim] Blitter sprites Empty Re: [e-anim] Blitter sprites

Message par Jb Dim 16 Mai - 11:47

as oui ce sera peu etre tres rapide du coup
et me servir de la fonction SPRITE juste pour les raquette

Jb

Messages : 143
Date d'inscription : 25/03/2018
Age : 47
Localisation : Tantonville

Revenir en haut Aller en bas

[e-anim] Blitter sprites Empty Re: [e-anim] Blitter sprites

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum