[Résolu] Comment savoir si un sprite est chargé
[Résolu] Comment savoir si un sprite est chargé
Bonjour à tous,
toujours sur mon programme sur l'union européenne pour mes petits enfants et leurs parents, je souhaite que quand on sélectionne une rubrique, ça affiche un drapeau et une carte de l'état choisi.
Malheureusement, je n'ai pas toujours tous les fichiers correspondants que je charge en sprite et dans chaque choix, je charge les fameux sprites pour mon programme.
J'utilise IsSprite(#Drapeau) ou #Carte, mais ça me dit que le sprite est bien initialisé, mais pas s'il est chargé.
J'aimerais que quelqu'un me renseigne, pour n'avoir qu'une procédure pour afficher les 2 sprites en question et je l'en remercie grandement.
toujours sur mon programme sur l'union européenne pour mes petits enfants et leurs parents, je souhaite que quand on sélectionne une rubrique, ça affiche un drapeau et une carte de l'état choisi.
Malheureusement, je n'ai pas toujours tous les fichiers correspondants que je charge en sprite et dans chaque choix, je charge les fameux sprites pour mon programme.
J'utilise IsSprite(#Drapeau) ou #Carte, mais ça me dit que le sprite est bien initialisé, mais pas s'il est chargé.
J'aimerais que quelqu'un me renseigne, pour n'avoir qu'une procédure pour afficher les 2 sprites en question et je l'en remercie grandement.
Dernière modification par Micoute le sam. 16/janv./2016 14:59, modifié 1 fois.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
Re: Comment savoir si un sprite est chargé
IsSprite sert bien à voir sir le sprite est initialisé, c'est à dire créé. En gros tu alloues un espace "sprite" avec createsprite et tu vérifies que tout se passe bien via issprite..
(Dans ses conditions il te faut évidement le remplir avec du dessin via startdrawing(spriteoutput()) etc).
Si tu utilises plutôt loadsprite ou catchsprite, il te faut aussi vérifier si tout se passe bien à ce moment.
Il faut donc ajouter un IF à ses fonctions si tu veux vérifier que ton sprite est ok
(Dans ses conditions il te faut évidement le remplir avec du dessin via startdrawing(spriteoutput()) etc).
Si tu utilises plutôt loadsprite ou catchsprite, il te faut aussi vérifier si tout se passe bien à ce moment.
Il faut donc ajouter un IF à ses fonctions si tu veux vérifier que ton sprite est ok
Code : Tout sélectionner
If LoadSprite(#carte,"imagecarte.bmp",#tonflag) <> 0
endif
Code : Tout sélectionner
If InitSprite() = 0
MessageRequester("Erreur", "Impossible d'ouvrir l'écran & l'environnement nécessaire aux sprites !", 0)
End
EndIf
If OpenWindow(0, 0, 0, 220, 160, "Un écran dans une fenêtre...", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ButtonGadget(0, 170, 135, 45, 20, "Quitter")
If OpenWindowedScreen(WindowID(0), 0, 0, 160, 160)
StickyWindow(0,1)
;/// Via CreateSprite
CreateSprite(0, 20, 20)
If IsSprite(0)
Debug "Sprite 0 initialisé ! (mais pourtant vide)"
EndIf
If StartDrawing(SpriteOutput(0))
Box(0, 0, 20, 20, RGB(255, 0, 155))
Box(5, 5, 10, 10, RGB(155, 0, 255))
StopDrawing()
EndIf
Debug ""
Debug "Maintenant le sprite est rempli mais issprite n'est pas la pour vérifier ça"
;/// Via LoadSprite / Catchsprite
MonSprite = LoadSprite(1,#PB_Compiler_Home +"Examples/Sources/Data/PureBasicLogo.bmp")
If MonSprite <> 0
Debug ""
Debug "-----------------"
Debug "/// Via LoadSprite / Catchsprite"
Debug "LA JE SAIS que le sprite 1 MonSprite est chargé grace au IF"
EndIf
Else
MessageRequester("Erreur", "Impossible d'ouvrir un écran dans la fenêtre!", 0)
End
EndIf
Repeat
; Il est très important de traiter tous les évènements restants dans la file d'attente à chaque tour
;
Repeat
Event = WindowEvent()
Select Event
Case #PB_Event_Gadget
If EventGadget() = 0
End
EndIf
Case #PB_Event_CloseWindow
End
EndSelect
Until Event = 0
FlipBuffers()
ClearScreen(RGB(0, 0, 0))
DisplaySprite(0, 0, 0)
DisplaySprite(1, 30, 30)
Delay(1)
ForEver
EndIf
~~~~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: [Résolu] Comment savoir si un sprite est chargé
Merci Ar-s, c'est vraiment magique.
J'aimerais aussi, pendant que j'y suis, savoir comme effacer le tampon du clavier.
je m'explique, je fais un menu sur la fenêtre graphique avec DrawText() et je fais une boucle
Comment faire pour que la clavier soit vide ?
J'aimerais aussi, pendant que j'y suis, savoir comme effacer le tampon du clavier.
je m'explique, je fais un menu sur la fenêtre graphique avec DrawText() et je fais une boucle
Code : Tout sélectionner
; attendre qu'une touche soit pressée
Repeat
ExamineKeyboard()
If KeyboardReleased(#PB_Key_Space) Or
KeyboardReleased(#PB_Key_Escape)
Resultat = 1
EndIf
Until Resultat = 1
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
Re: [Résolu] Comment savoir si un sprite est chargé
Pas compris, tu veux effacer ton menu lorsque l'utilisateur presse la touche space ou esc ?
Tu veux dire quoi par le tampon du clavier?
Tu veux dire quoi par le tampon du clavier?
~~~~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: [Résolu] Comment savoir si un sprite est chargé
Non, ce que je veux, c'est que le caractère entré pour valider un choix, ici ESPACE, ne sois pas pris en compte dans la réponse à la question qui va être posée, car il faussera la réponse.
Exemple:
Quelle est la capitale de la région MIDI-PYRENEES-LANGUEDOC-ROUSSILLON
" Toulouse"
Tu t'es trompé la réponse était "TOULOUSE"
j'ai mis des guillemets pour faire la différence
C'est pour cette raison que je voudrais vider le tampon du clavier avant de répondre à une question.
Merci d'avance.
Exemple:
Quelle est la capitale de la région MIDI-PYRENEES-LANGUEDOC-ROUSSILLON
" Toulouse"
Tu t'es trompé la réponse était "TOULOUSE"
j'ai mis des guillemets pour faire la différence
C'est pour cette raison que je voudrais vider le tampon du clavier avant de répondre à une question.
Merci d'avance.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
Re: [Résolu] Comment savoir si un sprite est chargé
Vu que je ne sais pas comment tu captures ta reponse c'est pas facile de bien t'orienter.
Ton Flag resultat devrait se contenter d'informer sur l'etat de la capture.
J'organiserai ça dans ce genre.
Si clique sur Espace ou echap alors capture = 1
Si capture = 1
Reponse.s = ""
repete capture touche
Reponse.s = capturedetonclavier
juqu'à touche entree pour valider
Alors capture = 0
finsi
Sinon tu peux tout simplement regarder du coté de la commande Trim
Ton Flag resultat devrait se contenter d'informer sur l'etat de la capture.
J'organiserai ça dans ce genre.
Si clique sur Espace ou echap alors capture = 1
Si capture = 1
Reponse.s = ""
repete capture touche
Reponse.s = capturedetonclavier
juqu'à touche entree pour valider
Alors capture = 0
finsi
Sinon tu peux tout simplement regarder du coté de la commande Trim
Code : Tout sélectionner
Resultat$ = Trim(Reponse$ ," ")
~~~~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: [Résolu] Comment savoir si un sprite est chargé
Merci beaucoup, mais finalement j'ai changé de raccourci, j'ai remplacé #PB_Key_Space par #PB_Key_RightControl, comme ça pas de caractère imprimable dans le tampon.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
Re: [Résolu] Comment savoir si un sprite est chargé
Ah bon sang, mais c'est bien sûr ! C'est tellement simple que je n'y ai même pas pensé.
Merci Spock.
Merci Spock.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
Re: [Résolu] Comment savoir si un sprite est chargé
oui et ucase lcase pour majuscule/ minuscules aussi
car sinon TOULOUSE <> toulouse <> Toulouse
il faut aussi penser aux accents notre langue en étant clafie ^^
car sinon TOULOUSE <> toulouse <> Toulouse
il faut aussi penser aux accents notre langue en étant clafie ^^
Re: [Résolu] Comment savoir si un sprite est chargé
Oui bien sûr, mais je fais très attention à la casse des caractères et aussi à l'accentuation, la France n'en n'ayant pas le privilège.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !