Aide - Recherche - Membres - Calendrier
Version complète : Déplacement sur image, zoom
Centre de Formation Flash - Forums Adobe Flash > Adobe Flash > Programmation Actionscript > Actionscript 2
boogiee
Bonsoir,

Lorsque je réalise le zoom d'une image appelé par l'intermédiaire du conteneur_mc, celle-ci est zoomer de 200%. Or on ne peu pas tout voir sur l'écran à ce moment, c'est pour celà que j'aimerai me déplacer sur l'image à l'aide de la souris.
C'est un déplacement du style de cete carte par exemple: http://www.troyesparcauto.fr/plan_troyes.php?X=284&Y=278

Je sais que c'est la fonction "drag" mais je ne sais pas comment l'appliquer lorsque le zoom est lancé seulement (soit clic==0).

Le code qui me permet de réaliser le zoom est:

Action Script

btzoom.onRelease = function() {
trace(clic);
if (clic == 0) {
this._parent.conteneur_mc._x -= this._xmouse+75;
this._parent.conteneur_mc._y -= this._ymouse/1.7;
this._parent.conteneur_mc._xscale = 200;
this._parent.conteneur_mc._yscale = 200;
//c'est en gros ici que je dois rajouter je pense
//du genre
//startDrag(this._parent.conteneur_mc);

clic = 1;
} else {
this._parent.conteneur_mc._x = -70;
this._parent.conteneur_mc._y = -20;
this._parent.conteneur_mc._xscale = 100;
this._parent.conteneur_mc._yscale = 100;
clic = 0;
}
};]


Merci à tous pour votre aide!
LDL
.


voici un tuto tres bien fait sur la question qui peut t'etre fort utile !
http://wiki.mediabox.fr/tutoriaux/flash/image_dans_fenetre
wink.gif



.
boogiee
Merci beaucoup, j'ai pu trouver ce qui m'intéressé. Mais j'ai un soucis sur un point:

Action Script


bt_zoo.onRelease = function() { //premier onrelease
if (clic ==0) {
this._parent.conteneur_mc._x -= this._xmouse+75;
this._parent.conteneur_mc._y -= this._ymouse/1.7;
this._parent.conteneur_mc._xscale = 200;
this._parent.conteneur_mc._yscale = 200;

clic = 1;
} else {
this._parent.conteneur_mc._x = -70;
this._parent.conteneur_mc._y = -20;
this._parent.conteneur_mc._xscale = 100;
this._parent.conteneur_mc._yscale = 100;
clic = 0;
}
};
bt_zoo.onPress = function() { this._parent.conteneur_mc.startDrag(false); }
bt_zoo.onRelease= bt_zoo.onReleaseOutside = function () { this.stopDrag(); } //et je le réutilise ici


J'ai en faite mon image (le conteneur_mc) auquel je fais appel et par dessus j'ai ma zone cliquable (btn_zoo).
Mon problème c'est que je souhaite qu'en cliquant ça zoom et que ça puisse effectuer le "drag" ensuite. Car en faite étant donné que je zoom beaucoup le conteneur déborde d'ou mon besoin d'avoir un drag.

Je ne sais donc pas comment faire pour que le bt_zoo.onRelease présent deux fois soit utiliser comme celà. J'ai tenté avec du boolean mais je m'i prend mal ou alors ce n'est pas la bonne piste..

Merci de m'avoir lu smile.gif
boogiee
Re bonjour,

J'ai retester en mettant un masque dans mon premier swf mais ça ne fonctionne pas non plus car les deux se superpose (du moins je pense).
Donc cette solution est à retirer...

Je pense qu'il faut passé par une variable mais je ne sais pas du tt comment faire.. Help smile.gif

Merci

boogiee
Personne n'aurait une petite idée??? icon_redface.gif

boogiee
Bonjour,

J'ai changé le code pour :

Action Script



bt_zoo.onRelease = function() {
if (clic ==0) {
this._parent.conteneur_mc._x -= this._xmouse+75;
this._parent.conteneur_mc._y -= this._ymouse/1.7;
this._parent.conteneur_mc._xscale = 200;
this._parent.conteneur_mc._yscale = 200;
this._parent.conteneur_mc.startDrag(false);

clic = 1;
} else {
this._parent.conteneur_mc._x = -70;
this._parent.conteneur_mc._y = -20;
this._parent.conteneur_mc._xscale = 100;
this._parent.conteneur_mc._yscale = 100;
clic = 0;
this.stopDrag();
}
};


Mais j'ai malheureusement toujours le même problème. Lorsque je clique ça zoom mon image (conteneur_mc) mais ensuite le drag se réalise en on-release...). Or je voudrais que ce soit en cliquant et en bougeant la souris car là ça suit ma souris...

Merci
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2009 Invision Power Services, Inc.