Limiter un curseur (drag&drop) en fonction de la position d'un autre

seba77 - 5 mars 2013 à 16:33
cs_seba77 Messages postés 3 Date d'inscription vendredi 5 mars 2010 Statut Membre Dernière intervention 18 juillet 2013 - 16 juil. 2013 à 08:54
Bonjour, je suis graphiste, pas expert en programmation
je récupère du script par si par là pour avancer mais cette fois je suis devant une problématique
qui me fait mal aux cheveux !!

en fait imaginons 2 curseurs verticaux de 0 à 100%
il faudrait que la somme des 2 ne dépasse pas 100% donc quand j'ai un curseur que je positionne sur 48%,
l'autre ne peut pas dépasser les 52%

si quelqu'un à une idée que je comprenne !

merci

Seb

16 réponses

aerolyte Messages postés 465 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 4 mai 2013 1
18 avril 2013 à 19:25
Bonjour,
En général pour le drag and drop, on ne déplace pas directement l'objet mais un sprite transparent au dessus de celui.

Cela permet de controler l'accrochage ou non de l'objet au sprite en fonction des besoins.

Cordialement
0
merci pour cette réponse mais je ne comprend pas bien ce qu'est le "sprite" et en quoi l'accrochage de celui-ci va me permettre de limiter mon second drag and drop ?

si vous pouviez m'éclairer AEROLYTE ;)
0
piere2 Messages postés 235 Date d'inscription lundi 26 février 2007 Statut Membre Dernière intervention 26 mai 2013
23 avril 2013 à 15:44
Bonjour,
Quelle version du langage est utilisée? AS2 ou AS3?


Pi'ère2
0
piere2 Messages postés 235 Date d'inscription lundi 26 février 2007 Statut Membre Dernière intervention 26 mai 2013
23 avril 2013 à 16:03
Mois aussi j'étais purement graphiste à mes débuts avec Flash.

Mais rapidement j'ai vu ce qu'il pouvait me permettre de réaliser si je m'intéressais au langage de programmation.
Même graphiquement parlant le gain est considérable.
Cela donne beaucoup de liberté dans la conception de l'application et ne fige pas le visuel à une seule version.

Pi'ère2
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
je suis en As2
0
oui j'utilise aussi de plus en plus flash, pour des conférences, du web et là pour un simulateur, mais j'ai mes limites en programmation
0
piere2 Messages postés 235 Date d'inscription lundi 26 février 2007 Statut Membre Dernière intervention 26 mai 2013
23 avril 2013 à 16:23
Je viens d'ausculter un des deux swf en place sur ton site.
C'est issus de la CS4 mais le langage utilisé est de l'AS2.

Fais ton possible pour oublier l'AS2 et passer à l'AS3.
Dans tous les cas pas de code dans les boutons.

Graphiquement le site est intéressant mais il perd beaucoup de cette valeur par l'absence de netteté des polices.
Tu devrais intégrer ces polices pour pouvoir en optimiser les rendus et pouvoir manipuler les textes comme tous les autres éléments graphiques.



Pi'ère2
0
piere2 Messages postés 235 Date d'inscription lundi 26 février 2007 Statut Membre Dernière intervention 26 mai 2013
23 avril 2013 à 16:39
Pour le problème poser la démarche est similaire en AS2 ou AS3.

Il faut créer une fonction qui attribue des valeurs variables à l'objet de délimitation du drag sur le deuxième curseur en fonction du déplacement du premier.

En AS2: startDrag(objet cible du drag, [centré ou non au centre l'objet, valeur gauche, valeur haut, valeur droite, valeur bas]).

En AS3: startDrag(centré ou non au centre l'objet, objet Rectangle dans lequel s'inscrit le drag).


Pi'ère2
0
oui ça ça marche pas de problème, mon soucis c'est que lorsque j'ai déplacé un variateur à un certain pourcentage, le second variateur ne doit pas dépasser 100%-le pourcentage du premier variateur

et vis et versa lorsque l'on rechange la position du variateur 1 !! vois tu la difficulté de la chose

faire un variateur je sais faire... j'ai réussit à bidouiller une régulation entre plusieurs variateurs lorsque les positions changent avec un recalcul de position y mais là je sèche, ce n'est pas de mon niveau !!! ^^
0
piere2 Messages postés 235 Date d'inscription lundi 26 février 2007 Statut Membre Dernière intervention 26 mai 2013
23 avril 2013 à 16:52
Peux-tu éditer un petit fla avec uniquement tes deux variateurs et me l'envoyer par e mail?
Si tu utilises encore l'AS2 enregistre le fla en Flash 8 sinon fais le en CS3 car je n'ai que cette version.
Si ce n'est pas possible envoie moi juste le swf et je me débrouillerais.


Pi'ère2
0
c'est vraiment très sympa de ta part de te pencher sur mon problème, je te prépare ça


seb
0
ok message envoyé
0
aerolyte Messages postés 465 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 4 mai 2013 1
23 avril 2013 à 20:46
Bonjour, je t'invite a relire mon post, la réponse a ton besoin y est donnée.

Ne pas draguer l'objet voulu mais un fantome, permet de gérer l'accrochage ou non fantome/cible avec des conditions spécifiques, ce qui est bien lecas ici:

si position de cible est supérieur a 100- position de l'autre glissière alors position cible= 100- position de l'autre glissière
sinon position cible=position fantome

Je te laisse un peu de travail a faire quand meme

PS:Un sprite c'est un conteneur.
Cordialement
0
Merci aerolyte, je comprend presque le principe maintenant, je vais tenter de le réaliser
au mois je suis aiguillé vers la bonne direction

seb
0
aerolyte Messages postés 465 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 4 mai 2013 1
24 avril 2013 à 17:59
ok lorsque tu auras compris le principe tu pourras alors faire lechoix:

Soit tu n'utilise qu'un seulcurseur a la fois:dans ce cas tu peux directement limiter ("borner") le drag en mettant la position de la glissière 2 en variable dans la fonction startdrag().
Tu te passes alors du fantome et c'est plus simple.

Soit tu prévois par exemple une utililisation multitouch et il faut utiliser la piste sur laquele je t'ai emmené.
Cordialement
0
cs_seba77 Messages postés 3 Date d'inscription vendredi 5 mars 2010 Statut Membre Dernière intervention 18 juillet 2013
16 juil. 2013 à 08:54
Je ne suis pas revenu sur ce poste depuis un lustre désolé, en fait j'ai trouvé c'était vraiment simple une fois qu'on bouge l'occurence d'un clip curseur il suffit de contraindre le drag & drop par la position de l'autre curseur :
pour ma part cela faisait
on (press) {
startDrag(_parent.CURSEUR1, true, 0, (100-_parent.CURSEUR2._y), 0, 100); // 0position en y 100%, 100 0%, 0=x

et idem pour l'autre curseur
0
Rejoignez-nous