GFA
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
-45%
Le deal à ne pas rater :
WHIRLPOOL OWFC3C26X – Lave-vaisselle pose libre 14 couverts – ...
339 € 622 €
Voir le deal

Animation avec RC_COPY.

Aller en bas

 Animation avec RC_COPY. Empty Animation avec RC_COPY.

Message par Jb Jeu 11 Avr - 8:20

Le listing qui suit vous montre comment faire une animation de sprite avec RC_COPY.
Le sprite suit le déplacement de la souris et est affiché avec une transparence.
Les 2 INLINES peuvent être sauvés en *.PI1 pour vous permettre de voir l'image de fond et le sprite avec son masque.
Cette première technique présente quelques scintillements au passage du sprite devant certaines couleurs, nous verrons dans un deuxième listing comment éviter ce scintillement par un SWAPING (méthode utilisée dans SABOTEUR III mais avec BITBLT).

Le RC_COPY . . . . . ,1 affiche le masque (uniquement la partie en couleur 0, couleur noire dans notre cas).
Le RC_COPY . . . . . ,7 affiche le sprite (uniquement dans le fond en couleur 0, couleur noire dans notre cas).

L'image de fond:
Pièce jointe:
Image de fond.jpg


Le sprite:
Pièce jointe:
Sprites.jpg

Code:
' *****************************************************************************
' *                                                                           *
' *                                                                           *
' *          D‚placement de sprite sur une image de fond en XBIOS(2)          *
' *                               avec  RC_COPY                               *
' *                                                                           *
' *                                                                           *
' *****************************************************************************
'
CLS
'
' ----------------------------- Les ‚crans
INLINE fond%,32066
INLINE sprite%,32066
'
' ----------------------------- Ecran physique
xb%=XBIOS(2)
'
' ----------------------------- On change la palette de couleurs
~XBIOS(6,L:fond%+2,32)
'
' ----------------------------- On affiche l'image de fond
BMOVE fond%+34,xb%,32000
'
' ----------------------------- D‚placement maximum (‚cran - 16)
x_max%=303
y_max%=183
'
' ----------------------------- On sauve la partie d'‚cran o— sera le sprite
RC_COPY xb%,0,0,16,16 TO sprite%,0,20
'
' ----------------------------- On affiche le masque du sprite
RC_COPY sprite%+34,16,0,16,16 TO xb%,0,0,1
'
'
' ----------------------------- On affiche le sprite

RC_COPY sprite%+34,0,0,16,16 TO xb%,0,0,7
'
' ----------------------------- On positionne la souris en 0,0
' ----------------------------- et on cache le curseur
mx%=0
mx2%=0
my%=0
my2%=0
SETMOUSE mx%,my%
HIDEM
'
' ----------------------------- Boucle de d‚placement du sprite
' ----------------------------- en en sort en cliquant un bouton de la souris
DO
 MOUSE mx%,my%,mk|
 ' --------------------------- SORTIE de boucle
 EXIT IF mk|>0
 '
 ' --------------------------- EmpŠche la sortie des limites
 IF mx%>x_max%
   mx%=x_max%
 ENDIF
 IF my%>y_max%
   my%=y_max%
 ENDIF
 '
 ' --------------------------- Si la souris est d‚plac‚e,
 ' --------------------------- repositionne le sprite sur la souris
 IF mx%<>mx2% OR my%<>my2%
   '
   ' ------------------------- Remet la partie ‚cran sauv‚e
   RC_COPY sprite%,0,20,16,16 TO xb%,mx2%,my2%
   '
   ' ------------------------- Sauve la nouvelle partie d'‚cran
   RC_COPY xb%,mx%,my%,16,16 TO sprite%,0,20
   '
   ' ------------------------- Affiche le masque
   RC_COPY sprite%+34,16,0,16,16 TO xb%,mx%,my%,1
   '
   ' ------------------------- Affiche le sprite
   RC_COPY sprite%+34,0,0,16,16 TO xb%,mx%,my%,7
   '
   ' ------------------------- Actualise mx2% et my2%
   mx2%=mx%
   my2%=my%
   '
 ENDIF
LOOP


0015 RC_COPY1.ZIP: [Vous devez être inscrit et connecté pour voir ce lien]

Jb

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

Revenir en haut Aller en bas

 Animation avec RC_COPY. Empty Re: Animation avec RC_COPY.

Message par Jb Jeu 25 Avr - 13:37

Mon ami George si tu avais par exemple les inline ce sera bien
Si non
Ils peuvent charger leur inline mais juste changer les coordonnées de rc copy par rapport à leur sprite
A plus Jb sans coeur

Jb

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

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