TUTO Amateur 02 les SPRITES
2 participants
TUTO Amateur 02 les SPRITES
A la demande de JB.
Animation de sprite sur décor.
Nous aurons besoin pour ça de 5 écrans de 32000 octets (oublions le XBIOS 2)
- Les écrans1 et 2 serviront à l’affichage, on utilisera pour ça un swaping.
- Écran 3 le décor
- Écran 4 les sprites
- Écran 5 les masques des sprites
Commençons :
1. Fixer les adresses des écrans.
Pour les écrans 3, 4 et 5 il s’agit d’images PI1 (32000 octets)
Les écrans 1 et 2 peuvent être construits comme suit :
écran1$=SPACE$(32000)
écran2$=SPACE$(32000)
écran1%=v:écran1$
écran12=v:écran2$
écran3%=v:écran 3
écran4%=v:écran 4
écran5%=v:écran 5
2. copier le décor sur les écrans 1 et 2.
BMOVE écran3 %, écran1 %, 32000
BMOVE écran3 %, écran2 %, 32000
3. afficher le premier sprite sur l’écran 1 :
Masque du sprite
RC_COPY (ou BITBLT) écran5 %, x, y, largeur, hauteur to écran1 %, x, y,1
Sprite
RC_COPY (ou BITBLT) écran4 %, x, y, largeur, hauteur to écran1%, x, y,7
Afficher le tout avec ~XBIOS(5,L:écran2 %,écran1 %,)
4, afficher le sprite suivant sur l’écran 2
Masque du sprite
RC_COPY (ou BITBLT) écran5 %, x, y, largeur, hauteur to eéran2 %, x, y,1
Sprite
RC_COPY (ou BITBLT) écran4 %, x, y, largeur, hauteur to écran2 %, x, y,7
5. swaper les adresse écrans
SWAP écran1 %, écran2 %
Afficher le tout avec ~XBIOS(5,L:écran2 %,écran1 %,)
6. effacer le sprite sur l’écran précédent
RC_COPY (ou BITBLT) écran3 %, x, y, largeur, hauteur to écran2 %, x, y
! ! ! les x et y sont les coordonées d’affichage du point 3
Et on recommence au point 4
Animation de sprite sur décor avec avant-plan
Nous aurons besoin pour ça de 7 écrans de 32000 octets (oublions le XBIOS 2)
- Les écrans1 et 2 serviront à l’affichage, on utilisera pour ça un swaping.
- Écran 3 le décor
- Écran 4 les sprites
- Écran 5 les masque des sprites
- Écran 6 l’avant-plan
- Écran 7 le masque de l’avant-planns :
1. Fixer les adresses des écrans.
Pour les écrans 3, 4 et 5 il s’agit d’images PI1 (32000 octets)
Les écrans 1 et 2 peuvent être construits comme suit :
écran1$=SPACE$(32000)
écran2$=SPACE$(32000)
écran1%=v:écran1$
écran12=v:écran2$
écran3%=v:écran 3
écran4%=v:écran 4
écran5%=v:écran 5
écran6%=v:écran 6
écran7%=v:écran 7
2. copier le décor sur les écrans 1 et 2.
BMOVE écran3 %, écran1 %, 32000
BMOVE écran3 %, écran2 %, 32000
Masque de l’avant-plan
RC_COPY (ou BITBLT) écran5 %, x0 0, 320, 200 to écran1 %, 0, 0,1
L’avant-plan
RC_COPY (ou BITBLT) écran5 %, x0 0, 320, 200 to écran1 %, 0, 0,7
3. afficher le premier sprite sur l’écran 1 :
Masque du sprite
RC_COPY (ou BITBLT) écran5 %, x, y, largeur, hauteur to écran1 %, x, y,1
Sprite
RC_COPY (ou BITBLT) écran4 %, x, y, largeur, hauteur to écran1%, x, y,7
4. afficher l’avant-plan :
Masque de l’avant-plan
RC_COPY (ou BITBLT) écran5 %, x, y, largeur, hauteur to écran1 %, x, y,1
Avant-plan
RC_COPY (ou BITBLT) écran4 %, x, y, largeur, hauteur to écran1%, x, y,7
Afficher le tout avec ~XBIOS(5,L:écran2 %,écran1 %,)
5, afficher le sprite suivant sur l’écran 2
Masque du sprite
RC_COPY (ou BITBLT) écran5 %, x, y, largeur, hauteur to eéran2 %, x, y,1
Sprite
RC_COPY (ou BITBLT) écran4 %, x, y, largeur, hauteur to écran2 %, x, y,7
6. afficher l’avant-plan :
Masque de l’avant-plan
RC_COPY (ou BITBLT) écran5 %, x, y, largeur, hauteur to écran2 %, x, y,1
Avant-plan
RC_COPY (ou BITBLT) écran4 %, x, y, largeur, hauteur to écran2%, x, y,7
7. swaper les adresse écrans
SWAP écran1 %, écran2 %
Afficher le tout avec ~XBIOS(5,L:écran2 %,écran1 %,)
8. effacer le sprite sur l’écran précédent
RC_COPY (ou BITBLT) écran3 %, x, y, largeur, hauteur to écran2 %, x, y
RC_COPY (ou BITBLT) écran6 %, x, y, largeur, hauteur to écran2 %, x, y, 1
RC_COPY (ou BITBLT) écran7%, x, y, largeur, hauteur to écran2 %, x, y, 7
! ! ! les x et y sont les coordonées d’affichage du point 3
Et on recommence au point 5.
Animation de sprite sur décor.
Nous aurons besoin pour ça de 5 écrans de 32000 octets (oublions le XBIOS 2)
- Les écrans1 et 2 serviront à l’affichage, on utilisera pour ça un swaping.
- Écran 3 le décor
- Écran 4 les sprites
- Écran 5 les masques des sprites
Commençons :
1. Fixer les adresses des écrans.
Pour les écrans 3, 4 et 5 il s’agit d’images PI1 (32000 octets)
Les écrans 1 et 2 peuvent être construits comme suit :
écran1$=SPACE$(32000)
écran2$=SPACE$(32000)
écran1%=v:écran1$
écran12=v:écran2$
écran3%=v:écran 3
écran4%=v:écran 4
écran5%=v:écran 5
2. copier le décor sur les écrans 1 et 2.
BMOVE écran3 %, écran1 %, 32000
BMOVE écran3 %, écran2 %, 32000
3. afficher le premier sprite sur l’écran 1 :
Masque du sprite
RC_COPY (ou BITBLT) écran5 %, x, y, largeur, hauteur to écran1 %, x, y,1
Sprite
RC_COPY (ou BITBLT) écran4 %, x, y, largeur, hauteur to écran1%, x, y,7
Afficher le tout avec ~XBIOS(5,L:écran2 %,écran1 %,)
4, afficher le sprite suivant sur l’écran 2
Masque du sprite
RC_COPY (ou BITBLT) écran5 %, x, y, largeur, hauteur to eéran2 %, x, y,1
Sprite
RC_COPY (ou BITBLT) écran4 %, x, y, largeur, hauteur to écran2 %, x, y,7
5. swaper les adresse écrans
SWAP écran1 %, écran2 %
Afficher le tout avec ~XBIOS(5,L:écran2 %,écran1 %,)
6. effacer le sprite sur l’écran précédent
RC_COPY (ou BITBLT) écran3 %, x, y, largeur, hauteur to écran2 %, x, y
! ! ! les x et y sont les coordonées d’affichage du point 3
Et on recommence au point 4
Animation de sprite sur décor avec avant-plan
Nous aurons besoin pour ça de 7 écrans de 32000 octets (oublions le XBIOS 2)
- Les écrans1 et 2 serviront à l’affichage, on utilisera pour ça un swaping.
- Écran 3 le décor
- Écran 4 les sprites
- Écran 5 les masque des sprites
- Écran 6 l’avant-plan
- Écran 7 le masque de l’avant-planns :
1. Fixer les adresses des écrans.
Pour les écrans 3, 4 et 5 il s’agit d’images PI1 (32000 octets)
Les écrans 1 et 2 peuvent être construits comme suit :
écran1$=SPACE$(32000)
écran2$=SPACE$(32000)
écran1%=v:écran1$
écran12=v:écran2$
écran3%=v:écran 3
écran4%=v:écran 4
écran5%=v:écran 5
écran6%=v:écran 6
écran7%=v:écran 7
2. copier le décor sur les écrans 1 et 2.
BMOVE écran3 %, écran1 %, 32000
BMOVE écran3 %, écran2 %, 32000
Masque de l’avant-plan
RC_COPY (ou BITBLT) écran5 %, x0 0, 320, 200 to écran1 %, 0, 0,1
L’avant-plan
RC_COPY (ou BITBLT) écran5 %, x0 0, 320, 200 to écran1 %, 0, 0,7
3. afficher le premier sprite sur l’écran 1 :
Masque du sprite
RC_COPY (ou BITBLT) écran5 %, x, y, largeur, hauteur to écran1 %, x, y,1
Sprite
RC_COPY (ou BITBLT) écran4 %, x, y, largeur, hauteur to écran1%, x, y,7
4. afficher l’avant-plan :
Masque de l’avant-plan
RC_COPY (ou BITBLT) écran5 %, x, y, largeur, hauteur to écran1 %, x, y,1
Avant-plan
RC_COPY (ou BITBLT) écran4 %, x, y, largeur, hauteur to écran1%, x, y,7
Afficher le tout avec ~XBIOS(5,L:écran2 %,écran1 %,)
5, afficher le sprite suivant sur l’écran 2
Masque du sprite
RC_COPY (ou BITBLT) écran5 %, x, y, largeur, hauteur to eéran2 %, x, y,1
Sprite
RC_COPY (ou BITBLT) écran4 %, x, y, largeur, hauteur to écran2 %, x, y,7
6. afficher l’avant-plan :
Masque de l’avant-plan
RC_COPY (ou BITBLT) écran5 %, x, y, largeur, hauteur to écran2 %, x, y,1
Avant-plan
RC_COPY (ou BITBLT) écran4 %, x, y, largeur, hauteur to écran2%, x, y,7
7. swaper les adresse écrans
SWAP écran1 %, écran2 %
Afficher le tout avec ~XBIOS(5,L:écran2 %,écran1 %,)
8. effacer le sprite sur l’écran précédent
RC_COPY (ou BITBLT) écran3 %, x, y, largeur, hauteur to écran2 %, x, y
RC_COPY (ou BITBLT) écran6 %, x, y, largeur, hauteur to écran2 %, x, y, 1
RC_COPY (ou BITBLT) écran7%, x, y, largeur, hauteur to écran2 %, x, y, 7
! ! ! les x et y sont les coordonées d’affichage du point 3
Et on recommence au point 5.
Dernière édition par Shadow272 le Jeu 20 Mai - 16:06, édité 1 fois
Re: TUTO Amateur 02 les SPRITES
Nikel
grand MERCI pour ce cour gfa
grand MERCI pour ce cour gfa
Jb- Messages : 143
Date d'inscription : 25/03/2018
Age : 47
Localisation : Tantonville
Sujets similaires
» TUTO Amateur 01 INLINE
» [ST MAG] Programmation avancée en gfa (III) Sprites
» [e-anim] Blitter sprites
» TUTO amateur 003 désactive le bip clavier
» TUTO Amateur 00 RC_COPY
» [ST MAG] Programmation avancée en gfa (III) Sprites
» [e-anim] Blitter sprites
» TUTO amateur 003 désactive le bip clavier
» TUTO Amateur 00 RC_COPY
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum