Relier les valeurs de properties de 2 objets

vico92vico92 Membre
22:14 modifié dans API UIKit #1
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

Réponses

  • vico92vico92 Membre
    22:14 modifié #2
    Bon, finalement j'ai utilisé cette bonne vieille y=ax+b qui fonctionne très bien même si c plus long à  écrire ^^

    (mais si qq1 a l'info, je la veux bien qd-même, hé hé)

    ++
    Vico
  • Philippe49Philippe49 Membre
    mai 2009 modifié #3
    La formule barycentrique :
    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".


  • AliGatorAliGator Membre, Modérateur
    22:14 modifié #4
    Sauf que là  on est dans le forum iPhone et que les bindings sous iPhone...
    Bon on peut réimplémenter le KVO genre encadrer dans le setter un valueWillChange et valueDidChange et tout le patacaisse... mais bon.
  • vico92vico92 Membre
    mai 2009 modifié #5
    dans 1241850731:

    La formule barycentrique :
    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


    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
  • Philippe49Philippe49 Membre
    22:14 modifié #6
    Dans le modèle positionA*opaciteMin+(1-positionA)*opaciteMax, le slider positionA va de 0 à  1, et représente le pourcentage attribuée à  l'opacité maxi. Le nombre (1-positionA) représente le pourcentage attribuée à  l'opacité mini. En tout cela fait bien 100%=1= positionA+(1-positionA)

    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).
  • vico92vico92 Membre
    22:14 modifié #7
    Parfaitement clair, merci Philippe 
Connectez-vous ou Inscrivez-vous pour répondre.