
Messages : 459
GCPoints : 63647
|
Alors voila j'ai fait sa en 5 min. Il y a 2 fonction, une pour créer les boutons et l'autre pour faire l'action des boutons.
fonctions :
Code :
function bouton(numsprite1,numsprite2,numsprite3,numtext,x#,y#,taillex#,tailley#,text$,size#)
rem bouton voyan
box x#,y#,taillex#,tailley#,RGB(255,0,0),RGB(255,0,0),RGB(255,0,0),RGB(255,0,0)
get image numsprite1,x#,y#,taillex#,tailley#
sprite numsprite1,x#,y#,numsprite1
hide sprite numsprite1
cls
rem bouton selection
box x#,y#,taillex#,tailley#,RGB(128,255,0),RGB(128,255,0),RGB(128,255,0),RGB(128,255,0)
get image numsprite2,x#,y#,taillex#,tailley#
sprite numsprite2,x#,y#,numsprite2
hide sprite numsprite2
cls
rem bouton clic
box x#,y#,taillex#,tailley#,RGB(0,0,255),RGB(0,0,255),RGB(0,0,255),RGB(0,0,255)
get image numsprite3,x#,y#,taillex#,tailley#
sprite numsprite3,x#,y#,numsprite3
hide sprite numsprite3
cls
rem texte dans bouton
set text size size#
center text screen width()/2,screen height()/2,text$
get image numtext,0,0,screen width(),screen height()
sprite numtext,0,0,numtext
sprite numtext,(sprite x(numsprite1)+sprite width(numsprite1)/2-screen width()/2),(sprite y(numsprite1)+sprite height(numsprite1)/2-screen height()/2),numtext
cls
show sprite numsprite1
endfunction
function boutonclic(numsprite1,numsprite2,numsprite3)
if mousex()>=sprite x(numsprite1) and mousex()<=(sprite x(numsprite1)+sprite width(numsprite1))
if mousey()>=sprite y(numsprite1) and mousey()<=(sprite y(numsprite1)+sprite height(numsprite1))
show sprite numsprite2
if mouseclick()=1
show sprite numsprite3
else
hide sprite numsprite3
endif
endif
else
hide sprite numsprite2
endif
endfunction
et un petit exemple :
Code :
set display mode 1280,1024,32
color backdrop 0
bouton(1,2,3,4,200,200,400,400,"blabla",40)
do
boutonclic(1,2,3)
loop
function bouton(numsprite1,numsprite2,numsprite3,numtext,x#,y#,taillex#,tailley#,text$,size#)
rem bouton voyan
box x#,y#,taillex#,tailley#,RGB(255,0,0),RGB(255,0,0),RGB(255,0,0),RGB(255,0,0)
get image numsprite1,x#,y#,taillex#,tailley#
sprite numsprite1,x#,y#,numsprite1
hide sprite numsprite1
cls
rem bouton selection
box x#,y#,taillex#,tailley#,RGB(128,255,0),RGB(128,255,0),RGB(128,255,0),RGB(128,255,0)
get image numsprite2,x#,y#,taillex#,tailley#
sprite numsprite2,x#,y#,numsprite2
hide sprite numsprite2
cls
rem bouton clic
box x#,y#,taillex#,tailley#,RGB(0,0,255),RGB(0,0,255),RGB(0,0,255),RGB(0,0,255)
get image numsprite3,x#,y#,taillex#,tailley#
sprite numsprite3,x#,y#,numsprite3
hide sprite numsprite3
cls
rem texte dans bouton
set text size size#
center text screen width()/2,screen height()/2,text$
get image numtext,0,0,screen width(),screen height()
sprite numtext,0,0,numtext
sprite numtext,(sprite x(numsprite1)+sprite width(numsprite1)/2-screen width()/2),(sprite y(numsprite1)+sprite height(numsprite1)/2-screen height()/2),numtext
cls
show sprite numsprite1
endfunction
function boutonclic(numsprite1,numsprite2,numsprite3)
if mousex()>=sprite x(numsprite1) and mousex()<=(sprite x(numsprite1)+sprite width(numsprite1))
if mousey()>=sprite y(numsprite1) and mousey()<=(sprite y(numsprite1)+sprite height(numsprite1))
show sprite numsprite2
if mouseclick()=1
show sprite numsprite3
else
hide sprite numsprite3
endif
endif
else
hide sprite numsprite2
endif
endfunction
|

Messages : 42
GCPoints : 14425
|
Corwin ?
tu es né dedans ???
bravo et merci pour ton code !!!
je le déchiffre depuis un moment, en me posant tout un tas de questions lol...
j'aurais été incapable d'écrire un code comme ça...
je le déchiffre, mais je suis loin d'avoir la logique pour l'écrire ...
donc, si tu veux bien, explique moi le principe...
set display mode 1280,1024,32
color backdrop 0
bouton (1,2,3,4,5,5,200,50,"blabla",20)
` "1,2,3,4" c'est quelle valeurs exactement ? ça représente quoi ?
do
boutonclic(1,2,3)
` le bouton a 3 fonctions définies plus bas...
loop
` là...ca se complique ....
function bouton(numsprite1,numsprite2,numsprite3,numtext,x#,y#,taillex#,tailley#,text$,size#)
` tu définis 3 sprite, (affichage, survole, clic)
` le sprite texte,
` les valeurs X et Y sont la position donné en ligne 3,
` la taille X et Y défini en ligne 3 aussi,
` le texte à afficher et sa taille !
` les # appliquent les valeurs définies en ligne 3
rem bouton voyan
box x#,y#,taillex#,tailley#,RGB(255,0,0),RGB(255,0,0),RGB(255,0,0),RGB(255,0,0)
` tu stipules que la boite fera réference aux données de la ligne 3,(position et grandeur)
` et tu définis la couleur...
` es tu obligé de répéter 4 fois ",RGB(255,0,0)" ??? pourquoi ?
` là !!! j'ai du mal comprendre le principe !!!
get image numsprite1,x#,y#,taillex#,tailley#
sprite numsprite1,x#,y#,numsprite1
hide sprite numsprite1
cls
merci encore !
après avoir compris je tenterais de le faire moi même....
|