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

[DIR] souci d'affectation de variable

4 réponses
Avatar
Wolfy
Bonjour,
J'ai donc un petit souci avec mes varibales de couleurs affectées à ma
liste. (pSaumon,pBlanc,pOrange,pBleu)
Je comprend bien qu'il affecte dans ma liste non pas par ex. pSaumon mais
qu'il y met rgb((255, 204, 102) ce qui engendre une erreur dans le code.
Ce que je voulais, c'etait qu'il m'affiche une liste avec mes 4 choix
(pSaumon,...) et qu'il m'affecte correctement la couleur dès lors que je
l'ai choisi mais là, je sèche un peu.

Merci de votre aide :)


-------------------------
property pMenuResources
property pListeMenuResources
property pListeCouleurs
property pCouleurNormale,pCouleurDetectee
property pSaumon,pBlanc,pOrange,pBleu

on prepareFrame me
pSaumon = rgb(255, 204, 102)
pBlanc = rgb(255, 255, 255)
pOrange = rgb(255, 153, 0)
pBleu = rgb(0, 0, 119)
end

on getPropertyDescriptionList me
p_list = []
pListeMenuResources = ["AAA","BBB","CCC"]
pListeCouleurs = [pSaumon,pBlanc,pOrange,pBleu]
p_list.addProp(#pMenuResources,[#format#string,#comment "Menu à changer
",#rangepListeMenuResources,#default pListeMenuResources[1]])
p_list.addProp(#pCouleurNormale,[#format#string,#comment "Couleur état
Normal ",#rangepListeCouleurs,#default pListeCouleurs[1]])
p_list.addProp(#pCouleurDetectee,[#format#string,#comment "Couleur état
Détecté ",#rangepListeCouleurs,#default pListeCouleurs[1]])
return p_list
end



on mouseEnter me
member (pMenuResources).color = pCouleurDetectee
end

on mouseLeave me
member (pMenuResources).color = pCouleurNormale
end

on mouseDown me
member (pMenuResources).color = pCouleurNormale
go to pMenuResources
end

4 réponses

Avatar
Bubar
Wolfy wrote:
Bonjour,
J'ai donc un petit souci avec mes varibales de couleurs affectées à ma
liste. (pSaumon,pBlanc,pOrange,pBleu)
Je comprend bien qu'il affecte dans ma liste non pas par ex. pSaumon
mais qu'il y met rgb((255, 204, 102) ce qui engendre une erreur dans
le code. Ce que je voulais, c'etait qu'il m'affiche une liste avec
mes 4 choix (pSaumon,...) et qu'il m'affecte correctement la couleur
dès lors que je l'ai choisi mais là, je sèche un peu.

Merci de votre aide :)


-------------------------
property pMenuResources
property pListeMenuResources
property pListeCouleurs
property pCouleurNormale,pCouleurDetectee
property pSaumon,pBlanc,pOrange,pBleu

on prepareFrame me
pSaumon = rgb(255, 204, 102)
pBlanc = rgb(255, 255, 255)
pOrange = rgb(255, 153, 0)
pBleu = rgb(0, 0, 119)
end

on getPropertyDescriptionList me
p_list = []
pListeMenuResources = ["AAA","BBB","CCC"]
pListeCouleurs = [pSaumon,pBlanc,pOrange,pBleu]
p_list.addProp(#pMenuResources,[#format#string,#comment "Menu à
changer ",#rangepListeMenuResources,#default pListeMenuResources[1]])
p_list.addProp(#pCouleurNormale,[#format#string,#comment "Couleur
état Normal ",#rangepListeCouleurs,#default pListeCouleurs[1]])
p_list.addProp(#pCouleurDetectee,[#format#string,#comment "Couleur
état Détecté ",#rangepListeCouleurs,#default pListeCouleurs[1]])
return p_list
end



on mouseEnter me
member (pMenuResources).color = pCouleurDetectee
end

on mouseLeave me
member (pMenuResources).color = pCouleurNormale
end

on mouseDown me
member (pMenuResources).color = pCouleurNormale
go to pMenuResources
end


Alors il y a une série de petites erreurs :
- tu as oublié plein de : dans tes addprop (est-ce que ça vient de la
retanscription dans ton mail ?)
ex : #rangepListeCouleurs -> #range : pListeCouleurs
idem pour #format, #comment et #default

- p_list est déclaré en tant que linear list et non property list.
p_list=[ : ]

- Tu mélange le rapport entre le message on prepareframe qui sera exécuté
quand le programme sera lancé et getPropertyDescriptionList qui est
"exécuté" en authoring.
Donc ta déclaration de valeur rgb n'est pas faite quand tu poses le
comportement. Il faut que tu poses les 4 lignes de déclarations (pSaumon =
rgb(255, 204, 102), ...) dans le getPropertyDescriptionList et les supprimer
du prepareframe. Tu peux également les virer des déclarations de property au
début, puisqu'elles ne sont utile que lors du drag'n'drop du comportement.

on getPropertyDescriptionList me
pSaumon = rgb(255, 204, 102)
pBlanc = rgb(255, 255, 255)
pOrange = rgb(255, 153, 0)
pBleu = rgb(0, 0, 119)
p_list = [:]
pListeMenuResources = ["AAA","BBB","CCC"]
pListeCouleurs = [pSaumon,pBlanc,pOrange,pBleu]
p_list.addProp(#pMenuResources,[#format:#string,#comment:"Menu à
changer",#range:pListeMenuResources,#default:pListeMenuResources[1]])
p_list.addProp(#pCouleurNormale,[#format:#string ,#comment:"Couleur
étatNormal ",#range:pListeCouleurs,#default:pListeCouleurs[1]])
p_list.addProp(#pCouleurDetectee,[#format:#string ,#comment:"Couleur
étatDétecté ",#range:pListeCouleurs,#default:pListeCouleurs[1]])
return p_list
end

(je m'apercois que mes 2 premières remarques ne viennent pas de toi, mais
bien du copier-coller director -> mail qui vire tous les : !!! )

- un détail : tu initalises ces 4 variables dans un prepareframe. Elles
seraient donc réinitialiser sans arrêt à chaque frame. Pour initialiser une
variable, passe plutôt par le message beginsprite qui n'est envoyé que la
première fois que la tête de lecture est sur ce sprite

--
Bubar
Freelance Multimédia - internet
Création de logiciels multimédia et sites web
http://www.wapitistudio.com
Avatar
Wolfy
Merci de ta réponse.
Effectivement, le copier-coller ne semble pas vraiment au point! lol
pour mon prepareFrame avec mes variables de couleurs, c'etait juste pour
tester car je voulais en fait les mettre dans un script d'animation sur un
preparemovie pour les garder toujours sous la main dans une globale. Mais
c'est pas grâve, je vais les placer où tu m'as indiqué car je ne pense pas
m'en resservir ailleurs finalement.
Par contre j'obtiens toujours un message d'erreur me signalant qu'aucune
couleur n'a été affectée. Il semblerai que ce soit les guillemets "" qui
provoquent cet erreur car dans l'outil de debugage, il m'a bien affecté la
variable genre "rgb(255, 255, 255)", mais il semblerait que sans les "",
cela aurait fonctionné.

Wolfy



"Bubar" a écrit dans le message de
news:ddfg65$hrv$
Wolfy wrote:
> Bonjour,
> J'ai donc un petit souci avec mes varibales de couleurs affectées à ma
> liste. (pSaumon,pBlanc,pOrange,pBleu)
> Je comprend bien qu'il affecte dans ma liste non pas par ex. pSaumon
> mais qu'il y met rgb((255, 204, 102) ce qui engendre une erreur dans
> le code. Ce que je voulais, c'etait qu'il m'affiche une liste avec
> mes 4 choix (pSaumon,...) et qu'il m'affecte correctement la couleur
> dès lors que je l'ai choisi mais là, je sèche un peu.
>
> Merci de votre aide :)
>
>
> -------------------------
> property pMenuResources
> property pListeMenuResources
> property pListeCouleurs
> property pCouleurNormale,pCouleurDetectee
> property pSaumon,pBlanc,pOrange,pBleu
>
> on prepareFrame me
> pSaumon = rgb(255, 204, 102)
> pBlanc = rgb(255, 255, 255)
> pOrange = rgb(255, 153, 0)
> pBleu = rgb(0, 0, 119)
> end
>
> on getPropertyDescriptionList me
> p_list = []
> pListeMenuResources = ["AAA","BBB","CCC"]
> pListeCouleurs = [pSaumon,pBlanc,pOrange,pBleu]
> p_list.addProp(#pMenuResources,[#format#string,#comment "Menu à
> changer ",#rangepListeMenuResources,#default pListeMenuResources[1]])
> p_list.addProp(#pCouleurNormale,[#format#string,#comment "Couleur
> état Normal ",#rangepListeCouleurs,#default pListeCouleurs[1]])
> p_list.addProp(#pCouleurDetectee,[#format#string,#comment "Couleur
> état Détecté ",#rangepListeCouleurs,#default pListeCouleurs[1]])
> return p_list
> end
>
>
>
> on mouseEnter me
> member (pMenuResources).color = pCouleurDetectee
> end
>
> on mouseLeave me
> member (pMenuResources).color = pCouleurNormale
> end
>
> on mouseDown me
> member (pMenuResources).color = pCouleurNormale
> go to pMenuResources
> end
Alors il y a une série de petites erreurs :
- tu as oublié plein de : dans tes addprop (est-ce que ça vient de la
retanscription dans ton mail ?)
ex : #rangepListeCouleurs -> #range : pListeCouleurs
idem pour #format, #comment et #default

- p_list est déclaré en tant que linear list et non property list.
p_list=[ : ]

- Tu mélange le rapport entre le message on prepareframe qui sera exécuté
quand le programme sera lancé et getPropertyDescriptionList qui est
"exécuté" en authoring.
Donc ta déclaration de valeur rgb n'est pas faite quand tu poses le
comportement. Il faut que tu poses les 4 lignes de déclarations (pSaumon > rgb(255, 204, 102), ...) dans le getPropertyDescriptionList et les


supprimer
du prepareframe. Tu peux également les virer des déclarations de property


au
début, puisqu'elles ne sont utile que lors du drag'n'drop du comportement.

on getPropertyDescriptionList me
pSaumon = rgb(255, 204, 102)
pBlanc = rgb(255, 255, 255)
pOrange = rgb(255, 153, 0)
pBleu = rgb(0, 0, 119)
p_list = [:]
pListeMenuResources = ["AAA","BBB","CCC"]
pListeCouleurs = [pSaumon,pBlanc,pOrange,pBleu]
p_list.addProp(#pMenuResources,[#format:#string,#comment:"Menu à
changer",#range:pListeMenuResources,#default:pListeMenuResources[1]])
p_list.addProp(#pCouleurNormale,[#format:#string ,#comment:"Couleur
étatNormal ",#range:pListeCouleurs,#default:pListeCouleurs[1]])
p_list.addProp(#pCouleurDetectee,[#format:#string ,#comment:"Couleur
étatDétecté ",#range:pListeCouleurs,#default:pListeCouleurs[1]])
return p_list
end

(je m'apercois que mes 2 premières remarques ne viennent pas de toi, mais
bien du copier-coller director -> mail qui vire tous les : !!! )

- un détail : tu initalises ces 4 variables dans un prepareframe. Elles
seraient donc réinitialiser sans arrêt à chaque frame. Pour initialiser


une
variable, passe plutôt par le message beginsprite qui n'est envoyé que la
première fois que la tête de lecture est sur ce sprite

--
Bubar
Freelance Multimédia - internet
Création de logiciels multimédia et sites web
http://www.wapitistudio.com




Avatar
Bubar
Wolfy wrote:
Merci de ta réponse.
Effectivement, le copier-coller ne semble pas vraiment au point! lol
pour mon prepareFrame avec mes variables de couleurs, c'etait juste
pour tester car je voulais en fait les mettre dans un script
d'animation sur un preparemovie pour les garder toujours sous la main
dans une globale. Mais c'est pas grâve, je vais les placer où tu m'as
indiqué car je ne pense pas m'en resservir ailleurs finalement.
Par contre j'obtiens toujours un message d'erreur me signalant
qu'aucune couleur n'a été affectée. Il semblerai que ce soit les
guillemets "" qui provoquent cet erreur car dans l'outil de debugage,
il m'a bien affecté la variable genre "rgb(255, 255, 255)", mais il
semblerait que sans les "", cela aurait fonctionné.


Effectivement. Il n'est pas possible de demander à un
getPropertyDescriptionList de stocker des variables de type #rgb ou #color.
tu obtiens donc une string comme résultat.
Dans tes 3 mousexxx, au lieu d'affecter la variable directement
member (pMenuResources).color = pCouleurDetectee
utilise la fonction value, qui transforme une string en sa "valeur" (la
string "34" devient le integer 34, value("3+4")=7)
member (pMenuResources).color = value(pCouleurDetectee)
Ca devrait régler ton problème

--
Bubar
Freelance Multimédia - internet
Création de logiciels multimédia et sites web
http://www.wapitistudio.com
Avatar
Wolfy
Cool,
j'ai juste rajouté value à la fin et ça marche! Enfin!

---------
on mouseEnter me
member (pMenuResources).color = pCouleurDetectee.value
end
--------


Merci du coup de main et à bientôt!!

Wolfy