Relier les valeurs de properties de 2 objets
Salut à tous,
Quelqu'un saurait-il comment relier proportionnellement différentes propriétés d'objets entre elles ?
Je veux dire, par exemple, animer la valeur d'opacité d'une image en fonction de la position Y d'un autre objet sans utiliser d'équation pour convertir les valeurs mais juste en définissant les valeurs min et max des 2 propriétés.
ex.: positionYMin de objet A correspond à opacité = 0 de objet B, et positionYMax correspond à opacité = 1 (et l'interpolation des valeurs intermediaires se ferait automatiquement.)
Merci bcp ^^
Vico
Quelqu'un saurait-il comment relier proportionnellement différentes propriétés d'objets entre elles ?
Je veux dire, par exemple, animer la valeur d'opacité d'une image en fonction de la position Y d'un autre objet sans utiliser d'équation pour convertir les valeurs mais juste en définissant les valeurs min et max des 2 propriétés.
ex.: positionYMin de objet A correspond à opacité = 0 de objet B, et positionYMax correspond à opacité = 1 (et l'interpolation des valeurs intermediaires se ferait automatiquement.)
Merci bcp ^^
Vico
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
(mais si qq1 a l'info, je la veux bien qd-même, hé hé)
++
Vico
En prenant positionA comme le pourcentage de la valeur maximale de l'opacité, le pourcentage de la valeur minimale est (1-positionA).
Cela donne la formule barycentrique (moyennée) positionA*opaciteMin+(1-positionA)*opaciteMax
Par exemple si positionA=un tiers, on fait le calcul
1/3 * opacité minimum + 2/3 * opacité maximum
Quand à ta question initiale, on peut le réaliser sur plate forme Mac via un binding et un NSTransformer, voir l'article "NSObject Controller et les Bindings".
Bon on peut réimplémenter le KVO genre encadrer dans le setter un valueWillChange et valueDidChange et tout le patacaisse... mais bon.
Merci pour ta reponse, je voudrais etre sur de bien comprendre, dans ton exemple positionA représente une position donnée de A exprimee en pourcentage de la position max de A?
et dans (1-positionA) tu mets 1 parceque c'est la valeur max de l'opacité ? je m'embrouille, peux-tu me préciser la nature des données, stp ?
merci ^^
vico
Si les salaires annuels de ton entreprise évoluent d'une valeur minimale de 18000 euros à une valeur maximale 150000, et qu'aujourd'hui tu te trouves au premier tiers de la fourchette , tu as 2/3*18000+1/3*150000, ce que tu peux calculer de manière plus pataude par 18000+1/3*(150000-18000).