Forums Développement Multimédia

Les formations Mediabox
Les formations Mediabox

Case à cocher personnalisée (mode simple)

Compatible Director. Cliquer pour en savoir plus sur les compatibilités.Par Leedoriden, le 06 2005

Hello

Bien que les cases à cocher livrées en standard ne soient pas très design, on peut simuler le même effet en utilisant des images ayant la forme que vous souhaitez pour donner un look vraiment personnalisé à vos checkbox et à l'ensemble de votre projet ;-)

Il vous faut 2 images, 1ere qui représente l'état normal, et la 2em l'état coché.

1.jpg

placez la 1ere image ( état normal (non coché)) sur la scène. Placez en d'autres selon votre projet.

La partie du script, vraiment simple à déchiffrer

-- Case à cocher personnalisée (mode simple)
-----------------------------
-- Script by Laurent Leedoriden
-- Copyright © 1996 - 2005 Leedoriden DSFW
-- All rights reserved
-- created : 06/18/2005
-- last updated : 
----------------------------
 
global gListCB, gListImgCB, gCheckOnOff
property pNumericCheckBox, pbool_CheckBox
 
on getpropertydescriptionlist me  
 PropertyList = [:]  
 PropertyList[#pNumericCheckBox] = [#comment: "Numeric CheckBox :", #format: #integer, #default: 1]
 PropertyList[#pbool_CheckBox] = [#comment: "Default checked  BTN :", #format: #boolean, #default: gCheckOnOff]
 return PropertyList  
end
 
on beginsprite me
 gListCB = [ ] -- liste recevant les valeurs
 
 -- vérifier si les cases sont cochées
 gListCB[pNumericCheckBox ] = pbool_CheckBox
 
 gListImgCB = ["cb_normal", "cb_checked"]
 
 if pbool_CheckBox then sprite(me.spritenum).member = gListImgCB[2] -- coché
 else sprite(me.spritenum).member = gListImgCB[1] -- normal
end
 
on mouseup me
 pbool_CheckBox = 1 - pbool_CheckBox  -- 1er clic on coche 2em on décoche
 
 if pbool_CheckBox then sprite(me.spritenum).member = gListImgCB[2] -- coché
 else sprite(me.spritenum).member = gListImgCB[1] -- normal
 
 gListCB[pNumericCheckBox] = pbool_CheckBox  -- ici 1 ou 0 selon coché ou non
 put gListCB  
end

une fois le code écrit, déposez ce script sur la 1ere image Checkbox qui se trouve sur la scène. Vous optenez la boîte de dialogue suivante :

2.jpg

Numeric Checkbox sert à identifier l'ordre des checkboxes qui se trouvent sur la scène, si vous en avez qu'une laissez 1, si vous ajoutez d'autres CB, numeric Checkbox = 2, puis 3 ainsi de suite.

voici maintenant à quoi ressemble la scène

3.jpg

le résultat de vos coches dans la fenêtre message.

Happy coding ;-)

tuto by Leedoriden