Page 2 sur 4

Re: Probleme SPRITES entre PURE 5.71 et 6.21

Publié : jeu. 03/juil./2025 15:33
par drfloyd
bah c'est un .PNG classique...

Mais bon il faudrait peut etre que je donne l'ensemble du code.... sauf que c'est bordelique

Ou faire un vrai petit programme qui presente le meme probleme

Re: Probleme SPRITES entre PURE 5.71 et 6.21

Publié : jeu. 03/juil./2025 16:32
par threedslider
Comme dit SPH sans ton image png on ne le saura pas de quoi est le problème....

j'ai testé ton code sur une autre image il marche donc je vois pas où le problème :?

Re: Probleme SPRITES entre PURE 5.71 et 6.21

Publié : jeu. 03/juil./2025 18:08
par SPH
drfloyd a écrit : jeu. 03/juil./2025 15:33 bah c'est un .PNG classique...
Ou ça tombe, une de tes couleurs est transparente... ou pas ! Et paf, ça fait une erreur.

... QUOI QUE : si tu dis que ça marche avec PB 5, c'est que c'est l'Upgrade de PB 6.21 qui bloque.

Mais bon, pour tester ta routine, j'ai besoin de ton PNG. Sinon, on en reste là :idea: :?

Re: Probleme SPRITES entre PURE 5.71 et 6.21

Publié : jeu. 03/juil./2025 22:01
par drfloyd

Re: Probleme SPRITES entre PURE 5.71 et 6.21

Publié : mar. 08/juil./2025 14:20
par SPH
Désolé pour la réponse tardive...

Bon, j'ai essayé et je ne comprend pas pourquoi le code ne fonctionne pas sur PB 6.21

Quelqu'un pourrait dire ce que veux dire ce debuggage : :?:
[15 :18 :16] Attente du démarrage du programme...
[15 :18 :16] Type d'exécutable: Windows - x64 (64bit, Unicode)
[15 :18 :16] Exécutable démarré.
[15 :18 :17] [ERREUR] sprite_png_6_21.pb (Ligne: 17)
[15 :18 :17] [ERREUR] DisplayTransparentSprite(): A sprite should be created with the flag #PB_Sprite_AlphaBlending to use this command.

Code : Tout sélectionner

; INIT
InitSprite():InitKeyboard():UsePNGImageDecoder() :InitSound() :InitMouse()
; CREATION FENETRE JEU
OpenWindow(0, 0, 0, 640, 400, "",#PB_Window_BorderLess|#PB_Window_ScreenCentered)  ;#PB_Window_TitleBar | #PB_Window_ScreenCentered|#PB_Window_SystemMenu  
OpenWindowedScreen(WindowID(0), 0, 0, 640, 400, 1, 0, 0)

; DECOUPE DES SPRITES
ClearScreen(RGB(0,0,0))
CatchSprite(9999,?sprite9999,#PB_Sprite_AlphaBlending)
DisplayTransparentSprite (9999,0,0,255)
GrabSprite(0,0,0,32,32,#PB_Sprite_PixelCollision)
dessinmaria=0

; AFFICHAGE
Repeat
  ClearScreen(RGB(0,0,0))
  DisplayTransparentSprite (dessinmaria,150,60,200,255)
  FlipBuffers()
  ExamineKeyboard()
Until KeyboardPushed(#PB_Key_Escape) 

; FICHIERS
DataSection 
    sprite9999:
    IncludeBinary "d:/td00110.png"
  EndDataSection

Re: Probleme SPRITES entre PURE 5.71 et 6.21

Publié : mer. 09/juil./2025 1:19
par case

Code : Tout sélectionner

GrabSprite(0,0,0,32,32,#PB_Sprite_PixelCollision|#PB_Sprite_AlphaBlending)
:mrgreen:

Re: Probleme SPRITES entre PURE 5.71 et 6.21

Publié : mer. 09/juil./2025 2:10
par SPH
case a écrit : mer. 09/juil./2025 1:19

Code : Tout sélectionner

GrabSprite(0,0,0,32,32,#PB_Sprite_PixelCollision|#PB_Sprite_AlphaBlending)
:mrgreen:
Grand merci à toi !

Jamais je n'aurais pensé à le fourrer la-bas ! :twisted:

Code : Tout sélectionner

; INIT
InitSprite():InitKeyboard():UsePNGImageDecoder() :InitSound() :InitMouse()
; CREATION FENETRE JEU
OpenWindow(0, 0, 0, 640, 400, "",#PB_Window_BorderLess|#PB_Window_ScreenCentered)  ;#PB_Window_TitleBar | #PB_Window_ScreenCentered|#PB_Window_SystemMenu  
OpenWindowedScreen(WindowID(0), 0, 0, 640, 400, 1, 0, 0)

; DECOUPE DES SPRITES
ClearScreen(RGB(0,0,0))
CatchSprite(9999,?sprite9999,#PB_Sprite_AlphaBlending)
DisplayTransparentSprite (9999,0,0,255)
GrabSprite(0,0,0,32,32,#PB_Sprite_PixelCollision|#PB_Sprite_AlphaBlending)
dessinmaria=0

; AFFICHAGE
Repeat
  ClearScreen(RGB(0,0,0))
  DisplayTransparentSprite (dessinmaria,150,60,200)
  FlipBuffers()
  ExamineKeyboard()
Until KeyboardPushed(#PB_Key_Escape) 

; FICHIERS
DataSection 
    sprite9999:
    IncludeBinary "d:/td00110.png"
  EndDataSection

Re: Probleme SPRITES entre PURE 5.71 et 6.21

Publié : jeu. 10/juil./2025 13:43
par drfloyd
bon moi j'ai toujours le probleme : les sprites ne s'affichent pas.

Du coup, pas grave, je code en 5.71, là tout va bien.

Re: Probleme SPRITES entre PURE 5.71 et 6.21

Publié : jeu. 10/juil./2025 17:33
par SPH
drfloyd a écrit : jeu. 10/juil./2025 13:43 bon moi j'ai toujours le probleme : les sprites ne s'affichent pas.
Chez moi, mon code fonctionne sur 6.21

Mais bon, je préfère bosser sur PB 6.12 :idea:

Re: Probleme SPRITES entre PURE 5.71 et 6.21

Publié : ven. 11/juil./2025 8:52
par drfloyd
est ce que le fait de coder en 5.71 est un probleme ????

Pas en terme de nombre de commandes dispo, je suis tres heureux avec 5.71, mais plutot :

En terme de compatibilité avec Windows 11 par exemple ?
En terme de bugs ?
d'optimisation de la compilation ?

Re: Probleme SPRITES entre PURE 5.71 et 6.21

Publié : ven. 11/juil./2025 12:00
par SPH
drfloyd a écrit : ven. 11/juil./2025 8:52 est ce que le fait de coder en 5.71 est un probleme ????
Non, aucun problème :idea:

Re: Probleme SPRITES entre PURE 5.71 et 6.21

Publié : ven. 11/juil./2025 12:17
par SPH
D'ailleurs, les "vieux" PB (genre 5.x) compilent des codes en fichier EXE moins lourds.
Donc, c'est utile d'en avoir un ancien !

Re: Probleme SPRITES entre PURE 5.71 et 6.21

Publié : ven. 11/juil./2025 22:05
par threedslider
@drfloyd : J'ai fixé ton truc mais c'est bizarre quand même :?

Code : Tout sélectionner

; INIT
InitSprite():InitKeyboard():UsePNGImageDecoder() :InitSound() :InitMouse()
; CREATION FENETRE JEU
OpenWindow(0, 0, 0, 640, 400, "",#PB_Window_BorderLess|#PB_Window_ScreenCentered)  ;#PB_Window_TitleBar | #PB_Window_ScreenCentered|#PB_Window_SystemMenu  
OpenWindowedScreen(WindowID(0), 0, 0, 640, 400, 1, 0, 0)

; DECOUPE DES SPRITES
ClearScreen(RGB(0,0,0))
CatchSprite(9999,?sprite9999,#PB_Sprite_AlphaBlending)
DisplayTransparentSprite (9999,0,0,255)
GrabSprite(0,-5,-210,58,58, #PB_Sprite_PixelCollision|#PB_Sprite_AlphaBlending)
dessinmaria=0

; AFFICHAGE
Repeat
  ClearScreen(RGB(0,0,0))
  DisplayTransparentSprite (dessinmaria,150,60,200)
  FlipBuffers()
  ExamineKeyboard()
Until KeyboardPushed(#PB_Key_Escape) 

; FICHIERS
DataSection 
    sprite9999:
    IncludeBinary "DATA/td00110.png"
  EndDataSection
Est ce que cela marche pour toi sinon ?

Re: Probleme SPRITES entre PURE 5.71 et 6.21

Publié : sam. 12/juil./2025 7:32
par Itsy Bitsy
Tout d'abord, félicitation à tous les heureux possesseurs d'ordinateurs quantiques, à base de mémoire sans limites. 8)

En attendant aussi ce jour, chez moi l'image apparait bien avant que la fenêtre fige, pour finir par proposer de fermer le programme ou bien d'attendre la réponse du programme.

On peut deviner dans ce cas, d'un problème d'empilement d'évènements non traités.

Un simple While WindowEvent():Wend dans la boucle, semble avoir résolu le problème.

Code : Tout sélectionner

; INIT
InitSprite():InitKeyboard():UsePNGImageDecoder() :InitSound() :InitMouse()
; CREATION FENETRE JEU
OpenWindow(0, 0, 0, 640, 400, "",#PB_Window_BorderLess|#PB_Window_ScreenCentered)  ;#PB_Window_TitleBar | #PB_Window_ScreenCentered|#PB_Window_SystemMenu  
OpenWindowedScreen(WindowID(0), 0, 0, 640, 400, 1, 0, 0)

; DECOUPE DES SPRITES
ClearScreen(RGB(0,0,0))
CatchSprite(9999,?sprite9999,#PB_Sprite_AlphaBlending)
DisplayTransparentSprite (9999,0,0,255)
GrabSprite(0,0,0,32,32,#PB_Sprite_PixelCollision|#PB_Sprite_AlphaBlending)
dessinmaria=0

; AFFICHAGE
Repeat

  While WindowEvent() ; modif
  Wend
 
  ClearScreen(RGB(0,0,0))
  DisplayTransparentSprite (dessinmaria,150,60,200)
  FlipBuffers()
  ExamineKeyboard()
Until KeyboardPushed(#PB_Key_Escape) 

; FICHIERS
DataSection 
    sprite9999:
    IncludeBinary "d:/td00110.png"
  EndDataSection
Exemple pour le visionner en mode debug :

Code : Tout sélectionner

; INIT
InitSprite():InitKeyboard():UsePNGImageDecoder() :InitSound() :InitMouse()
; CREATION FENETRE JEU
OpenWindow(0, 0, 0, 640, 400, "",#PB_Window_BorderLess|#PB_Window_ScreenCentered)  ;#PB_Window_TitleBar | #PB_Window_ScreenCentered|#PB_Window_SystemMenu  
OpenWindowedScreen(WindowID(0), 0, 0, 640, 400, 1, 0, 0)

; DECOUPE DES SPRITES
ClearScreen(RGB(0,0,0))
CatchSprite(9999,?sprite9999,#PB_Sprite_AlphaBlending)
DisplayTransparentSprite (9999,0,0,255)
GrabSprite(0,0,0,32,32,#PB_Sprite_PixelCollision|#PB_Sprite_AlphaBlending)
dessinmaria=0

; AFFICHAGE
Repeat

  While WindowEvent() ; modif
    u+1
    Debug u
  Wend
 
  ClearScreen(RGB(0,0,0))
  DisplayTransparentSprite (dessinmaria,150+u,60,200) ; modif +u
  FlipBuffers()
  ExamineKeyboard()
Until KeyboardPushed(#PB_Key_Escape) 

; FICHIERS
DataSection 
    sprite9999:
    IncludeBinary "d:/td00110.png"
  EndDataSection
En ce qui concerne les versions PB, je les vois comme ça :

Code : Tout sélectionner

- 5.42 dernière version ASCII/UNICODE
- 5.73 dernière version Mac X86
- 4.00 dernière version Amiga
- 3.94 dernière version Mac PPC ?

Re: Probleme SPRITES entre PURE 5.71 et 6.21

Publié : sam. 12/juil./2025 8:56
par threedslider
@drfloyd: Avec ton code si tu veux faire marcher avec PB 6.21, je crois avoir trouver où est le problème, c'est à cause de DPI que tu vois pas, donc va sur menu compiler -> compiler options -> desactive le "Enable DPI..." et là paf tu vois ton perso comme si c'etait en PB 5.71 ! :mrgreen: :D 8O

Voilà c'est résolu 8)