Action de la souris sr diaporama

Résolu
apprenti_noob Messages postés 5 Date d'inscription mardi 21 août 2007 Statut Membre Dernière intervention 23 août 2007 - 21 août 2007 à 17:02
on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010 - 23 août 2007 à 16:18
bjr a ts alors j'aurais 1 pitite question a vs posez....
j'utilise 2 diaporama sr mon site ds le genre panoramique qui bouge en mm temps ke la souris..
mais le probleme c'est que forcement en utilisant 2 fois le diaporama sr la page çà devient vite du n'importe koi.. :)
cmt puis je empecher les diaporamas de marcher en mm temps?
je pensais à 1 truc genre quand la souris passe sr la zone"???" le diaporama se joue sino hooooooop il s'arrete
mais je sais po l'ecriiiiiiiiiiiiiiiiiire
:'(
dc baaaaaaaaaa si qq1 souhaite m'aider :)
merci a ts

10 réponses

on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010
22 août 2007 à 01:57
Salut,

zone.onRollOver=function() {
    if (zone.hitTest(_xmouse, _ymouse, true)) {
        trace("la zone est touchée");
    }
}

@+.
www.monblog.ch/telov
tutoriels Flash pour débutants
3
on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010
22 août 2007 à 15:31
Non,
Le code se mets sur l'image.

Si t'arrives, pas montre moi le code, que tu utilise pour le slide du diaporama.

www.monblog.ch/telov
tutoriels Flash pour débutants
3
apprenti_noob Messages postés 5 Date d'inscription mardi 21 août 2007 Statut Membre Dernière intervention 23 août 2007
22 août 2007 à 15:40
onClipEvent (load) {
 // est égale à la largeur d'un clip + une moitié
 buteegauche = -50;
 // est égale à la largeur d'un clip + largeur de scène
 buteedroite = 400;
 // est égale à la largeur totale de tous les clips
 largeurbande = 419.2;
 // nombre de clips assemblés
 nombretotalc = 6;
 speed =15;
}
//enterFrame permet de déclencher l'évènement à chaque image
// et avant l'affichage des objets de l'image suivante
onClipEvent (enterFrame) {
 if (_root._xmouse <250)
 {decalagex = (_root._xmouse-250)/speed;}
     
 else if (_root._xmouse >350)
 {decalagex = (_root._xmouse-350)/speed;}
     
 else {decalagex=0};
 
 
 
 for (i=1; i<nombretotalc+1; i++) {
  cible = "_parent.conteneur.c"+i;
  eval(cible)._x -= decalagex;
  if (eval(cible)._xbuteedroite) {
   eval(cible)._x -= largeurbande;
  }
 }
}

euuuuuuuuuuuh dsl pr le massacre lol j'ai 1 ti peu essayer de triffouiller dedans..
3
on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010
23 août 2007 à 00:35
Re,
Voilà ce que tu peux mettre a la place du code ci-dessus dans un calque que tu mommes "AS" et que tu mets dans la 1ère image:

conteneur.onRollOver=function() {
//on crée une fonction "quand on est sur le conteneur"
onEnterFrame = function() {
//on ouvre un enterframe
    if (this._xmouse>201 && this._xmouse<400 && conteneur._x<0) {
//si la coordonnée _x de la souris est plus grande que 201px
//moitié de la scène plus 1
//et que la coordonnée _x de la souris est plus ptite que 400px
//et que la coordonnée _x du conteneur est plus petit que 0
        conteneur._x += 10;
//le conteneur bouge sur _x de 10px en 10px
//plus ce chiffre est grand plus le mouvement est rapide
    }
    if (this._xmouse>0 && this._xmouse<199 && conteneur._x> -1600) {
        conteneur._x -= 10;
    }
}
conteneur.onRollOut=function() {
//on crée une fonction "quand on sort du conteneur"
    delete onEnterFrame;
//on vide le enterframe
}
}

voilà.

Et mon conseil c'est qu'au lieux de faire cette floppée de boutons, tu devrait faire plutôt un seul clip dans la bibliothèque ensuite tu le glisse et le place sur la scène le nombre de fois que tu as besoin (ici 16) et tu nommes l'occurence de chacun comme t'as fait (c1,c2,c3 etc...)

Ensuite à la suite du code ci-dessus tu fais une boucle:
for(i=1; i<16;i++) {
//si i est plus petit que 16 on l'incrémente

Du coup tu peux appeler i des que tu en as besoin:
this["c"+i].id = i;
//on donne un identifiant de valeur i
this["c"+i].onRelease = function() {
//on crée un onRelease sur tous les clips

Et si en plus tu nommes tes images : image1,image2,image3 etc.. au lieu d'écureil, blood etc... tu peux faire un truc genre:
this["c"+i].loadMovie("diapo_photoshop/image"+this.id+"swf", cible);
    }
}

Voilà ça t'évites d'avoir du code partout, et ça t'évites de faire 15'000 clips.

P.S. Evites aussi de mettre des_root , préfére le this.

@+.
www.monblog.ch/telov
tutoriels Flash pour débutants
3

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

Posez votre question
apprenti_noob Messages postés 5 Date d'inscription mardi 21 août 2007 Statut Membre Dernière intervention 23 août 2007
22 août 2007 à 09:36
slt on_drag_on!!
et merci pr ton aide :)
mais bon je dois avr zappé 1 truc là.. lol, parce que çà ne marche pas..
j'ai placé l'AS directement sr le clip qui contient mon diaporama, mais bon marche po.. :(
baaaaaaaaa oui j'suis vraiment novice.. lol
a oui j'ai rajouté avt :
onClipEvent (mouseMove) {
0
apprenti_noob Messages postés 5 Date d'inscription mardi 21 août 2007 Statut Membre Dernière intervention 23 août 2007
22 août 2007 à 10:24
euuuuuuuuuuuuuh je suis entrain de me demander serait t'il possible d'ecrire
lorsque la souris passe ds la zone en X comrise entre ..px et ..px le clip se joue sinon il s'arrete et idem en Y, directement ds le hitTest? enfin c peut etre ce ke tu as voulu me dire.. lol
0
on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010
22 août 2007 à 16:22
.... mmmmh.. faut arrêter de mettre du code dans les clip^^ , déclare directement depuis ta scène. Est-ce que tu as un moyen de mettre en download ton/tes .fla zipper quelque-part? Sinon envoie par adresse e-mail( je te donne l'adresse par MP).

@+.
www.monblog.ch/telov
tutoriels Flash pour débutants
0
apprenti_noob Messages postés 5 Date d'inscription mardi 21 août 2007 Statut Membre Dernière intervention 23 août 2007
23 août 2007 à 10:50
merci on_drag_on!!
çà marche impec :)
mais j'ai encore un petit souci lol..
le diapo je le charge ensuite ds 1 cible avc 1 loadMovie ds mon interface principale.
le mvt se fait ss probleme mais du coup je crois qu'il doit y avr 1 probleme avc le chemin des autres clip..
en gros sr mon interface principale j'ai le diaporama ki est chargée ds 1 cible et lorsque que je clique sr 1 img du diaporama, l'img se chargera ds 1 cible (bon ok j'en ai partt :) )
et plus tard certaine img de la cible seronnt aussi clicable :)
kan j'aurais fin i je te l'enverrais si tu veut tu me diras ce ke tu en pense.. :)
euuuuuuh a oui tt çà pr dire que mes boutons ne réagissent + ds mon anim proncipale..
0
on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010
23 août 2007 à 16:15
Désolé,

Tu peux faire comme ceci:

for (i=1; i<17; i++) {
//on crée une boucle
    conteneur["c"+i].id = i;
//on donne un identifiant
    conteneur["c"+i].onRelease = function() {
//on crées la fonction d'appel
        conteneur["c"+i].loadMovie("image"+this.id+".swf", cible);
//on charge les images selon l'id
    };
}
var mouseListener:Object = new Object();
//on crées un nouvel objet écouteur
mouseListener.onMouseMove = function() {
//l'objet écoute si la souris bouge
    if (conteneur.hitTest(_xmouse, _ymouse, true)) {
//si la souris touche le conteneur
        onEnterFrame = deplace;
//on applique la fonction déplacer
    } else {
//sinon
        delete onEnterFrame;
//on kill l'enterframe
    }
};
Mouse.addListener(mouseListener);
//on applique la fonction écouteur
function deplace() {
//on déclare la fonction déplacé
    if (this._xmouse>201 && this._xmouse<400 && conteneur._x<0) {
        this.conteneur._x += 5;
    }
    if (this._xmouse>0 && this._xmouse<199 && conteneur._x>-1600) {
        this.conteneur._x -= 5;
    }
}

@+.
www.monblog.ch/telov
tutoriels Flash pour débutants
0
on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010
23 août 2007 à 16:18
L'idée est de crée un objet écouteur qui écoutera si la souris bouge, dans le cas ou elle bouge on applique l'ffet slide, dans le cas ou elle bouge pas on peut appliquer le onRelease.

@+.
www.monblog.ch/telov
tutoriels Flash pour débutants
0
Rejoignez-nous