Page 1 sur 1

insérer imade dans executable

Publié : jeu. 02/juin/2005 8:06
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)

Publié : jeu. 02/juin/2005 10:14
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