insérer imade dans executable

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
david
Messages : 208
Inscription : jeu. 03/févr./2005 21:10

insérer imade dans executable

Message par david »

je suis nul... la question posée ici l'a déjà été plein de fois (j'ai retourné en long large et travers mais ça ne passe pas dans ma petite tête), comment insérer mon image dans le fichier compilé .EXE

j'ai bien trouvé :

A/ DataSection
01:
IncludeBinary "masse.bmp"
EndDataSection

B/ CatchSprite(#Masse,?01)

Mais pas moyen de l'utiliser avec le prog ci après (dans les exemples de pureB) :
;
; ------------------------------------------------------------
;
; PureBasic - Sprite example file
;
; (c) 2002 - Fantaisie Software
;
; ------------------------------------------------------------
;
Timer = SetTimer_(WindowID(), 0, 1000, 0)
PostMessage_(WindowID(), #WM_Timer,0,0)

If InitSprite() = 0 Or InitKeyboard() = 0
MessageRequester("Error", "Can't open DirectX 7 Or later", 0)
End
EndIf

If InitSprite3D() = 0
MessageRequester("Error", "Direct3D system can't be initialized correctly", 0)
End
EndIf

If OpenScreen(640, 480, 16, "Sprite")







LoadSprite(0, "IMAGE.bmp", #PB_Sprite_Texture)





CreateSprite3D(0, 0)
CreateSprite3D(1, 0)
CreateSprite3D(2, 0)

Sprite3DQuality(1)

TransparentSpriteColor(0, 255, 0, 255) ; Our pink is transparent :)

sens = 1
Repeat


FlipBuffers()

ClearScreen(0,50,128)

If Start3D()
DisplaySprite3D(0, 0, 30)
DisplaySprite3D(0, x+100, 100, x)
DisplaySprite3D(0, x*2, 100, x)

ZoomSprite3D(1, x, x)
RotateSprite3D(1, x, 0)
DisplaySprite3D (1, 0, 100, x/2)
DisplaySprite3D (1, x*2, 100, x)
DisplaySprite3D (1, 0, 100, x/2)
DisplaySprite3D (1, x*2, 200+x, x)

Stop3D()
EndIf

ExamineKeyboard()

If sens=1
x+1
EndIf
If sens=0
x-1
EndIf

If x>=510
sens=0
EndIf
If x<=0
sens=1
EndIf


Until x > 550 Or KeyboardPushed(#PB_Key_Escape)

Else
MessageRequester("Error", "Can't open a 640*480 - 16 bit screen !", 0)
EndIf

End



De plus j'auais voulu insérer une horloge aiguille ou compteur en plus de l'animation, mais là je vous laisse imaginer le bordel. Il parait que je "cause des défaillances dans le système...". Bon c'est vrai, j'y vais un peu plus qu'a tatond, mais c'est comme ça qu'on avance. Il est bien loin le temps de mon Amstrad6128. Mais bon fait dire, avec pureB, je me demande s'il y a des choses qui ne sont pas faisable. (me servir une bierre?)

Merci d'avance pour votre aide..... un débutant pas expérimenté (comme son nom l'indique)
Lukky
Messages : 340
Inscription : dim. 25/janv./2004 12:22
Localisation : Morbihan

Message par Lukky »

Bon la j'ai pas le temps de creuser mais déjà pour la partie include il faut plutôt faire un truc du genre :

Code : Tout sélectionner

01:
IncludeBinary "masse.bmp"
Donc pas dans des tags DataSection, tu met ça au début de ton code et c'est bon.

De plus tu fais un LoadSprite(0, "IMAGE.bmp", #PB_Sprite_Texture) alors que vu que tu es dans le cas de figure d'un :

Code : Tout sélectionner

CatchSprite(0,?01,#PB_Sprite_Texture)
En plus tu fais un load sur une "Image.bmp" alors que tu déclare ton image en 01, fait gaffe à ça, et puis tu peux l'appeler autrement que 01, MaTexture par exemple.

Après ça il semble que ça fonctionne mais soit plus cohérent.

Et pour finir, lorsque tu met un code sur le forum utilise les balises Code et vire les sauts de ligne superflus, c'est chiant à lire et à modifier juste pour que ce soit lisible pour nous.

JL
Quand on me gonfle trop j'éclate, sinon ça va !
Répondre