[2D] Sprite Scrolling
- falsam
- Messages : 7244
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
[2D] Sprite Scrolling
J'utilise actuellement un procédé de barbare pour scroller un sprite verticalement et/ou horizontalement.
Le principe consiste à afficher l'image une première fois puis la suivant avec un décalage horizontal et/ou vertical.
Ce n'est pas ce qui est le plus performant et ça se voit si je fais du parallaxe avec 5 layers par exemple.
Je pense que le mieux est de passer par les fonctions ClipSprite() et avant de me lancer dedans, j'aimerais savoir si quelqu'un à déja ce genre de procédure ?
Merci d'avance.
Le principe consiste à afficher l'image une première fois puis la suivant avec un décalage horizontal et/ou vertical.
Ce n'est pas ce qui est le plus performant et ça se voit si je fais du parallaxe avec 5 layers par exemple.
Je pense que le mieux est de passer par les fonctions ClipSprite() et avant de me lancer dedans, j'aimerais savoir si quelqu'un à déja ce genre de procédure ?
Merci d'avance.
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: Sprite Scrolling
le deplacement d'un sprite, ça le fait en principe !!
ce code , le demontre bien (utiliser les touches flechées droite et bas)
http://www.purebasic.fr/french/viewtopi ... lax#p52491
ce code , le demontre bien (utiliser les touches flechées droite et bas)
http://www.purebasic.fr/french/viewtopi ... lax#p52491
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"
- falsam
- Messages : 7244
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: Sprite Scrolling
Merci Zorro mais ce code utilise la superposition de couches et non pas un ClipSprite() comme je le souhaite. De plus le déplacement à gauche ou vers le haut merdouille.
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: Sprite Scrolling
voici une methode a base non pas de clipSprite, que je ne trouve pas pratique
mais de GrabSprite() qui a l'avantage de creer le sprite ...
j'ai bien commenté le code , le principe est simple
nous avons une bande horizontale de tissus ringard avec des bandes de couleurs , (morceau du pygama a KCC )
cette bande est tendue sur l'ecran ,
1- on affiche la bande complete (#sprite_bande ) (pas moi.. )
2- on decoupe une bande verticale a droite de l'ecran de largeur 10 (largeur_decoupe )
3- on deplace le reste de la bande vers la droite de la largeur de la decoupe
4- on pose la decoupe a gauche
5- on recoud l'ensemble grace a GrabSprite() je refabrique un sprite #sprite_bande nouveau
6- on recommence
mais de GrabSprite() qui a l'avantage de creer le sprite ...
j'ai bien commenté le code , le principe est simple
nous avons une bande horizontale de tissus ringard avec des bandes de couleurs , (morceau du pygama a KCC )
cette bande est tendue sur l'ecran ,
1- on affiche la bande complete (#sprite_bande ) (pas moi.. )
2- on decoupe une bande verticale a droite de l'ecran de largeur 10 (largeur_decoupe )
3- on deplace le reste de la bande vers la droite de la largeur de la decoupe
4- on pose la decoupe a gauche
5- on recoud l'ensemble grace a GrabSprite() je refabrique un sprite #sprite_bande nouveau
6- on recommence
Code : Tout sélectionner
;***********************************************
;Titre :*exemple_sprite Scrolling infini, a base de GrabSprite
;Auteur : Zorro
;Date :24/07/2016
;Heure :18:05:19
;Version Purebasic : PureBasic 5.50 beta 1 (Windows - x86)
;Version de l'editeur :EPB V2.64
; Libairies necessaire : Aucune
;***********************************************
Structure sprite
x.i
y.i
Pas_x.i
Pas_y.i
im.l ; image sprite
EndStructure
nbr_sprite=1
Dim sprite.sprite(nbr_sprite)
largeur_decoupe=150
sprite(nbr_sprite)\pas_x.i=largeur_decoupe
#sprite_buffer=200
#sprite_bande=0
If InitSprite() = 0 Or InitKeyboard() = 0
MessageRequester("Erreur", "Le système de Sprite ne peut pas être initialisé", 0)
End
EndIf
ExamineDesktops()
largeur_ecran=DesktopWidth(0)
hauteur_ecran=DesktopHeight(0)
largeur_decoupe=10
sprite(#sprite_bande)\x.i=0
sprite(#sprite_bande)\y.i=(hauteur_ecran/2)-(256/2)
If OpenScreen(largeur_ecran, hauteur_ecran, 32, "Visualisation")
; *********** creation et dessin du sprite 1*******************
CreateSprite(0,largeur_ecran,256,#PB_Sprite_PixelCollision)
StartDrawing(SpriteOutput(0))
For i=1 to largeur_ecran/10
box(stepx,0,10,256,RGB(random(255),random(255),random(255)))
stepx=stepx+10
Next i
StopDrawing()
; ********************************************************
; *********** creation et dessin du sprite buffer (qui va recuperer la decoupe *******************
CreateSprite(#sprite_buffer,largeur_decoupe,256,#PB_Sprite_PixelCollision)
; ********************************************************
; ********** Affichage des sprites ****************************
Repeat
; on affiche la sprite bande
DisplayTransparentSprite(#sprite_bande, sprite(#sprite_bande)\x, sprite(#sprite_bande)\y)
; on decoupe a droite
GrabSprite(#sprite_buffer,largeur_ecran-largeur_decoupe,sprite(#sprite_bande)\y,largeur_decoupe,256)
; on deplace le sprite bande de la largeur de la decoupe vers la droite (donc a la suite de notre bande decoupéé)
DisplayTransparentSprite(#sprite_bande, sprite(#sprite_bande)\x+largeur_decoupe, sprite(#sprite_bande)\y)
; on pose la bande decoupé au debut de l'ecran
DisplayTransparentSprite(#sprite_buffer, 0, sprite(#sprite_bande)\y)
; on refait le sprite bande complet avec le résultat (sprite buffer + sprite bande )
GrabSprite(#sprite_bande,0,sprite(#sprite_bande)\y.i,largeur_ecran,256)
; et on recommence
; on peut suprimer notre buffer (le sprite qui contient la decoupe)
FreeSprite(#sprite_buffer)
; *********************************************
StartDrawing(ScreenOutput())
DrawText(10, 580, "Touche Esc pour quitter." , RGB(242, 249, 85), RGB(0, 0, 0))
StopDrawing()
FlipBuffers()
ClearScreen(RGB(0,0,0))
ExamineKeyboard()
Until KeyboardPushed(#PB_Key_Escape)
Else
MessageRequester("Erreur", "Impossible d'ouvrir un écran en 800 * 600 - 32 bits!", 0)
EndIf
End
;
;
;
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"
- falsam
- Messages : 7244
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: Sprite Scrolling
Merci Zorro. Le principe est pas mal mais créer et supprimer le sprite à chaque fois va être pénalisant si on a plusieurs layers à scroller.
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: Sprite Scrolling
J'ai testé vite fait, ça rend plutôt bien
Image 1 :
Image 2 :
Code : Tout sélectionner
; Ar-S Parallax / clipsprite
UsePNGImageDecoder()
Enumeration
#Fenetre_principale
EndEnumeration
Enumeration
#ter
#her
EndEnumeration
Define.l Evenement, EvenementGadget
Global StyleFen.i=#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered
If Not (InitSprite() And InitSound() And InitKeyboard())
End
EndIf
OpenWindow(#Fenetre_principale, 0, 0, 200, 135, "scroll", StyleFen)
If OpenWindowedScreen(WindowID(#Fenetre_principale), 0, 0, 200, 135, 1, 0, 0)
LoadSprite(#ter,"paralax.png",#PB_Sprite_AlphaBlending)
LoadSprite(#her,"herbe.png",#PB_Sprite_AlphaBlending)
EndIf
Xter = 0
Repeat ;Evemement 2D
Repeat
Evenement = WindowEvent()
Select Evenement
Case #PB_Event_CloseWindow
End
EndSelect
Until Evenement=0
ClearScreen(RGB(0, 0, 0))
ClipSprite(#ter, Xter, 0, 200, 135)
DisplayTransparentSprite(#ter,0,0)
ClipSprite(#her, Xher, 0, 200, 135)
DisplayTransparentSprite(#her,0,0)
If Xher >= 600
Vitesse = -2
ElseIf Xher <= 0
Vitesse = 2
EndIf
Xter+Vitesse/2
XHer+Vitesse
FlipBuffers()
ForEver
Image 2 :
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: Sprite Scrolling
pas mal
pour ceux qui veulent tester le code de AR-s sans avoir a récuperer les images
Ps j'ai du ajouter un TransparentSprite() car en telechargeant on perd la transparence des images
cependant, le but de la chose, si j'ai bien compris, c'est de creer un defilé infini du decors
d'ou mon exemple a base de GrabSprite()
@Falsam , j'efface les sprite par soucis de bien faire
mais GrabSprite ecrase le sprite existant !!
cependant mon system de decoupe ne pourrai pas etre utilisé avec des images comme celles de Ar-s
car si on prends la partie droite, pour la coller a gauche , ça le fera pas
il faut faire comme pour les boucles Audio
avoir une fin et un debut "bouclable"
a moins de faire une copie complete ....
pour ceux qui veulent tester le code de AR-s sans avoir a récuperer les images
Ps j'ai du ajouter un TransparentSprite() car en telechargeant on perd la transparence des images
Code : Tout sélectionner
; Ar-S Parallax / clipsprite
UsePNGImageDecoder()
Enumeration
#Fenetre_principale
EndEnumeration
Enumeration
#ter
#her
EndEnumeration
Define.l Evenement, EvenementGadget
Global StyleFen.i=#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered
If Not (InitSprite() And InitSound() And InitKeyboard())
End
EndIf
Declare catchimage_net(adr$)
OpenWindow(#Fenetre_principale, 0, 0, 200, 135, "scroll", StyleFen)
If OpenWindowedScreen(WindowID(#Fenetre_principale), 0, 0, 200, 135, 1, 0, 0)
; LoadSprite(#ter,"paralax.png",#PB_Sprite_AlphaBlending)
;LoadSprite(#her,"herbe.png",#PB_Sprite_AlphaBlending)
ima1=catchimage_net("http://share.ldvmultimedia.com/herbe.png")
ima2=catchimage_net("http://share.ldvmultimedia.com/paralax.png")
if isimage(ima1) and isimage(ima2)
createSprite(#her,ImageWidth(ima1),ImageHeight(ima1))
StartDrawing(SpriteOutput(#her))
DrawImage( imageId(ima1),0,0)
StopDrawing()
CreateSprite(#ter,ImageWidth(ima2),ImageHeight(ima2))
StartDrawing(SpriteOutput(#ter))
DrawImage(imageId(ima2),0,0)
StopDrawing()
Else
MessageRequester("erreur","peut pas charger les images")
End
Endif
EndIf
TransparentSpriteColor(#her,RGB(255,255,255))
Xter = 0
Repeat ;Evemement 2D
Repeat
Evenement = WindowEvent()
Select Evenement
Case #PB_Event_CloseWindow
End
EndSelect
Until Evenement=0
ClearScreen(RGB(0, 0, 0))
ClipSprite(#ter, Xter, 0, 200, 135)
DisplayTransparentSprite(#ter,0,0)
ClipSprite(#her, Xher, 0, 200, 135)
DisplayTransparentSprite(#her,0,0)
If Xher >= 600
Vitesse = -2
ElseIf Xher <= 0
Vitesse = 2
EndIf
Xter+Vitesse/2
XHer+Vitesse
FlipBuffers()
ForEver
Procedure CatchImage_Net(Adr$)
InitNetwork()
Protected image
; By Ar-S
*Buffer = ReceiveHTTPMemory(Adr$)
If *Buffer
Image = CatchImage(#PB_Any, *Buffer, MemorySize(*Buffer) )
FreeMemory(*Buffer)
ProcedureReturn Image
Else
ProcedureReturn #false
EndIf
EndProcedure
cependant, le but de la chose, si j'ai bien compris, c'est de creer un defilé infini du decors
d'ou mon exemple a base de GrabSprite()
@Falsam , j'efface les sprite par soucis de bien faire
mais GrabSprite ecrase le sprite existant !!
cependant mon system de decoupe ne pourrai pas etre utilisé avec des images comme celles de Ar-s
car si on prends la partie droite, pour la coller a gauche , ça le fera pas
il faut faire comme pour les boucles Audio
avoir une fin et un debut "bouclable"
a moins de faire une copie complete ....
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"
Re: Sprite Scrolling
en fait avec Purebasic, nul besoin de cliper pour faire un scroll !
les SPrites se suffisent a eux meme
exemple de Scroll infini avec les images de Ar-s
les SPrites se suffisent a eux meme
exemple de Scroll infini avec les images de Ar-s
Code : Tout sélectionner
; Ar-S Parallax / clipsprite
; Modif Zorro
UsePNGImageDecoder()
Enumeration
#Fenetre_principale
EndEnumeration
Enumeration
#ter
#her
#ter2
#her2
EndEnumeration
Define.l Evenement, EvenementGadget
Global StyleFen.i=#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered
If Not (InitSprite() And InitSound() And InitKeyboard())
End
EndIf
Declare.l loadsprite_net(adr$,nom_fichier$)
OpenWindow(#Fenetre_principale, 0, 0, 800, 135, "scroll", StyleFen)
If OpenWindowedScreen(WindowID(#Fenetre_principale), 0, 0, 800, 135, 1, 0, 0)
LoadSprite(#ter,"paralax.png",#PB_Sprite_AlphaBlending)
LoadSprite(#her,"herbe.png",#PB_Sprite_AlphaBlending)
if issprite(ima1)<>0 and issprite(ima2)<>0
Else
MessageRequester("erreur","peut pas charger les images")
End
Endif
EndIf
TransparentSpriteColor(#her,RGB(255,255,255))
CopySprite(#her,#her2)
CopySprite(#ter,#ter2)
Xter = 0
Xher = 0
xter2=xter-800
xher2=xher-800
Repeat ;Evemement 2D
Repeat
Evenement = WindowEvent()
Select Evenement
Case #PB_Event_CloseWindow
End
EndSelect
Until Evenement=0
ClearScreen(RGB(0, 0, 0))
DisplayTransparentSprite(#ter,xter,0) ; lui sera afficher normalement
DisplayTransparentSprite(#ter2,xter2,0) ; il prend une largeur de retard
DisplayTransparentSprite(#her,xher,0)
DisplayTransparentSprite(#her2,xher2,0)
Vitesse = 4
Xter+Vitesse/2
Xter2+Vitesse/2
XHer+Vitesse
XHer2+Vitesse
If Xter >= 800
Xter=-800
EndIf
If Xter2 >= 800
Xter2=-800
EndIf
If Xher >= 800
Xher=-800
EndIf
If Xher2 >= 800
Xher2=-800
EndIf
FlipBuffers()
ForEver
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"
- falsam
- Messages : 7244
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: Sprite Scrolling
Merci à vous deux.
@Ar-s: Joli Code. Malheureusement il ne fonctionne pas pour un scroll en continu.
@Zorro: Ton code fonctionne mais tu utilises la technique par superposition d'image que je cherche justement à ne plus utiliser.
@Ar-s: Joli Code. Malheureusement il ne fonctionne pas pour un scroll en continu.
@Zorro: Ton code fonctionne mais tu utilises la technique par superposition d'image que je cherche justement à ne plus utiliser.
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: Sprite Scrolling
ben je ne connais pas d'autre façons de faire un parralax !falsam a écrit :Merci à vous deux.
@Ar-s: Joli Code. Malheureusement il ne fonctionne pas pour un scroll en continu.
@Zorro: Ton code fonctionne mais tu utilises la technique par superposition d'image que je cherche justement à ne plus utiliser.
d'ailleurs c'est tres bien imagé et expliqué sur le net
ou alors j'ai loupé un episode quelque part
sinon TazNormand avait fait un tuto sur le parallax en utilisant justement un clipSprite
http://www.purebasic.fr/french/viewtopi ... 0&start=15
mais le clipSprite, n'est qu'un moyen de decoupe d'un sprite
mais pour obtenir un effet parallax, t'es obligé de superposer tes images , quelque soit leur taille
car si les bandes sont simplement l'une au dessus des autres, ça le fera pas .
Dernière modification par Zorro le dim. 24/juil./2016 23:45, modifié 1 fois.
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"
- falsam
- Messages : 7244
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: Sprite Scrolling
je ne te parle pas de la superposition des layers mais de l'affichage décalé de chacun de tes layers.
Par exempel dans ton exemple tu affiches l'herbe deux fois de suite avec un décalage et la meme chose pour la terre.
C'est ce que je faisais aussi jusqu'à présent et je voulais voir si il n'y avait pas une autre façon de faire avec SpriteClip()
Si ton sprite est trop petit en largeur ton code ne fonctionne plus.
Par exempel dans ton exemple tu affiches l'herbe deux fois de suite avec un décalage et la meme chose pour la terre.
C'est ce que je faisais aussi jusqu'à présent et je voulais voir si il n'y avait pas une autre façon de faire avec SpriteClip()
Si ton sprite est trop petit en largeur ton code ne fonctionne plus.
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: Sprite Scrolling
tu peux faire la methode que j'ai donné au debut (avec mon GrabSprite()falsam a écrit :je ne te parle pas de la superposition des layers mais de l'affichage décalé de chacun de tes layers.
Par exempel dans ton exemple tu affiches l'herbe deux fois de suite avec un décalage et la meme chose pour la terre.
C'est ce que je faisais aussi jusqu'à présent et je voulais voir si il n'y avait pas une autre façon de faire avec SpriteClip()
mais ça force a avoir des images qui soient bouclabes !!
mais vu la vitesse d'execution de Purebasic, c'est se donner du mal pour rien !
ben ça depend !Si ton sprite est trop petit en largeur ton code ne fonctionne plus.
si c'est une voiture, en avant plan , pas de problèmes
si c’est le fond, ok , t'es obligé de répéter, ou de resizer ....
en fait ya pas 36 façons de faire un scrolling
soit tu découpes une bande, et tu décales en reposant ta bande a l'opposé (1er methode montré )
soit tu scroll l'ensemble de ton image , répétée de sorte qu'elle soit plus large que ton ecran (le double en largeur ) (2em methode montré )
(et hauteur si tu veux pouvoir scroller dans tout les sens )
en dehors de ça, franchement, je vois pas !!
Djes est un specialiste de la demo , il pourra répondre ...
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"
Re: Sprite Scrolling
J'avais dit que je l'avais fait à l'arrache
Qui dit parallax dit redondance des images, voilà un exemple de scroll "infini" utilisant le clipsprite().
Donc j'ai refait mes images pour qu'elle puissent correspondre au scroll.
Les 2 nouvelles images http://share.ldvmultimedia.com/imagescrolll.zip
(p.s : oui il est tard, je rentre de concert ^^)
Au cas ou les images ou le zip disparaissent, la même chose avec les images en datas
Qui dit parallax dit redondance des images, voilà un exemple de scroll "infini" utilisant le clipsprite().
Donc j'ai refait mes images pour qu'elle puissent correspondre au scroll.
Les 2 nouvelles images http://share.ldvmultimedia.com/imagescrolll.zip
(p.s : oui il est tard, je rentre de concert ^^)
Code : Tout sélectionner
; Ar-S / Infinite Parallax Scroll using clipsprite.
; Clip de 200px de large uniquement
UsePNGImageDecoder()
Enumeration
#Fenetre_principale
#ter
#her
EndEnumeration
Define.l EV
Global StyleFen.i=#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered
If Not (InitSprite() And InitSound() And InitKeyboard())
End
EndIf
OpenWindow(#Fenetre_principale, 0, 0, 200, 135, "scroll", StyleFen)
If OpenWindowedScreen(WindowID(#Fenetre_principale), 0, 0, 200, 135, 1, 0, 0)
LoadSprite(#ter,"paralax.png",#PB_Sprite_AlphaBlending)
LoadSprite(#her,"herbe.png",#PB_Sprite_AlphaBlending)
Xter = 0
Repeat ;Evemement 2D
Repeat
EV = WindowEvent()
Select EV
Case #PB_Event_CloseWindow
End
EndSelect
Until EV=0
ClearScreen(RGB(0, 0, 0))
ClipSprite(#ter, Xter, 0, 200, 135)
DisplayTransparentSprite(#ter,0,0)
ClipSprite(#her, Xher, 0, 200, 135)
DisplayTransparentSprite(#her,0,0)
If Xher >= 600
Xher = 0
EndIf
If xter >= 400
Xter=0
EndIf
vitesse = 2
Xter+Vitesse/2
XHer+Vitesse
FlipBuffers()
ForEver
Else
Debug "ça chie" : End
EndIf
Code : Tout sélectionner
; Ar-S / Infinite Parallax Scroll using clipsprite.
; Clip de 200px de large uniquement
UsePNGImageDecoder()
Enumeration
#Fenetre_principale
#ter
#her
EndEnumeration
Define.l EV
Global StyleFen.i=#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered
If Not (InitSprite() And InitSound() And InitKeyboard())
End
EndIf
OpenWindow(#Fenetre_principale, 0, 0, 200, 135, "scroll", StyleFen)
If OpenWindowedScreen(WindowID(#Fenetre_principale), 0, 0, 200, 135, 1, 0, 0)
CatchSprite(#ter,?paralax_png_start,#PB_Sprite_AlphaBlending)
CatchSprite(#her,?herbe_png_start,#PB_Sprite_AlphaBlending)
Xter = 0
Repeat ;Evemement 2D
Repeat
EV = WindowEvent()
Select EV
Case #PB_Event_CloseWindow
End
EndSelect
Until EV=0
ClearScreen(RGB(0, 0, 0))
ClipSprite(#ter, Xter, 0, 200, 135)
DisplayTransparentSprite(#ter,0,0)
ClipSprite(#her, Xher, 0, 200, 135)
DisplayTransparentSprite(#her,0,0)
If Xher >= 600
Xher = 0
EndIf
If xter >= 400
Xter=0
EndIf
vitesse = 2
Xter+Vitesse/2
XHer+Vitesse
FlipBuffers()
ForEver
Else
Debug "ça chie" : End
EndIf
DataSection
paralax_png_start:
; size : 7616 bytes
Data.q $0A1A0A0D474E5089,$524448490D000000,$8700000020030000,$3D81EE0000000608,$58457419000000A3
Data.q $72617774666F5374,$2065626F64410065,$6165526567616D49,$00003C65C9717964,$DA7854414449621D
Data.q $C79555DD90799DEC,$9DD24E9D26BD7BCF,$FB092013A010B3A4,$050101016C240212,$652E208234054559
Data.q $D4D4C7F3A3A5528D,$D56538D4D54D4D4C,$EA3A28E14E38EA58,$511119938E3A8CB8,$4571187067714106
Data.q $F7EBF5B204B08450,$BCE97E97E7BE9CE6,$AA9F3E5BF7F6FD7E,$BBF7F7DDD3BAD953,$AE6E7BDEF7EFDCF7
Data.q $0000000000092A54,$00000004D3C82740,$0000000100800000,$0000000008040000,$0000000004020000
Data.q $0000000000201000,$0000000000100800,$0000000000008040,$0000000000000402,$0800000000000201
Data.q $0400000000000010,$4020000000000008,$0201000000000000,$0100800000000000,$0008040000000000
Data.q $0004020000000000,$0000201000000000,$0000010080000000,$0000008040000000,$0000000402000000
Data.q $0000000201000000,$0000000010080000,$0000000000804000,$0000000000402000,$0000000000020100
Data.q $0000000000010080,$2000000000000804,$1000000000000040,$0080000000000020,$8868000000000001
Data.q $5CFCE5BC7DA09A5E,$3122E3DC9F6E9F33,$6BFE931E8B16265F,$3C4ABBFEF22F99A9,$6480400000000028
Data.q $A31A431AFD1D1314,$0C6B16354B1A631A,$0FE35678D2ECC7FA,$D1377FE33C6A4F1A,$81807880000118AC
Data.q $1C96376810080005,$0CE34638D4AC6BE6,$CC0C805CEB1A4D8D,$71AC3C805CBB2048,$DDBBFB7BFE03C6BF
Data.q $058181CC80001108,$AB1A7999A8100800,$278B6342B8D6CE35,$8D63C0B2B1155C8F,$F1ADDC684F1A25C6
Data.q $69A3EC6B8F241745,$200016060F520001,$34E348B1A4AEA040,$C0D658D62E35EB8D,$346BC695654263FF
Data.q $7E35A7C682F8D1CE,$32DB3264AE73B1A8,$0307B10000EB4B3F,$37B633502010000B,$E29C6A378E8B8577
Data.q $38D36E88962CD77F,$4A78D2EE35EFE356,$0300E9000005EB82,$4181D7502010000B,$2DC69D7E54B61A13
Data.q $38D3CF4CF0DBEB1A,$46FC68CF8D30E344,$183C48000253C0A3,$9530BA8100800058,$D84AB71AB5D52E62
Data.q $E35DBEFFEC2EDBA3,$40BD68E0927F8D28,$0058181788000132,$02E350B276810080,$0AAC223E2CDB1B8D
Data.q $C1253E35C635ABCA,$90000BDFD84C7AD1,$4492010000B03034,$F11E562CDEABAC9A,$5AEBF077C71F1744
Data.q $79F1AB5AD1C8C649,$ADA869425424878D,$B03071D0000BDFD8,$4CECA54AE4352000,$D8BE993920109B26
Data.q $4BA232782FA657A9,$EE7D93B974A8A29D,$85DA31E4F0EF1AA1,$35DB1A1DA7BEDF1F,$5D32F3C69F71AE3E
Data.q $0291029A2334A52D,$95960661968FE400,$E6B3A5F38D13FDD7,$AF501C2447B5E5A1,$B05CC0003722C0C9
Data.q $FA86AC32263AAB05,$C09612E58D12C6B0,$347B31FE79A762ED,$AB57EC9D8BE9939E,$812EC36E07D7B21E
Data.q $447C4977978855B2,$D24E35AB867EC822,$9A2E3DF56584BAF8,$E9969EAA0BB2D5CC,$000BFBD8DFECAA0B
Data.q $876581ACDBD8DCD0,$DB790BB538D2AFCE,$4B8D7DB6120DDFBE,$02910E422D560693,$E93AB0F0B2C90080
Data.q $81F26C822ACFD876,$3102467069D8BA3F,$5078D51E42D561B1,$6D5CB0913F1A3BE3,$9AE0C0ECAF5B66FF
Data.q $94364C9EFD6CFC18,$B6B86DD88128B725,$E5BFE0F50933F24A,$500000231709E522,$BB480002C0C11E7B
Data.q $8313CE7912C16900,$3D33FC07D33A976D,$8B1CFA29D8BB5469,$34DFFE04DB083EAD,$A265E9C69371AD7E
Data.q $27133BF966E4DBA5,$94C5CDBEE7EC3C2B,$D2F659FF2FFF85D5,$2C0C0F0AAA00006D,$CA4D1136A8002C0C
Data.q $F4CBCDBFED169019,$A0E8834668347872,$DB3D946E12CD8C27,$6AF203EB3C334593,$CA6E128BCA93B81F
Data.q $1AEC7048F7F0DAB5,$E61480075E58717E,$B032544AAC0C4698,$EFC836861964932E,$020004722C0D0692
Data.q $90F683E721C9E924,$07CFBC496C28898B,$E9D0B84B8C7C48C9,$EEA73016461206E4,$692BF1A13E422E77
Data.q $26120005C90A1AB0,$02C0C0C6AC0C0C2E,$8BBC9019EB488380,$B1A39F7F2C25C38E,$2CA7A3E265338251
Data.q $C22F5FE0FA649481,$848F78D2AE9B6AA3,$EBCB6264F61F9052,$036DD1B48002CB6C,$C4BBF6B1D247B16B
Data.q $2010000B0369A6DB,$AFB0EDDADEF6C571,$20C92AFAD3617090,$4E63350ABCF2B372,$A12DBE34138D16DC
Data.q $4800787D42DDFC3E,$2C0C5369ED581807,$4B60A4B100A54800,$7B83849378D32FE0,$EF9D62976264BED0
Data.q $2BDC68771A9BE442,$60608920001D7961,$009548002C0C17B5,$A84A378D28ED41B1,$B3FBD8EDA3C03E55
Data.q $C6A0F97B559F45C2,$003CD229159C2567,$1606073AB0301090,$F7E4F80C8042A400,$F2AC79D05638258F
Data.q $D9FFB094EF85398B,$048001088B7FD796,$160607F9BDD58180,$4932A0B4F3A40200,$8F0D71ADDF7C4F9F
Data.q $DF1EDAFCB7446BB3,$2D78F1A03F9FF837,$3025D00026AA9DCF,$24020016060FBAB0,$05BC0A1DAE32D851
Data.q $6EFDB76267AB11F1,$752584C7C6BDF8D3,$0301A95818036800,$A68A24C613A3200B,$2B7BABD84BC71A45
Data.q $7EA5ED94EF76318F,$001269FAB84B84B3,$67BF15818538E188,$80079E7957581912,$D986E89015949294
Data.q $1279E22CAC3C2E95,$244CB18C78FBCE96,$CFC6A9F8D7AF1AE3,$F21BCE4988001269,$EE638AC0C106E9F1
Data.q $3A83761BCB2C0C88,$F6C15D201000B1D5,$1AD5C662A1261EE8,$78F5BD4EC5A84BA7,$AD8D2CEB9CBB460B
Data.q $BA001DEB52F3F612,$98844B2560611E35,$2D74804002C0C440,$66FC3356B02DD869,$DBE92B26C92C2017
Data.q $9A6BF58B8252BBF3,$BE67FD7B05A11A04,$3D0FB38E374B4697,$60607733256060B6,$6B0CB442BA402001
Data.q $D970A471AADF40FB,$9C7C20DDBF935253,$913C3A049A499127,$FBFBF772E6ADC3B1,$3E0A76156F7FE7D8
Data.q $A27EFE131E2DB1B1,$FF92B031ECF3D224,$10B03029A0B030FC,$49371AD58F8AF520,$49D1285D087188A8
Data.q $ED4D970902E35464,$F418E89803A049A4,$CFFD2B218FA56F77,$E35178D898C63E43,$4FCC4DD80EF70969
Data.q $9A012847B1A33C68,$74160601D2B03064,$520106958182FE7B,$A47C40E279CD0AA3,$C6A8F8D52FB8EB07
Data.q $5B06EF4AD0752A8F,$303702E789C1A05A,$5EB46E1249FFAF6C,$E2284F3CCEBAA127,$7E8C958845D161EF
Data.q $05D8FC6BEFCFDFC4,$0C01DF2248842EC9,$D3A0B031004CF4AC,$2D88D4804DA56060,$5523892371A65F91
Data.q $130E12A5C6AD6449,$8CC6D7425DA04492,$EF612B9C69171ACD,$A16689697BCABE7F,$E34AFC6B17E4B987
Data.q $177097EE35DB1AEB,$32B0305DDBCD04C1,$05E653A0B031AFDD,$A7340D8805465606,$CC2A93479C38E27B
Data.q $C7DC6AF710EDB04D,$5CC25664989A0E84,$A15C39F76468AB29,$F2C5C7B942835471,$9CF8D79F03B384B8
Data.q $6060DE204C9EC3C6,$13FCD4E82C0C0FA5,$FF0FE72402A32B03,$8EA4D1E1E8793E35,$D856FC892C422E75
Data.q $956EAA0EC1AD092B,$96698D16E2F8D070,$47C8C5DDBC683674,$F58EE68178D01E34,$C160609D2B030204
Data.q $1E499A402160609C,$C3E9093571CF38A6,$CBE347BFDED5AB9E,$8D64A4FCD052E5C2,$F16F180BEE12B5C6
Data.q $BD849D711DDD1FFF,$FA6917A013EB7FBF,$A0B0307E958181D8,$FCE4805C6560601D,$7D4923C55FA25921
Data.q $8AB28577C6857912,$DB5D1ED8566618D0,$275425938D5AFE17,$BF7FD0BD99361769,$E87D99E241C913CB
Data.q $060DD2B030277F5D,$7EC8042C0C12B416,$812278675ECB6A05,$FE4D58289B7A7774,$BF8F6C4EA119D0CF
Data.q $73FF56D56E664E5D,$3C4AB1089AABCA27,$8721C0E1253C6A4F,$C0C076560601E30B,$67EC8042C0C16682
Data.q $95738E74B61427C8,$3150953F12ADA20D,$6E243B33B70DE2A2,$6EC8DD569927E672,$FC3A07384F8B7EB2
Data.q $9FB6C23DB122583D,$C1F7422DCA1243F7,$180CD058180ECAC0,$FC1DA89403900858,$2CA8A2E168E35EB9
Data.q $1DCFA5B0593673BD,$F175414C170A8F1A,$57CA9612ADD58E61,$5CC804F9C8AC6974,$AEDBDE2DFB083B33
Data.q $91A0B0303D958183,$E89FB2010B031BB1,$28F1F6195C2BA8B2,$9E3E2E95C6B0C532,$D45330A87083F8D5
Data.q $5C122DC704C4B151,$AF6BEC2A365DE5AB,$C157489223F644F3,$EA0B03059CEECAC0,$B003900858181F11
Data.q $846344B8D4CE5ECB,$7FF211730E49923E,$45833024D37719DE,$2E51F10316DFD93E,$854384B4F938CC42
Data.q $ECAC0C033CEEE708,$33D2B03071958182,$9781F55A6BE37790,$6C4D957386552848,$B85779FB0934F249
Data.q $52D5B70E61100043,$138CB8F3E584937F,$026EA84A57D7C951,$6ECB03220B03079D,$367102A039A41EAA
Data.q $10159DD3CE658EB0,$38193E4F8A7BB7DB,$F15A56A21742CDB2,$70E63809343D8D09,$75EEDC6EBF6124DF
Data.q $B32ABE3437C89288,$1EDADB7A1F65861C,$FC699FAC0DCA0B03,$6060926981055852,$6D9D2011A79079D9
Data.q $8FA1AD9F4A1265FC,$D43FA483849C7280,$B984C60900E69C78,$29D3C49E7FF756DB,$BED14B84837224B2
Data.q $20B03029D04BDC27,$012B0303660B0302,$A74B608BDA155A74,$9827C047D00D5CE6,$9E64734BD13BFA17
Data.q $F12238343B528B9C,$6D84AB73B1B6A65D,$0DDEA77C4E0A8720,$0ED8B03227282C0C,$0C978EB032491109
Data.q $13C06F84F4EF0F97,$224C0E0DFFB0B8C7,$4AB27345695808E6,$05071D46D2037459,$C25DBC50669827CB
Data.q $F18F6DEA4FB8D91E,$1CFEEFA8490F1AC5,$224CC16060ADBD4F,$D02859EE126BEB03,$09DD960669269924
Data.q $1BBC19217E144562,$B1A584BE6402D3A4,$6A972248CC09FA31,$B2A60B855FE35B7C,$8972E34DB823158A
Data.q $4FBD6EC96CF9B2DF,$8AD2844FE10B6C80,$9581812A0B0304ED,$2F13BE4FD2B03042,$2E25CD13648BD951
Data.q $24ABC589B1CA0044,$B730F6562B67F4D4,$6C2417DAB5093AEA,$6B5C674E405B6C52,$DAC0C8895058183B
Data.q $C6B0364934CC1F4A,$68CC804B273DF213,$4A84C1305C9F41EC,$4B9BBDB52C1DA2EF,$F1A4F02C4B338705
Data.q $4BC80CED2E4E848E,$58182D6DBDE70E35,$2B0306D958182350,$926BFDE6A3BA7481,$9AAADBAB5612A1A4
Data.q $49341374F284B7FC,$F6D8D92AC071B1AA,$63892F3070953F89,$7EB2704B67573983,$B099E9936CFCF1AD
Data.q $AA0B030577AEA415,$DF8D31EB03222DCD,$2C0C5A42B379650B,$D3B6F7A5943CF79B,$92707301F1097903
Data.q $D03FD0A6ED8DDB84,$55F992D8309EA91C,$4AE49BBBD84BB71A,$DFB7BFA3776AB652,$C0C19DEBB6F2CA14
Data.q $581816CAC0C0D982,$406C402D3AB03709,$54256CA1459A43B0,$4EA129FF01BB9166,$329D2D319DAD64F6
Data.q $E34DBFCBDB491323,$F69527D2500E0966,$46FC69D7C5495BFD,$C14B751E4568E5C2,$0E4ECAC0C0B982C0
Data.q $2520149D384AC0C1,$63AA14696149D46F,$CB84D55097AF78FB,$4C3890A540D0AB09,$16EA24BB5A66EDD4
Data.q $D964E61C7A29558D,$B3C6A3FC681F8056,$34BB04D95CBF3E75,$C0C7288948A6D7E3,$C0F886CAC0C0B982
Data.q $A84F3ECDD48042C0,$B63350FF13C19293,$1DE9B4AD5596DBD7,$EBE06CB42492CB32,$1B3AB47A2DF930A9
Data.q $E26521BD5AE0962F,$D01F9E2E05CB6A23,$B776B5E597AA4FB8,$BF4790F570ECA84B,$9284AF60CFBB5827
Data.q $55D59E027C7B16D4,$1AAC0C15A82C0C15,$BAB03399158AC0C1,$3760B501E1040671,$B1ACFF1C27DBBEDB
Data.q $55AE49B0CB478983,$B76BF4B621CAB0DC,$AF09F457E1722F4B,$E005CA78616DB7B5,$CFFFFB0B8EFE691E
Data.q $6234DD7EC25371B4,$7FE35ABFA0D59BE3,$C42E031EF2231DBC,$959F0542423BB9CC,$EC24BB201220CF65
Data.q $C5704A8FB543B765,$D70BCD929D839EEC,$AB030671D6A0B030,$996D75AB03008273,$450E6402E5AB0329
Data.q $C16A03C90383E03D,$1F85C384B9FE78F6,$307799A26B407095,$A6D67BEF79EBCBC3,$48EFFA50916C6827
Data.q $A4C812CBFB4DA509,$4384B1FC3DCD7E4F,$7634877804F80F9D,$5F325B6E13EF33B8,$687FC6AD77810197
Data.q $B5BDB798CA93C77C,$FE23F6DE558F5AC1,$E24A28B5BD327D31,$D7DF2113299E35BB,$EB64ACFBBB825FB8
Data.q $AC0C15A82C0C43E2,$5321ED58186F8EF6,$D2FE724057275606,$788CED42EFF6162E,$93CB0941F64EB122
Data.q $F3E44B45BD29B999,$E5647B825F3AB07C,$106D66FBECCA172A,$0C1F7AD24970961C,$19FDE7C6BBFDFC4D
Data.q $22F181B31073A8EC,$E738907ED3440709,$20D8D61E342FE2E2,$94E2AE9961A9A2E1,$61626171E8FFE1AF
Data.q $FFDBC738D54F9E7B,$7265A6F658961E6B,$75AB03042D058185,$C0C265E056756060,$81C74931AC16F4EA
Data.q $FDAB837A7BFCE821,$E084CAEEEDDC6BF7,$30C27AF75836CD6A,$674D25D9FC4AC467,$4BB57F5934976348
Data.q $BFC6A77101736EF6,$12C7EFC6BBB680F8,$2B3544975924EBD5,$B9CFECB938D14E42,$33F987304B3FFF26
Data.q $93DA7D94E6EE7DB5,$5549B6617D6ACED4,$1808D05818542682,$2EB1F9D58183CD58,$379F480527560613
Data.q $23BD9B18D00221E4,$8944BD32CBF7E4D9,$72E81F6DF81E9910,$A6C6AB7804DBF09F,$FD09E91C3D461239
Data.q $8E6178D5DFE84F68,$C894252BC049B7F6,$F3ECB24F693912CC,$771A1DD513C2B0E7,$B0300FDCD2B47049
Data.q $60ED56060E79D1A0,$EAC0DEA47723C560,$FD30F02FE85900A4,$31716F2026C09A1B,$9CF89CB6264F45F2
Data.q $5AD7FBDE5042B764,$7DC1271C74E61B17,$505DFB8C77AD245A,$6553DC6AF7DFDED8,$001F6AF3A4F61B00
Data.q $C15CD6DACA0975A1,$D2933C3FAD989EA5,$AB03059A0B03179F,$6D53E31BF158183A,$6F015DE4804A7560
Data.q $26C0266B42EFF612,$2EC509653BF9D766,$340EAB595603B1EF,$F46FE89F6CECA2E0,$F79E7DAF81D836BE
Data.q $9CA489E1BEB41B67,$D79C776FB6431741,$2E5DF8DAC17D6DB6,$70EFA4A4F1A33F36,$CAAC0C02B416063A
Data.q $AE9B89ECAC0C33F3,$3184D120129D581B,$274AB0BC4255B7E9,$5AB9BCD4D6E4FB97,$C07652DC872A90BF
Data.q $094AE8BCBB2ADCD0,$277C9F61251D6F97,$E1B0EC3DBBA53DB1,$F06E1E5B66A4B29E,$936E38EF6FBF4FBE
Data.q $427D29B6D811BB05,$81848265A6F6F7A6,$606160608F9EAD05,$402D356068BA17D1,$4A977A4B64E43C6A
Data.q $EC01B0E741EFF676,$1293F540763CEF64,$F61EE7FCA44C6DAA,$4E2EB18F8BBD7A24,$8B8EF8B6F6F42FF2
Data.q $8250B817F3EF1190,$DFD5B9E0CDD24FF6,$F6D7386C38498F85,$95A0B031184D2486,$AC0D174160616060
Data.q $CAE2DD8A9880AC4E,$DB1F2D85DA0AF71A,$43C690FC4E5B3721,$CEC73785AB3706D2,$1FE5AFC66E696B75
Data.q $93ECDC10B6C38963,$EFF22F7E4C1891FF,$E12D9FD4ADD496CD,$B0E7479207CDCCBF,$51E9584EFE55FFF7
Data.q $C0C108AB8F9F7673,$5D05818581832E82,$B8D7B9D03B7AB032,$B2F6812F542A5EC2,$27CEFFE6A6E527CC
Data.q $A37B7BDBB0C8765F,$6BFE434E05D17892,$E9BB06DDC27D3B54,$FC06DFFCFB3E96D9,$DAC7FA2F6FFE8AF3
Data.q $F4447C44C6D7BE01,$94241FFDEFB0C27B,$5DF674033FE0DC6A,$5A67CA1225C5C9B3,$0935D63D84BAF962
Data.q $09D05818B9399880,$8AC0C5F93BBAB030,$16402DDAB0351D07,$383A08979D3D82B9,$3F844D8845DF3E11
Data.q $E8F87ECEE973F1A5,$5AD5F6C82CBB26F2,$FD0BFDCB097189E5,$4A2611304957CD7B,$3E0D8E7FCE7A15CC
Data.q $F104DBDB59891FC1,$3BA15ADBA379FF62,$3E263BBFAB6324D8,$0301490DEDE993EE,$36F3775606093A0B
Data.q $4ED581A8E9F75606,$95DB29902FEBD201,$3DF3AE5630E80F24,$801F3DF1A03E4C9E,$387BFCF3C4EA1D4B
Data.q $7B96422E31F805C9,$FFA2A9DD8393EF07,$45BFD95CA1A2FCBE,$51B048733A5FA689,$BBA13EFF6EE760EC
Data.q $60E12D3F58F6C422,$58183F4AAC92C3E1,$0CF7560630898DD0,$D2AD8EE4F8AC0C07,$5926C4029DAB0366
Data.q $741A7CA144E15956,$D3DCD1396CEF7B07,$6C69ECAA57B8D1BF,$5D1B7AFF5E9476D1,$088AA8B1C4F16F7C
Data.q $80D192D5C00D95CF,$9B17EBC79A11C724,$3BF1ABFF9D39BC49,$09BA0B0300492317,$088F8AC0C0F75606
Data.q $9512012ED581AB69,$B937400793CF3C4D,$DB17908BA2E207C0,$7D43B7BDFDFA75F4,$FCD08E370EC46DB6
Data.q $1AF4C737BDEC45D0,$8D4A127A72D9449F,$1EEAC0C1B7416062,$BB5606ADA0F15818,$6C95DF3C4FED8804
Data.q $EC244BC06210CF2F,$AB43BAAC768BB5E7,$D5D96E6EC0D89CAB,$78859A1C2F5BD93E,$227A371AB1F06360
Data.q $16062F34BBC48DF9,$356D2AC82C0C09C4,$B07056350712EAB0,$3A849D7E96D59749,$56F0574AE17100DB
Data.q $CAB13973A951E369,$DBB2B52EC3896FFB,$6621A9A71B31CD5A,$2E656D5FDB0B96D8,$1B93875273E2C4AD
Data.q $37105818590AA1D1,$3AC0CDB4AB20B030,$B3E4F666BA1F7068,$6D8B499477F7ECAD,$B9374B5330F80E3B
Data.q $27DEBA475B880108,$9FFC16B1E4E5565F,$1F102BD926EC2496,$F363E25F606C6310,$ED26CA9665DB1AE3
Data.q $6416060E120B0302,$774BB9755818B695,$E464BB4DFBFF568C,$08D7F97E99723D98,$5BF2DED89E210687
Data.q $484FEF7AB4259424,$63B99D49A2AB07E3,$727DE4E6203891D7,$7091EFD97B0956FF,$C18A41606065B3D8
Data.q $65AB0316D2AC82C0,$9BEAA67856BEDBCB,$F6C001615DE2E637,$43BC07EDAFE6DED5,$CE64A27D06422235
Data.q $F3BD8012159A06D8,$DB2C1C129DF5B076,$030426703A4BBED3,$969564160600520B,$79458320132D581B
Data.q $09E1DFA0DCA4C8F9,$4AB79ABF8876CD42,$9E83EAA07097AF23,$56E224AC3FFDEA48,$C1490BAFD9126509
Data.q $F3F2AB2985587CB6,$D93EDBD8486F8D3E,$300C90581824554D,$896AC0D4B4AB20B0,$D2C36415899A9900
Data.q $8A482B9C2EB954C2,$AF7E34DB1EEDB108,$6D9803F5A584A771,$45F982C9E60FE33F,$A6F0A9B6415978B9
Data.q $259B1F130D240952,$489F55FE3134BB94,$8482C0C19BE3744D,$332D2AC82C0C0EE5,$67F6227440225AB0
Data.q $311312FEBCE4FBE3,$0966F1A559225C48,$2ABD696125DEDDB7,$7173B23DE8E465B6,$0031129C5058CE49
Data.q $26DE3453FFC6C449,$4D517E3567F7C0E1,$0C2C25756F209884,$AC82C0C0EE68482C,$4069A769AB0312D2
Data.q $6158E364FBA1D173,$CC30902048E7C54A,$9F2D756489EB5A79,$E5150CE3AA6309A0,$D8D121426512BE98
Data.q $087E2CDF2CB76CAB,$ED9EC8990CB0FB76,$6E0568A2AA4D86CC,$21140905818E5D60,$EE6E9AB193658191
Data.q $31FB3B2737B57EB6,$6E76581B94D920B0,$9CCCEC6971CC8D6F,$F2C7C557A9E4D4D1,$40DA727D9AF8F909
Data.q $6224C31007CEB6B1,$FF55BCEBEAB7D835,$63C96ADEFDFD5BF0,$15E6BBC8CB6A6179,$FF7D08E1A9083439
Data.q $B7AA2A8323D33DB7,$08B07721777ED8EB,$58182A69AAB15199,$C2447AC0DCA24900,$944520B030557A4A
Data.q $587DB93E3E26581B,$2959D65C2FBC7F1E,$5ABF97A9908B945F,$91DAC5B6B36AC4E9,$94B293A329C9F7C6
Data.q $91452344EF0901CC,$7E497F577273276B,$4960E1B4ED83ED59,$520E9A62D3C9D70E,$C2F37FBBE8D7C4A4
Data.q $0092A402E53C8CA2,$747482C0C108956F,$58190D3CC82C0C1B,$84D56AE732C16F0D,$A18BF42390563BDC
Data.q $71BC4BE9F4E9203F,$2BBAA0647D4E5E77,$3B4EB6A275E03B65,$28A8626906CD1F5A,$E527470B93ED8763
Data.q $F80EA24FB34A7AAF,$1B599EA3FB726B9C,$BED606FD84A41606,$20B03183EB9CAC9C,$A81BAEB0323C4AA5
Data.q $05A36DED1BE47731,$A2FCF4721321CAF9,$8647FD1D203C93F4,$98527D63D1727227,$513AEDC43E7C0F6D
Data.q $92C13B1A41934F5B,$2E1ECE57B11F8C82,$233B57B636CE5FCA,$B030329058180B52,$10094D606BD4F320
Data.q $4A9E7D5967A9165B,$4645FA51C9F7C3F8,$0C0D7C9A290897A8,$8EB54845414B6514,$08729345DCEC9DA3
Data.q $439EF4C74469062D,$17E71B211534E426,$AA520B0303307F5B,$1EA09DF320B031DD,$22AD4840FCB7AB03
Data.q $5909EAFF72F9FEE4,$279D5521C1A257DB,$B2ADB02A35925037,$73B57BF7C459F6C3,$0EC6290B6B87D69D
Data.q $CBCDEEE727DDAEC7,$D9F93DA2E5FB47F6,$222BAD46F28A9A6F,$606E51FCD2905818,$18E7C3F2E934AF6D
Data.q $5E676B03225A9058,$B92AAEC8A0E9F85E,$E061ED560C0A9EA3,$84E47B31F772F9C1,$BC4E54828B2E45F9
Data.q $8F695FACE8C4E9E6,$34BFA3C96B843F29,$05D4C4D57D3A7135,$2381F8C746A90052,$B2FDCF9149E6CAF7
Data.q $C0C7C4615DDAAE5F,$A400B030402FD802,$AA9A9F773F2B0376,$93F77279C1F2B24E,$B0E365BB89E8F2BD
Data.q $2C8935A40F7A2626,$5CA8FE422AA9C82F,$8F3B90525EFA987C,$7D2321BCA06723DD,$45B244D02F8A0EC1
Data.q $85D60C149AA7C4FB,$8F66381E5F383FE6,$4D789D290581889C,$16060AFA33BD5819,$9F27DF1AC0C88D64
Data.q $C0496A98FE562C1B,$7A3B65C3A2AC4756,$05632D96EF2707E4,$66A901C48B1DA159,$CF27213D5B2CA4D1
Data.q $E52786A987634EF3,$04E2621D6D389D76,$C9F66B6320B46319,$C278D3AE1F231526,$002C0C7689AC82C0
Data.q $4379F2CFCAC0CDA9,$4F9390A4FE349B1A,$C82F130BCB1A676A,$F364262B72382A06,$76A0C792C4B949D2
Data.q $A61657CBC9F6C39C,$9CD07F56C805BD6E,$1FAF945543905630,$4990581869FCD628,$E56066A9A600B030
Data.q $7CF25E128ED9FC2B,$A52F537D7F497C8F,$5270B73DCA7B20E2,$B5ADD96729305F0E,$F63681DAD7F20B4B
Data.q $7A5160CA321D67B2,$217CA4E8DD641797,$0B0C82C0C1F7673F,$C550FEE9802C0C76,$2B8D12FDF8CFCAC0
Data.q $225B013A23E5E577,$FB3100A4C82941C2,$12793A19FB1557B6,$2D30CA2C2EE738ED,$A848548B13EE5903
Data.q $06082AFB3FD15908,$600E00B03057D016,$56EC5F965F2B0336,$0B28BF36DE35CBCE,$16E492F932C83269
Data.q $09A7DE4168ED6517,$39224803C90F5D64,$0F8AB38A872B204D,$C016060880402C0C,$C8048AC0C9513ECC
Data.q $9E38D26E34B38D7C,$24E816E48C3A02E6,$88B28A0B59C8934A,$5189F68884FA0116,$C27FE0E7A57D4C9D
Data.q $00581856268802C0,$2EB107CAC0C95007,$CD33647DAB5E341B,$96768F4928181004,$B0FED0100057DC35
Data.q $1824ED8CD8F94540,$802C0C722A070058,$6CB4560641C4FB03,$00E64B1C9025A97E,$21153E8E768B3BFB
Data.q $3A3065DD8E00B9B8,$16060805A7FAAB29,$A6640E00B0300540,$68978D38E4026581,$A92908B9400E3970
Data.q $CD30012D0F4A2900,$DC97CA4D0D964148,$043B999802C0C2AD,$132C0D3326600B03,$9383800108BA6720
Data.q $63BD28BF31940008,$0B0304490F9D5905,$883802C0C0FE52A0,$2848A757E6CB0372,$1A4B15500000089D
Data.q $14EE4960D8720AAB,$B0304402CA802C0C,$38FF59606E526600,$191A8000073A5842,$0AE329C9E2E8C82D
Data.q $C0DCA26A00000B03,$000012692B8403B2,$766E163BC3DB15A8,$3500000581827CB6,$0524384026581911
Data.q $C410082CB1750000,$9960644CD4000007,$1EA0000039A5E900,$0002050968CA4D16,$03F90805CCB27500
Data.q $927924B062EA0000,$1458198BD4000007,$C173C9BA80000069,$085819803400001A,$003F561BA8000010
Data.q $582DB2C0CC11A000,$479290680005E36C,$0C7263E5573CC4F9,$FE072C61900000B8,$355517DB000300BF
Data.q $0000000072B1D9DD,$826042AE444E4549
paralax_png_end:
herbe_png_start:
; size : 3124 bytes
Data.q $0A1A0A0D474E5089,$524448490D000000,$8700000020030000,$3D81EE0000000608,$58457419000000A3
Data.q $72617774666F5374,$2065626F64410065,$6165526567616D49,$00003C65C9717964,$DA7854414449D60B
Data.q $C71D65648F4BDDEC,$E9A666F7D55D53F1,$808C204406186199,$1889A0C6A02F1882,$626057C6CBC6EA17
Data.q $15F19BE097C6E262,$8024285CAE8175B8,$4B9C5C83A8B722DC,$FD277FA4F3CA5F4F,$7D34C333774F5450
Data.q $3EAEA9AE93927CF8,$7539FE62D6F9EA75,$E0000006E3C78C19,$0180000004B19856,$0000008030000004
Data.q $0008030000004018,$8030000004018000,$0000001006000000,$0001006000000803,$1006000000803000
Data.q $6000000200C00000,$0000200C00000100,$0200C00000100600,$0C00000040180000,$0000040180000020
Data.q $00401800000200C0,$0180000008030000,$0000008030000004,$0008030000004018,$8030000001006000
Data.q $0000001006000000,$0001006000000803,$1006000000803000,$6000000200C00000,$0000200C00000100
Data.q $0200C00000100600,$0C00000040180000,$0000040180000020,$00401800000200C0,$0180000008030000
Data.q $0000008030000004,$0008030000004018,$8030000001006000,$0000001006000000,$0001006000000803
Data.q $1006000000200C00,$6000000200C00000,$0000200C00000100,$0200C00000100600,$0C00000040180000
Data.q $0000040180000020,$00401800000200C0,$0180000008030000,$0000008030000004,$0008030000004018
Data.q $8030000001006000,$0000001006000000,$0001006000000803,$1006000000200C00,$6000000200C00000
Data.q $0000200C00000100,$0200C00000040180,$0C00000040180000,$0000040180000020,$00C0000002588030
Data.q $0000004018000002,$000401800000200C,$401800000200C000,$8000000803000000,$0000803000000401
Data.q $0803000000401800,$3000000100600000,$F268D0C700000080,$CBB7FA0E0D9FE58A,$6B6DDAD76EDDB6ED
Data.q $036AD8C3FA5F1BBF,$EECD8640E4018000,$681EDDA5797292D9,$A995BB57FB768DB7,$0C4C19EB230CFDE5
Data.q $329006A1C0000036,$CF9B7689DBB42C74,$B76ED93DBB6771C0,$5E6DCA1219DBDBB7,$21B4C1F9F98BB76A
Data.q $93FE3E194D8310E4,$FD000000D83BAFEB,$7B76E9EDDAD64019,$B4EFB76A5FF9FF27,$D736ED6FEDDB77DB
Data.q $CD84865CEDB9AB6E,$819D7BFEDDA37B76,$B06ECFCB6E6C1BA1,$F29FB2B79B0666F9,$C1887CBC8C3397BB
Data.q $F948036638000006,$F6ED17EDDB97FFCF,$6ED33BAEAE5DBB5C,$140CD58B19CECD8B,$B832176EDAB94865
Data.q $94F18BD9CAEB9F3C,$D7D9C62C1907E6C1,$B5865E766D9ED953,$78F0651F67CEDB92,$16BB4BC039B0727D
Data.q $2F563A4066EF7F72,$6EDF1C795F1EAAEB,$FE6B3278F44F5FB7,$F48FF1E9D3BF064C,$F7A71EBD7CEB2978
Data.q $E3ECC5E3D566F1E9,$F43D0F400E3D6999,$8F43D0F43D0F43D0,$76D99006BD8F70CF,$4CCE766B1EDDABBB
Data.q $9019CA3867280594,$A9126714B39D9B7B,$296B16ED85993E5C,$E6C194CAEA133FDB,$F5F775D7257D09E7
Data.q $3DB3979F986BEE56,$651E84EB85E76194,$983DBB7CE38E4D5F,$55D25E5089E6CF20,$E81C73F641F63A5E
Data.q $1E87A1E87A1E87A1,$35EC7A2F47A1E87A,$B80799DC81E62C80,$9BBBA8592B7E4D5A,$7195DF91DC7FF7DD
Data.q $90BE46FBCA812372,$ED73E84AF1646F48,$FB216E130E7E68F6,$04BCECD7BFC2CB5B,$3E79B73B7BAE54EB
Data.q $BB3577D094C6F6C7,$9CCBF289E6AE6667,$CC2668FDF729794D,$0DE6EDB96BFBF98B,$1BE039B4DEFBCF4E
Data.q $0F43D0F54698F7EB,$D0F43D0F43D0F43D,$2C83200DA63D17A3,$B3379727BB76D9FA,$94BD0794B6D53370
Data.q $5FB72D73ED395B58,$ACA4F9D9B9FD22C9,$DCA59B72D7A1136B,$66AE093D5F3E896F,$57DB736680F36781
Data.q $41566F734C91EDDB,$2BDE766FEEC54BCB,$3F7C93F7953D4E52,$18E64ED7A72D7EFF,$53BEB5328E193257
Data.q $279BBF42ED1B904D,$A7D7012FFDA2795D,$C72FAC6FD4D3A04C,$A687597BCFACB9FD,$0F43D0F5EB1BDC39
Data.q $D0F43D0F43D0F43D,$D59AA653463D37A3,$6A2A77401E54E4EC,$166CD5B4EEC3BAA5,$56E41E70FE772E63
Data.q $B8A4CB9EBECA5D62,$3807BB20E40F489C,$7BFCF9FBF9063ECE,$E7E42FDB91B77F31,$B76A5FB094B98489
Data.q $CBEE3EE6F776E51F,$CE5165B775CA5EB1,$53F7227F5CF9D225,$2CFEEC8A757CFFAE,$4C95F3165609FBDA
Data.q $FE437BAD54266F92,$91BF409953863C89,$6C992BD44F277AE3,$7A1E98627CA6695F,$87A1E87A1E87A1E8
Data.q $2033B4C7B9F47A1E,$7728C8242EB8992B,$906EBAA66DEEBDD2,$D3B9D3C726AC3D07,$DFCA3554CE5E5132
Data.q $0BA0157CEF8997DF,$130D7DC85905533C,$B95734E5AFF13E71,$90B75CC5FFB36FDD,$2FBFCE3F8B2FBDFB
Data.q $D926EA6398BF41E4,$C244F6EDE3CDB92B,$CA5DFD973D1267AE,$FE8D9BDD1F646FC2,$529C9EE3ECF5ED92
Data.q $CE1F3EC83F0B2A7B,$C5279AB589AFE393,$46F7AF712361D672,$F43D0F43D0F43D23,$8F4DE8F43D0F43D0
Data.q $CA67AFC059480369,$B7A6A85A0E9D5B3A,$C272E9154D48B541,$29958D375D53542C,$33753AAA7D898BF1
Data.q $C99FB721674A729C,$B0DF766B5D7DBA7E,$CAD8E398B60B2E73,$39698E4AE7ECB9CF,$BBAE6F76C73E75C7
Data.q $22A999E39B39BF98,$AB37D8E6CE31E52D,$3FEC59431E6CF3E9,$F099DFC24DFD3266,$7DCF5CB59ABF7165
Data.q $CF1F693DD2A5DFD5,$1E91A37EF66D9EFE,$A1E87A1E87A1E87A,$00E4C7A6F47A1E87,$0E71FB76C3FDFE52
Data.q $899B00E6193B2E6A,$9BA6FE51E5D5339F,$CBE0E78F77F36704,$BBEDCA9F2E58F3D4,$CA37935E278DD7D7
Data.q $7D67D9737F7541CF,$B20F02AE3B6E4AFD,$D994EACDF83CA320,$1D5CB77E6AEE2AD9,$A3444DEEAFB552C3
Data.q $CB81662D7ADDDFEA,$728DDF3B37BFAC29,$CCE25192EEFDD9A1,$FC559BDF73E62D67,$71BEECDAB5653993
Data.q $43D0F43D3768FBA8,$F43D0F43D0F43D0F,$1A1F23ECE18F65E8,$B1D79F7ED56BCA40,$75EFEDED3A8B542D
Data.q $D77F56CE19354198,$49FB31AF2B66A1BD,$F6260E82268D9135,$FA944F298375DFBD,$F73279F946D99BF6
Data.q $0C793309468164DB,$8BAF56BD54698ED3,$DA74CB5F50D39DB6,$EFE42D625AC25A7D,$DBF9338F596BE8BB
Data.q $7CFCBEDCD9FF1C8D,$F43D0F43D0F50121,$97A3D0F43D0F43D0,$55F952652033EA3D,$729832F6E0F26C16
Data.q $E20E5DFEEF039879,$D07C0789B9F01CE9,$BF7E53C7BEE41F7D,$14E6AFBFCB590598,$AADE5D58618E61D3
Data.q $4F1ECAF2EAB9C426,$4678EAA9D7DCED8A,$A642C0527DD4FD39,$43D0F5BFDD73B7C7,$F43D0F43D0F43D0F
Data.q $7DA2D5463DAFA3D0,$B0E7DA713A7EDDAB,$D329B9F894F528EA,$DECD7BB3EDD6CDD7,$4D52BC8595CD355C
Data.q $AFE9D50618E71FA2,$5B89E270D7F4EAF9,$BD6212804F2677EF,$2652F50996DCE27A,$43D384D5EA5A72C3
Data.q $F43D0F43D0F43D0F,$EE0EE8F6DE8F43D0,$41E05300E3B8C4EE,$3E440DC2F7FEA617,$B38DEED7D1F3718C
Data.q $7EAF8F698C40DE2D,$284E4FBB117ED243,$FBB34CECE63E51C7,$27D199F74E252D05,$43D0F43D0F43D0F4
Data.q $BA3DCFA3D0F43D0F,$25C5F3B35EF9582F,$CD3378B99B97E9F5,$80B56CD223D831AD,$BAB8F10E667EEB37
Data.q $F766B9C7A6E8184F,$FBACAA72904A618B,$3D0F43D0F43D36A8,$6DE8F43D0F43D0F4,$1BE5BE99F2CBF28F
Data.q $337380DFBD9AD714,$689E84F830A3B627,$625CEB227989E71F,$2D39731329359EDC,$1E87A1E87A1E84F5
Data.q $B9F47A1E87A1E87A,$91F29322F941B947,$E0D5C7564CFBCB5A,$0393EE8C5D2C7653,$F457E66B7DD834CA
Data.q $0F43D0F43D0F43D0,$2FCA3DCFA3D0F43D,$167EECD5DC8817CA,$827C29F06716DF71,$A7DD394DE553D394
Data.q $1E87A1BCEF9F7406,$A1E87A1E87A1E87A,$BE51FE51EE7D1E87,$3EE1EBF0F9B56538,$1CD26FBA94730B0B
Data.q $1EA2F9A73EEC1266,$87A1E87A1E87A07A,$83C5F947B9F47A1E,$75EB6316FE67EECD,$3FB65978DF74C34B
Data.q $7A1E81E87A07A1E9,$74E429947B9F47A0,$A6A835ADDB534BF5,$D0F40F43D1C4EDC2,$18F6DE8F40F43D03
Data.q $253DD9AEFCD23ECE,$97FACA61647288D2,$A1E81E87A13E4BCF,$51ED7D1E81E87A07,$4A76FA2FC4F1C0A6
Data.q $3D21E4129E3CB8EA,$43D0F43D0F43D0F4,$80328F73E8F43D0F,$8A368F089862270C,$07A1E81E87A07A1E
Data.q $41B83AF747B6F47A,$9C9B04F0E3C2278F,$D0F43D0F43D0F5CA,$3D97A3D0F43D0F43,$E5D5DBCB99B200CA
Data.q $1DD3C7931F19453E,$7A1E87A1E87A1EA3,$47B6F47A1E87A1E8,$D1F356E093748037,$4C38E21C63E352D3
Data.q $87A1E87ACB89E384,$E87A1E87A1E87A1E,$A6AF5900651EDBD1,$EE06F8C01E3D8DA6,$E36BD3971E82A8EC
Data.q $D0F43D0F43D27589,$DE8F43D0F43D0F43,$1F8389E5C80328F6,$6C528B38FC7A675F,$AED851D0D4E7C737
Data.q $3D0F43D03D0F58D6,$A3DB7A3D0F43D0F4,$D337AE5755AF200C,$30602D3F46ECA63F,$0797D565315BAFB1
Data.q $7E56C82AB7F7F037,$87A1E87A1E87A1EA,$947B6F47A1E87A1E,$D5474E595CD5E401,$3ECCDC935719CA6F
Data.q $AAB6EBEAEFD7B98B,$87F7FC4706D27DFD,$D0F43D636C8DAFBD,$3D0F43D0F43D0F43,$2FC8B9F28F73E8F4
Data.q $E1B89ED8C4B5DBB7,$A5E9F5F595FBB37A,$C75904F54E4CEB99,$9F03F66F0C989ADC,$E5369FCB8F78E7DC
Data.q $1E87A1E8D20986D8,$A1E87A1E87A1E87A,$0001805FFC7B9F47,$96244E3A3447499D,$444E454900000000
Data.b $AE,$42,$60,$82
herbe_png_end:
EndDataSection
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: Sprite Scrolling
ce "clipping" peut avoir lieu sur une bande etroite (comme mon exemple numero un ou ton exemple )
ou bien sur une largeur complete d'image (exemple numero 2 )
je prefere la deuxieme solution , ça demande moins de découpe-pose ....
un sprite est fait pour etre bougé .. pas sur que le clip apporte quelque chose
(mis a part une economie de Ram et de code ... bref une paille)
en meme temps, un clip pour faire un parallaxe rotatif, et la tu te tire une balle !
ou bien sur une largeur complete d'image (exemple numero 2 )
je prefere la deuxieme solution , ça demande moins de découpe-pose ....
un sprite est fait pour etre bougé .. pas sur que le clip apporte quelque chose
(mis a part une economie de Ram et de code ... bref une paille)
en meme temps, un clip pour faire un parallaxe rotatif, et la tu te tire une balle !
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"
Re: Sprite Scrolling
Polux utilisait beaucoup les clipsprites, du temps où PB fonctionnait en DirectX7. Ca lui permettait de faire de multiples parallaxes et différentiels, à grande vitesse. Aujourd'hui, DirectX est entièrement en 3D, du coup cette méthode n'a plus beaucoup d'intérêt, il vaut mieux jouer avec les coordonnées UV de la texture...