Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Director on mouseDown probl?me de script help me

1 réponse
Avatar
barbak
voila, je voudrais cr?er un menu d?roulant donc, j'ai ?t? voir dans yazo.net il
y a un exemple bien concret mais il ne fonctionne pas

J'ai d'abord cr?? un champ texte "edition" puis j'ai ouvert la fenetre de
messsage et j'ai ?crit :
set the dropshadow of member "monchamps" to 1
set the boxdropshadow of member "monchamps" to 2
set the border of member 2 to 1

ensuite j'ai associ? ce script au champ texte ?dition
on mouseDown

set x to " ?dition" & return & " Copier" & return & " Couper" & return & "
Coller" & return & " Effacer" & return & " Tout s?lectionner"

put x into field 1

end

on mouseUp

put " ?dition" into field 1

end

set CHOIXPRECEDENT to 0
set CHOIXACTUEL to 0

-- tant que la souris est enfonc?e

repeat while the stilldown

if the mousecast = 1 then

-- mais enfonc?e au dessus du champs (acteur 1 ici) :
set CHOIXACTUEL to the mouseline

else

set CHOIXACTUEL to 0

end if



-- la variable CHOIXACTUEL stocke donc la position
-- changeante de la souris
-- Nous souhaitons mettre en surbrillance la ligne
-- correspondante du champs
-- mais ceci ne doit ?tre fait qu'? chaque changement
-- de position ? l'int?rieur du menu !

-- donc
-- si la position est nouvelle
if CHOIXACTUEL <> CHOIXPRECEDENT then

-- et si on est dans le menu !
if CHOIXACTUEL > 0 then

hilite line CHOIXACTUEL of field 1

end if

-- on prend acte du changement de position
-- pour la prochain fois
set CHOIXPRECEDENT to CHOIXACTUEL

end if

end repeat
end



on mouseUp =>director m'informe qu'il y a une erreur ici, pourquoi ?

put " ?dition" into field 1

end

Quelqu'un peut il m'apporter quelques pr?cisions et mes erreurs eventuelles.
J'utilise director 8.0 Merci

1 réponse

Avatar
Bubar
> on mouseDown

set x to " ?dition" & return & " Copier" & return & " Couper" &
return & " Coller" & return & " Effacer" & return & " Tout
s?lectionner"

put x into field 1

end

on mouseUp

put " ?dition" into field 1

end


Le problème vient à priori d'ici :

Tout le code qui suit est posé n'importe où.
Il doit forcément commencé par un :

on nom_d_une_fonction_ou_d_un_message
--code
end

nom_d_une_fonction_ou_d_un_message dépend de ton programme

Sinon quelques remarques :
- tu utilises l'ancienne écriture (verbose) et non la nouvelle
(pointée).
Ce n'est pas que ce soit faux, mais de plus en plus déconseillé. Je ne
suis pas sur que cela fonctionne avec le nouveau dir MX2004
- donne des noms à tes membres (dans les casts). Parce qu'écrire field 1
est plus que déconseillé, tu cours à la catastrophe si tu dois faire des
modifs.

--
Bubar