Boutons (hélas pas actifs) dans un objet que je drag&drop avec un effet tween lo

Résolu
baddup Messages postés 6 Date d'inscription vendredi 13 juin 2008 Statut Membre Dernière intervention 18 juillet 2008 - 18 juil. 2008 à 11:00
baddup Messages postés 6 Date d'inscription vendredi 13 juin 2008 Statut Membre Dernière intervention 18 juillet 2008 - 18 juil. 2008 à 13:36
Bonjour à tous,
Je suis en face d'un problème que je n'arrive pas du tout à résoudre...,
En fait j'ai une "mosaique" d'objets que je veut drag&dropper (ça c'est bon j'ai réussi), lorsque que l'on lache il y a un tweenball pour que l'objet continu un peu dans le "sens" ou on l'a drag&dropper (ça aussi c'est bon j'ai réussi, Girou m'a aider sur ce point ). 
Mais le problème c'est que je veux que mes objet à l'intérieur soit des "boutons". Et qu'ils soit actif en même temps que le drag and drop est actif. Et là dans le cas présent il ne ce passe rien lorsque l'on veut agir sur eux, il y a juste le drag&drop qui marche et le tweenball en fin.
Ça doit être une histoire de priorité d'actions, ou je ne sait quoi mais impossible de trouver.. En fait je veu que l'actions sur mes boutons soit prioritaire sur l'actions sur l'ensemble de la mosaique.

Merci par avance de votre aide...

Voic mon code pour l'instant :
// mosaic est mon clip que je veut drag&dropper, l'objet mosaic est composé de deux calques, un avec un fond noir, et l'autre au dessus avec mes boutons avec comme occurence BTN1, BTN2, BTN3, etc..., j'ai éssayé de les mettre en clip mais aussi en bouton comme type de symbole

for (i=1;i<=4;i++){
 mosaic["BTN"+i].onPress = function() {
  this.play()};
};//  j'ai éssayé ça pour rendre actifs les boutons à l'intérieur de mon objet mosaic

// ça c'est la partie qui marche nikel :
mosaic.onPress = function() {
  this.startYpos=this._y;
 startDrag(this, false,  0, -1213, 0, 0);
  };
mosaic.onRelease = function() {
  stopDrag();
  tweenBall(mx.transitions.easing.Back.easeOut,this.startYpos);
  };
function tweenBall(easeType,yStart:Number) {
        var begin = mosaic._y;
        var sens:Number=1
        if(mosaic._y-yStart<0){
          sens=-1
        }
        var end = mosaic._y+75*sens; 
        var time = 15;
        var mc = mosaic;
        ballTween = new mx.transitions.Tween(mc, "_y", easeType, begin, end, time);
}

Merci de votre aide !

et à très très bientôt !

B.

2 réponses

cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 2
18 juil. 2008 à 11:16
Hello,

va voir ce post, tu devrais y trouver une solution potentielle à ton probleme

@+
3
baddup Messages postés 6 Date d'inscription vendredi 13 juin 2008 Statut Membre Dernière intervention 18 juillet 2008
18 juil. 2008 à 13:36
Yes ça marche, Merci encore Girou de ta réactivité !
c'est bizarre, j'ai juste remplacé

mosaic.onPress par mosaic.onMouseDown et mosaic.onRelease par mosaic.onMouseUp


et ça marche...
ah là là ça me fruste un peu d'être bloqué sur ce genre de problème, mais bon il faut que je me fasse une raison !

Et c'est cool j'ai aussi réussi a annulé la function tweenBall lorsque mon y de startDrag est égal (ou presque égal) à mon y de




stopDrag.   >j'ai utilisé ta variable sens et j'ai mi sens=0
lorsque mosaic._y-yStar
est compri entre 5 et -5 par exemple










Merci encore pour ton aide Girou !
3
Rejoignez-nous