Éditeur de livres jeux, besoin de conseils
- DjPoke
- Messages : 121
- Inscription : mar. 02/nov./2010 13:53
- Localisation : Corte, Corse, France
- Contact :
Re: Éditeur de livres jeux, besoin de conseils
Étrange, j'ai modifié tout pour tourner en plein écran (1024x768).
Cela fonctionne quand je compile dans l'éditeur purebasic, mais cela plante à un moment donné avec l'executable compilé.
Je ne comprend pas... Bug de la version 5.30 (x86) ?
Cela fonctionne quand je compile dans l'éditeur purebasic, mais cela plante à un moment donné avec l'executable compilé.
Je ne comprend pas... Bug de la version 5.30 (x86) ?
- majikeyric
- Messages : 602
- Inscription : dim. 08/déc./2013 23:19
- Contact :
Re: Éditeur de livres jeux, besoin de conseils
Je rencontre un problème similaire...
Lorsque j'exécute mon programme dans l'IDE y a pas de soucis mais si je lance l'exécutable j'ai un bug de sprite ?!!
Enfin peut être que ça n'a pas de rapport avec toi. Faut que je creuse...
Lorsque j'exécute mon programme dans l'IDE y a pas de soucis mais si je lance l'exécutable j'ai un bug de sprite ?!!
Enfin peut être que ça n'a pas de rapport avec toi. Faut que je creuse...
Re: Éditeur de livres jeux, besoin de conseils
Peut etre que ton code ne trouve pas le chemin du fichier du spritemajikeyric a écrit :Je rencontre un problème similaire...
Lorsque j'exécute mon programme dans l'IDE y a pas de soucis mais si je lance l'exécutable j'ai un bug de sprite ?!!
Enfin peut être que ça n'a pas de rapport avec toi. Faut que je creuse...
http://HexaScrabble.com/
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.00 - 64 bits
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.00 - 64 bits
- DjPoke
- Messages : 121
- Inscription : mar. 02/nov./2010 13:53
- Localisation : Corte, Corse, France
- Contact :
Re: Éditeur de livres jeux, besoin de conseils
J'ai essayé de compiler mon code avec la version 64bits, et là, aucun problèmes, ni sous l'IDE, ni dans l'executable.
Je penche donc vers un bug de purebasic version x86.
Je penche donc vers un bug de purebasic version x86.
- majikeyric
- Messages : 602
- Inscription : dim. 08/déc./2013 23:19
- Contact :
Re: Éditeur de livres jeux, besoin de conseils
bein non pourtant, y a un seul sprite sur 45 qui buggue...SPH a écrit :Peut etre que ton code ne trouve pas le chemin du fichier du sprite
Je chercherai quand j'aurai un peu de temps.
- DjPoke
- Messages : 121
- Inscription : mar. 02/nov./2010 13:53
- Localisation : Corte, Corse, France
- Contact :
Re: Éditeur de livres jeux, besoin de conseils
Si c'est bien une image qui plante, au moment où le programme plante chez moi, il est censé charger par script l'image "deco1.png" qui a pour seule différence par rapport aux précédentes d'avoir une grande zone dont la teinte Alpha est à 0. (Transparence 'png')
Je vais regarder si il n'y a pas quelque chose qui me choque dans mon programme au niveau du chargement de l'image et de l'affichage, mais cela m'étonne quand même que purebasic x86 plante et pas purebasic x64.
EDIT:
Voici la partie qui pourrait être à incriminer, mais je ne vois pas d'erreurs :
'a$' contient normalement <IMAGE>deco1.png (en tout cas, dans l'IDE, c'est le cas) et OffsetX est égale à 0 ou 512 selon si l'image va à gauche ou à droite de l'écran.
EDIT2:
J'ai un vague souvenir d'avoir eu déjà un problème avec la commande FreeImage si je m'en sert trop rapidement.
Une idée ? C'est peut-être là mon problème ?
Peut-être que l'IDE avec le debugger est plus lent, et fonctionne, mais pas la version compilée ?
EDIT3:
Non, c'est lié à la souris. Un clic n'importe où avec n'importe quel bouton à ce moment là et ça plante.
J'ai eu le même problème au même endroit avec la version canvas.
Je vais regarder si il n'y a pas quelque chose qui me choque dans mon programme au niveau du chargement de l'image et de l'affichage, mais cela m'étonne quand même que purebasic x86 plante et pas purebasic x64.
EDIT:
Voici la partie qui pourrait être à incriminer, mais je ne vois pas d'erreurs :
Code : Tout sélectionner
ElseIf Left(a$,7) = "<IMAGE>"
tempimg = LoadImage(#PB_Any,"projets\"+project_dir$+"\"+Mid(a$,8))
DrawingMode(#PB_2DDrawing_AlphaBlend)
DrawImage(ImageID(tempimg),56 + offsetX,84)
DrawingMode(#PB_2DDrawing_Transparent)
FreeImage(tempimg)
EDIT2:
J'ai un vague souvenir d'avoir eu déjà un problème avec la commande FreeImage si je m'en sert trop rapidement.
Une idée ? C'est peut-être là mon problème ?
Peut-être que l'IDE avec le debugger est plus lent, et fonctionne, mais pas la version compilée ?
EDIT3:
Non, c'est lié à la souris. Un clic n'importe où avec n'importe quel bouton à ce moment là et ça plante.
J'ai eu le même problème au même endroit avec la version canvas.
- DjPoke
- Messages : 121
- Inscription : mar. 02/nov./2010 13:53
- Localisation : Corte, Corse, France
- Contact :
Re: Éditeur de livres jeux, besoin de conseils
Bon, ben, je vais reprogrammer ça sous la SDL 2 en C ou C++ :
Impossible d'avoir un executable 32 bits qui fonctionne, alors que sous l'IDE cela fonctionne impeccable.
Impossible de debugger, donc, ni de contourner un éventuel bug de PB x86.
En 64 bits, cela fonctionne mais cela ne m'intéresse pas.
Dommage pour moi, je suis un peu déçu...
Impossible d'avoir un executable 32 bits qui fonctionne, alors que sous l'IDE cela fonctionne impeccable.
Impossible de debugger, donc, ni de contourner un éventuel bug de PB x86.
En 64 bits, cela fonctionne mais cela ne m'intéresse pas.
Dommage pour moi, je suis un peu déçu...
Re: Éditeur de livres jeux, besoin de conseils
Pas de raison que tu n'y arrives pas en PB...
Ce ne serait pas es histoire de .l .i ? Je pars en vacances demain je ne pourrai pas trop surfer mais c'est dommage que tu lâches l'affaire.
Ce ne serait pas es histoire de .l .i ? Je pars en vacances demain je ne pourrai pas trop surfer mais c'est dommage que tu lâches l'affaire.
~~~~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
- DjPoke
- Messages : 121
- Inscription : mar. 02/nov./2010 13:53
- Localisation : Corte, Corse, France
- Contact :
Re: Éditeur de livres jeux, besoin de conseils
En fait, j'ai fait des test, et il semble qu'au bout de plusieurs usages, à un moment donné, le fait de dessiner dans un sprite fasse planter l'exe.
Ce qui m'intrigue, c'est que cela fonctionne dans l'IDE et qu'un exe 64 bits fonctionne aussi.
Je suis pommé car je ne peux pas débugger.
A moins que je puisse créer un exe avec débugger intégré dedans, mais si cela est possible, comment puis-je invoquer le débugger ?
EDIT: Est ce que la déclaration d'un sprite sans .l ou .i ne peut pas déclencher ce genre de problèmes en 32 bits ?
Ce qui m'intrigue, c'est que cela fonctionne dans l'IDE et qu'un exe 64 bits fonctionne aussi.
Je suis pommé car je ne peux pas débugger.
A moins que je puisse créer un exe avec débugger intégré dedans, mais si cela est possible, comment puis-je invoquer le débugger ?
EDIT: Est ce que la déclaration d'un sprite sans .l ou .i ne peut pas déclencher ce genre de problèmes en 32 bits ?
Re: Éditeur de livres jeux, besoin de conseils
Penses tu bien à libérer les sprites qui ne servent plus avec FreeSprite() ?
~~~~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
- DjPoke
- Messages : 121
- Inscription : mar. 02/nov./2010 13:53
- Localisation : Corte, Corse, France
- Contact :
Re: Éditeur de livres jeux, besoin de conseils
Voici l'une des deux fonctions ou fonctions qui font planter le programme à un moment donné :
'screen' est une variable globale qui contient un sprite de 1024x768 sans alphablending ni collision, et 'pages' est une variable globale qui contient une image png en 1024x768.
Code : Tout sélectionner
; Dessiner les deux pages vierges
Procedure ShowPages()
StartDrawing(SpriteOutput(screen))
DrawImage(ImageID(pages),0,0)
StopDrawing()
EndProcedure
Re: Éditeur de livres jeux, besoin de conseils
Pour rappel, il ne faut pas que ton sprite soit plus grand que ta fenêtre. Si tu es en openwindowscreen.
J'avais trouvé un super petit exe qui permettait de debugger en externe, je ne le trouve plus, je cherche...
J'avais trouvé un super petit exe qui permettait de debugger en externe, je ne le trouve plus, je cherche...
~~~~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
- DjPoke
- Messages : 121
- Inscription : mar. 02/nov./2010 13:53
- Localisation : Corte, Corse, France
- Contact :
Re: Éditeur de livres jeux, besoin de conseils
Non, je suis maintenant en plein écran.
EDIT: J'ai modifié le code qui plante comme ceci :
Et en fait, Startdrawing ne retourne pas de pointeur sur mon sprite.
Je ne comprend pas, parce que compilé avec PB x64, ça fonctionne.
EDIT2: J'ai trouvé ! C'est un bug à propos de #PB_Any sur la création de sprites.
En remplaçant :
par
cela fonctionne enfin.
Est ce que quelqu'un peut me décrire mon erreur pour que je ne la refasse plus à l'avenir ?
EDIT: J'ai modifié le code qui plante comme ceci :
Code : Tout sélectionner
; Dessiner les deux pages vierges
Procedure ShowPages()
If StartDrawing(SpriteOutput(screen))
DrawImage(ImageID(pages),0,0)
StopDrawing()
Else
End
EndIf
EndProcedure
Je ne comprend pas, parce que compilé avec PB x64, ça fonctionne.
EDIT2: J'ai trouvé ! C'est un bug à propos de #PB_Any sur la création de sprites.
En remplaçant :
Code : Tout sélectionner
; Créer le sprite buffer d'écran
Global screen = CreateSprite(#PB_Any,1024,768)
Code : Tout sélectionner
; Créer le sprite buffer d'écran
Global screen = 0
CreateSprite(screen,1024,768)
Est ce que quelqu'un peut me décrire mon erreur pour que je ne la refasse plus à l'avenir ?
- falsam
- Messages : 7244
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: Éditeur de livres jeux, besoin de conseils
@DjPoke: J'ai téléchargé ton fichier compressé, mais apparemment il est corrompu. J'ai désactivé mon Antivirus au cas ou, mais même résultat.
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%
- DjPoke
- Messages : 121
- Inscription : mar. 02/nov./2010 13:53
- Localisation : Corte, Corse, France
- Contact :
Re: Éditeur de livres jeux, besoin de conseils
Si c'est un virus "heuristique", c'est PB qui est de moins en moins toléré par les antivirus.
Hier, j'ai pris un programme à moi qui marche très bien sur l'ancienne version d'Avira, et je l'ai testé sur un PC avec la nouvelle version d'Avira qui me detecte un virus heuristique.
Si j'ai bien compris, c'est un virus potentiel, et non pas un virus signé.
Les programmes compilés en PB sous Avast n'étaient déjà plus tolérés, mais là cela devient grave !!!
EDIT: Pour que cela fonctionne, j'ai pris l'antivirus de microsoft...
Hier, j'ai pris un programme à moi qui marche très bien sur l'ancienne version d'Avira, et je l'ai testé sur un PC avec la nouvelle version d'Avira qui me detecte un virus heuristique.
Si j'ai bien compris, c'est un virus potentiel, et non pas un virus signé.
Les programmes compilés en PB sous Avast n'étaient déjà plus tolérés, mais là cela devient grave !!!
EDIT: Pour que cela fonctionne, j'ai pris l'antivirus de microsoft...