Forums Développement Multimédia

Les formations Mediabox
Les formations Mediabox

Case à cocher personnalisée (mode avancé)

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

Hello

voici le mode avancé je dirai des cases à cocher personnalisées

cette fois 6 images composent notre case à cocher

1.jpg

Cette version inclue, l'effet de rollover sur chaque case à cocher se trouvant sur là scène.

voici le code

-- Multi CheckBoxes
-------------------------
-- Script by Laurent Leedoriden
-- Copyright © 1996 - 2005 Leedoriden DSFW
-- All rights reserved
-- created : 03/14/2005
-- last updated :
 
property pbool_CheckBox, pNumericCheckBox, pListReponseCheckBoxes
property pBtnUncheck_UP, pBtnUncheck_UP_focus, pBtnUncheck_DOWN
property pBtnCheck_UP, pBtnCheck_UP_focus, pBtnCheck_DOWN
 
on getpropertydescriptionlist me  
 theMember    = sprite(the currentspritenum).member
 theMemberNum = theMember.number
 
 PropertyList = [:]  
 PropertyList[#pBtnUncheck_UP]=[#comment: "Btn Uncheck UP :", #format: #bitmap, #default: theMember]
 PropertyList[#pBtnUncheck_UP_focus]=[#comment: "Btn Uncheck UP focus :", #format: #bitmap, #default:
 member(theMemberNum+1)]
 PropertyList[#pBtnUncheck_DOWN]=[#comment: "Btn Uncheck DOWN :", #format: #bitmap, #default: member(theMemberNum+2)]
 PropertyList[#pBtnCheck_UP]=[#comment: "Btn Check UP :", #format: #bitmap, #default: member(theMemberNum+3)]
 PropertyList[#pBtnCheck_UP_focus]=[#comment: "Btn Check UP focus :", #format: #bitmap, #default: member(theMemberNum+4)]
 PropertyList[#pBtnCheck_DOWN]=[#comment: "Btn Check DOWN :", #format: #bitmap, #default: member(theMemberNum+5)]
 PropertyList[#pNumericCheckBox]=[#comment: "Numric CheckBox :", #format: #integer, #default: 1]
 PropertyList[#pbool_CheckBox]=[#comment: "Default checked  BTN :", #format: #boolean, #default: 0]  
 return PropertyList  
end
 
-- limité aux graphiques et aux bitmap
on isoktoattach (me, TypeObject, pSpriteNum)
 case TypeObject of
   #graphic :  return getpos([#bitmap, #graphic], sprite(pSpriteNum).member.type) <>  0
   #script : return false -- ne fonctionne pas comme un script d'acteur ( image )
 end case
end
 
on getbehaviortooltip me
 return "Multi CheckBoxes" & return & "Case à cocher multi-états : normal, over, checked" & return & \
 "Fonctionne uniquement avec des graphiques" & return & return & \
 "Développé par Laurent Leedoriden" & return & "Copyright © 1996 - 2005 Leedoriden DSFW"
end
 
on getbehaviordescription me
 return me.getbehaviortooltip()
end
 
on beginsprite me
 pListReponseCheckBoxes = [ ] -- create an empty list
 -- vérifier si les cases sont cochées
 pListReponseCheckBoxes[pNumericCheckBox] = pbool_CheckBox  
 
 if pbool_CheckBox then sprite(me.spritenum).member = pBtnCheck_UP      
 else sprite(me.spritenum).member = pBtnUnCheck_UP        
end
 
on mouseenter me
 if pbool_CheckBox then sprite(me.spritenum).member = pBtnCheck_UP_focus
 else sprite(me.spritenum).member = pBtnUnCheck_UP_focus
end
 
on mouseleave me
 if pbool_CheckBox then sprite(me.spritenum).member = pBtnCheck_UP
 else sprite(me.spritenum).member = pBtnUnCheck_UP
end
 
on mousedown me  
 if pbool_CheckBox then sprite(me.spritenum).member = pBtnCheck_DOWN
 else sprite(me.spritenum).member = pBtnUnCheck_DOWN
end
 
on mouseup me  
 pbool_CheckBox = 1 -pbool_CheckBox  -- checked on / off
 
 pListReponseCheckBoxes[pNumericCheckBox] = pbool_CheckBox
 
 if pbool_CheckBox then sprite(me.spritenum).member = pBtnCheck_UP  
 else sprite(me.spritenum).member = pBtnUnCheck_UP
end

la boite de dialogue pour paramétrer les options

2.jpg

et le résultat sur la scène

3.jpg

tuto by Leedoriden