Le script tout d'abord:
rollout Rollo "Seltex" width:162 height:103
(
label lbl1 "Selectionner:" pos:[13,11] width:75 height:16
button btn_tex "Texturés" pos:[16,33] width:126 height:23
button btn_ntex "Non texturés" pos:[16,60] width:126 height:23
on btn_tex pressed do
(
select $*
liste=selection as array
for obj in liste do
(
if (obj.material==undefined)
then deselect obj
)
)
on btn_ntex pressed do
(
select $*
liste=selection as array
for obj in liste do
(
if (obj.material!=undefined) then deselect obj
)
)
)
roll1= newRolloutFloater "v0.1 - (c)2004, tOf" 172 119
addRollout Rollo Roll1
rollout Rollo "Seltex" width:162 height:103
Ici on déclare un nouveau rollout nommé
Rollo, ayant pour titre
Seltex, de dimension 162x103.
Viennent ensuite les définitions des différents élèments graphiques du script:
- un label lbl1 qui sert simplement à afficher Selectionner: avec des paramètres de position et de dimension
- un bouton btn_tex ayant pour titre Texturés
- et un autre bouton, btn_ntex pour les non-texturés
On définit ensuite ce qui doit se passer lorsque l'on appuie sur un des boutons:
on btn_tex pressed do: lorsque le bouton est cliqué (pressé),
select $* on selectionne tous les élèments de la scène
liste=selection as array et on créé un tableau (
array) contenant les élèments selectionnés, que l'on appelle
liste
Puis on teste pour chaque élèment
obj de
liste (
for obj in liste do) si l'élèment possède déjà un matériau, une
texture, ou non - dans ce cas,
obj.material renvoie
undefined.
Si c'est effectivement le cas, alors l'objet est déselectionné puisqu'on veut garder uniquement les texturés:
deselect obj.
Pour l'autre bouton on procède exactement de la même manière sauf que le test est inversé: si l'objet a un matériau, ie
obj.material n'est pas égal à
undefined (
obj.material != undefined) alors il est déselectionné.
roll1= newRolloutFloater "v0.1 - (c)2004, tOf" 172 119
On finit en créant une boite flottante du nom de
roll1 avec pour titre
"v0.1 - (c)2004, tOf" et de dimensions 172x119.
On rajoute enfin notre rollout
Rollo à la boite flottante
roll1:
addRollout Rollo Roll1.
haut