Bon voici ce que j'ai fait avec les medias.
Code : Tout sélectionner
;**************************************
; creatin du menu intro pour
; industrial manager
;**************************************
If InitSprite() = 0 Or InitKeyboard() = 0 Or InitMouse() = 0
MessageRequester("Erreur", "Pas de détection de directx 7 ou supérieur", 0)
End
EndIf
InitSprite3D()
If InitSound() = 0
MessageRequester("Erreur", "Pas de détection de directx 7 ou supérieur et/ou de carte son", 0)
End
EndIf
UseJPEGImageDecoder()
UseTGAImageDecoder()
;*********** declaration des constante *****************
Enumeration ;-------- enumeration des images
#image_fond_menu
EndEnumeration
Enumeration ;-------- enumeration des sprites
#sprite_fond_console
#sprite3d_fond_console
#sprite_bordure
#sprite_solo
#sprite_sur_solo
#sprite_multi
#sprite_sur_multi
#sprite_option
#sprite_sur_option
#sprite_credit
#sprite_sur_credit
#sprite_quitter
#sprite_sur_quitter
#sprite_mouse1
EndEnumeration
Enumeration
#page_principale
#page_solo
#page_multi
#page_option
#page_credit
#page_quitter
EndEnumeration
Enumeration
#son_bouton
EndEnumeration
Global son_solo
Global son_multi
Global son_option
Global son_credit
Global son_quitter
Global etat$
Global page_courante = #page_principale
If OpenScreen(1024, 768, 32, "industrial manager")
LoadImage(#image_fond_menu,"media\image_fond_menu.jpg")
LoadSprite(#sprite_fond_console,"media\fond_console.bmp",#PB_Sprite_Texture)
CreateSprite3D(#sprite3d_fond_console,#sprite_fond_console)
LoadSprite(#sprite_bordure,"media\bordure_console.bmp")
LoadSprite(#sprite_solo,"media\bouton_solo.bmp")
LoadSprite(#sprite_sur_solo,"media\bouton_sur_solo.bmp")
LoadSprite(#sprite_multi,"media\bouton_multi.bmp")
LoadSprite(#sprite_sur_multi,"media\bouton_sur_multi.bmp")
LoadSprite(#sprite_option,"media\bouton_option.bmp")
LoadSprite(#sprite_sur_option,"media\bouton_sur_option.bmp")
LoadSprite(#sprite_credit,"media\bouton_credit.bmp")
LoadSprite(#sprite_sur_credit,"media\bouton_sur_credit.bmp")
LoadSprite(#sprite_quitter,"media\bouton_quitter.bmp")
LoadSprite(#sprite_sur_quitter,"media\bouton_sur_quitter.bmp")
LoadSprite(#sprite_mouse1,"media\mouse1.bmp")
LoadSound(#SOn_bouton,"sons\bip_console_2.WAV")
Repeat
FlipBuffers()
ClearScreen(RGB(0,0,0))
If IsScreenActive()
If StartDrawing(ScreenOutput())
DrawImage(ImageID(#image_fond_menu),0,0)
EndIf
StopDrawing()
ExamineMouse()
posx_mouse = MouseX()
posy_mouse = MouseY()
If page_courante = #page_principale
Gosub menu_principal
EndIf
DisplayTransparentSprite(#sprite_mouse1, posx_mouse, posy_mouse)
ExamineKeyboard()
Else
StopSound(-1)
Delay(20)
EndIf
Until KeyboardPushed(#PB_Key_Escape)
Else
MessageRequester("Erreur", "impossible d'afficher 1024*768 - 32 bit screen !", 0)
EndIf
menu_principal:
If Start3D()
DisplaySprite3D(#sprite3d_fond_console,660,84,180)
Stop3D()
EndIf
DisplayTransparentSprite(#sprite_bordure,660,84)
If posy_mouse>(128) And posy_mouse<(185) And posx_mouse>(709) And posx_mouse<(934)
DisplayTransparentSprite(#sprite_sur_solo,709,129)
etat$ = "solo"
Else
son_solo = 1
DisplayTransparentSprite(#sprite_solo,709,129)
EndIf
If posy_mouse>(229) And posy_mouse<(287) And posx_mouse>(709) And posx_mouse<(934)
DisplayTransparentSprite(#sprite_sur_multi,709,229)
etat$ = "multi"
Else
son_multi = 1
DisplayTransparentSprite(#sprite_multi,709,229)
EndIf
If posy_mouse>(328) And posy_mouse<(385) And posx_mouse>(709) And posx_mouse<(934)
DisplayTransparentSprite(#sprite_sur_option,709,328)
etat$ = "option"
Else
son_option = 1
DisplayTransparentSprite(#sprite_option,709,328)
EndIf
If posy_mouse>(428) And posy_mouse<(486) And posx_mouse>(709) And posx_mouse<(934)
DisplayTransparentSprite(#sprite_sur_credit,709,428)
etat$ = "credit"
Else
son_credit = 1
DisplayTransparentSprite(#sprite_credit,709,428)
EndIf
If posy_mouse>(584) And posy_mouse<(642) And posx_mouse>(709) And posx_mouse<(934)
DisplayTransparentSprite(#sprite_sur_quitter,709,584)
etat$ = "quitter"
Else
son_quitter = 1
DisplayTransparentSprite(#sprite_quitter,709,584)
EndIf
If etat$="solo" And son_solo=1 : PlaySound(#Son_bouton) : son_solo=0 : EndIf
If etat$="multi" And son_multi=1 : PlaySound(#Son_bouton) : son_multi=0 : EndIf
If etat$="option" And son_option=1 : PlaySound(#Son_bouton) : son_option=0 : EndIf
If etat$="credit" And son_credit=1 : PlaySound(#Son_bouton) : son_credit=0 : EndIf
If etat$="quitter" And son_quitter=1 : PlaySound(#Son_bouton) : son_quitter=0 : EndIf
If MouseButton(#PB_MouseButton_Left)
;If etat$ = "solo"
;If etat$ = "multi"
;If etat$ = "option"
;If etat$ = "credit"
If etat$ = "quitter" : Goto fin_programme : EndIf
Else
etat$=""
EndIf
Return
;************** vidange memoire *******************
fin_programme:
For i=0 To 100
If IsImage(i)<>0
FreeImage(i)
EndIf
If IsSprite(i)<>0
FreeSprite(i)
EndIf
If IsSprite3D(i)<>0
FreeSprite3D(i)
EndIf
If IsSound(i)<>0
FreeSound(i)
EndIf
Next
End
Je sais pas si c'est une bonne solution pour faire un menu mais j'attends vos remarques(constructives)