Bonjour,
j'utilise zoomsprite() sur une image, mais le résultat n'est pas ce que j'attendais, c'est à dire que je place une image au centre d'un écran avec displaysprite() et j'applique ensuite le zoomsprite,
ça ne fait pas un zoom "droit" , c'est à dire qu'une fois une certaine taille atteinte, l'image se barre sur le côté ,
pour que l'image occupe l'écran entier une fois zoomée, au départ je dois la placer en haut à gauche.....faut il utiliser autre chose que zoomsprite() ? camera ?
merci,
utilisation de zoomsprite
Re: utilisation de zoomsprite
bonjour jmp49,
un bout de code de ma demo:
un bout de code de ma demo:
Code : Tout sélectionner
TransparentSpriteColor(#logo,#PB_Sprite_BlendSourceAlpha)
ZoomSprite(#logo,zoomx,zoomx)
DisplayTransparentSprite(#logo,500-zoomx/2,350-zoomx/2)
If zoom = 0
zoomx + 3.6
If zoomx=>1000:zoom=1:EndIf
Else
zoomx - 3.6
If zoomx<=850:zoom=0:EndIf
EndIf
Pb5.24 Lts/5.31 Windows 7 64 nvidia 560 ti E8500 8g ram
Re: utilisation de zoomsprite
c'est ce que tu as appliqué pour ton zoom sur le logo pure miga demo part 1 ?? c'est exactement cet effet que je recherche !
j'essaie et je te dis !
ta puremiga elle déchire tout ! pour ceux qui ont connu cette machine et ses jeux c'est un vrai bonheur de voir ces sprites et d'entendre le bruit du lecteur !!
j'essaie et je te dis !
ta puremiga elle déchire tout ! pour ceux qui ont connu cette machine et ses jeux c'est un vrai bonheur de voir ces sprites et d'entendre le bruit du lecteur !!
Re: utilisation de zoomsprite
oui c'est une partie du code de pure miga part 1.
il doit avoir une meilleur façon de faire 
Code : Tout sélectionner
If temp >=800 And temp <850
TransparentSpriteColor(#guru,#PB_Sprite_BlendSourceAlpha)
TransparentSpriteColor(#guru2,#PB_Sprite_BlendSourceAlpha)
DisplayTransparentSprite(#guru,xguru+0, zoomx1)
DisplayTransparentSprite(#guru2,xguru+0, zoomx1)
ZoomSprite(#logo,zoomx1/2,zoomx1/2)
If zoom1 = 0
zoomx1 - 2.0
If zoomx1=>150:zoom1=1:EndIf
Else
zoomx1 - 2.0
If zoomx1<=0:zoom1=0:EndIf
EndIf
endif
;---------------------------------------------
;------ affiche logo pure miga --------
;---------------------------------------------
If temp >=850 And temp <1800
TransparentSpriteColor(#logo,#PB_Sprite_BlendSourceAlpha)
ZoomSprite(#logo,zoomx,zoomx)
DisplayTransparentSprite(#logo,500-zoomx/2,350-zoomx/2)
If zoom = 0
zoomx + 3.0
If zoomx=>750:zoom=1:EndIf
Else
zoomx - 3.0
If zoomx<=650:zoom=0:EndIf
EndIf
EndIf
If temp >=1800 And temp <2000
TransparentSpriteColor(#logo,#PB_Sprite_BlendSourceAlpha)
ZoomSprite(#logo,zoomx,zoomx)
DisplayTransparentSprite(#logo,500-zoomx/2,350-zoomx/2)
If zoom = 0
zoomx + 3.0
If zoomx=>750:zoom=1:EndIf
Else
zoomx - 3.0
If zoomx<=0:zoom=0:EndIf
EndIf
endif

Pb5.24 Lts/5.31 Windows 7 64 nvidia 560 ti E8500 8g ram
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: utilisation de zoomsprite
Un exemple de zoom avec un point d'ancrage central du spritele sprite est celui se trouvant dans les exemples de pure basic (Pas très beau)
Code : Tout sélectionner
Enumeration
#MainForm
#Sprite
EndEnumeration
Global Event, Increment = 1
Procedure GamePreload()
LoadSprite(#Sprite, #PB_Compiler_Home+"Examples\3D\Data\Textures\Geebee2.bmp")
TransparentSpriteColor(#Sprite, RGB(255,0,255)) ;Quel est la couleur de transparence
EndProcedure
Procedure GameUpdate()
Protected w.f = SpriteWidth(#Sprite)
Protected h.f = SpriteHeight(#Sprite)
;Point d'ancrage central
Protected x.f = (ScreenWidth() - w)/2
Protected y.f = (ScreenHeight() - h)/2
DisplayTransparentSprite(#Sprite, x, y)
ZoomSprite(#Sprite, w + Increment, h + Increment)
If w >= 800 : Increment = -1 : EndIf
If w <= 128 : Increment = 1 : EndIf
EndProcedure
Procedure GameStart()
;Initialisation de l'environnement 2D
If InitSprite() = 0 Or InitKeyboard() = 0 Or InitMouse() = 0 And InitSound() = 0
MessageRequester("Error", "Sprite system can't be initialized", 0)
End
EndIf
If OpenWindow(#mainform, 0, 0, 800, 600, "New Game", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
If OpenWindowedScreen(WindowID(#mainform), 0, 0, 800, 600)
GamePreload()
EndIf
EndIf
;-Boucle evenementielle
Repeat
Repeat
Event = WindowEvent()
Select event
Case #PB_Event_CloseWindow
End
EndSelect
Until event=0
FlipBuffers()
ClearScreen(RGB(245, 222, 179))
ExamineKeyboard()
ExamineMouse()
GameUpdate()
Until KeyboardPushed(#PB_Key_Escape)
EndProcedure
GameStart()
Configuration : Windows 11 Famille 64-bit - PB 6.20 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: utilisation de zoomsprite
merci Falsam,intéressant comme code.
Pb5.24 Lts/5.31 Windows 7 64 nvidia 560 ti E8500 8g ram