Forums Développement Multimédia

Aller au contenu

jeu de dessin

PAO Flash

1 réponse à ce sujet

#1 patrick1327249787

    Ceinture Blanche

  • Members
  • Pip
  • 2 messages

Posté 27 May 2002 - 17:27 PM

Dans un clip d'occurrence "zonedessin", j'ai limité "l'action de la souris".
Normalement, on ne devrait pas pouvoir dessiner en dehors de ce cadre. Mais si on a un déplacement très rapide de la souris, on dépasse les limites "normalement" autorisées.
Comment résoudre ce problème ?
Ci-joint le code de ce clip.

onClipEvent (load) {

//calcul des coordonnées des bords de "zonedessin"
var haut = this._y - this._height/2;
var bas = this._y + this._height/2;
var gauche = this._x - this._width/2;
var droite = this._x + this._width/2;

//empêche la remise à blanc du dessin
if (_root.UtilisePot != 1) {
i = 1;
//variable typetrait initialisée en "trait"
_root.typetrait = "_root.trait";
//stop l'animation du bouton témoin ne servira plus par la suite
_root.temoin.stop();
}
}

//bouton de la souris pressé
onClipEvent (mouseDown) {
var presser = true;
}

//bouton de la souris relâché
onClipEvent (mouseUp) {
presser = false;
}

onClipEvent (enterFrame) {
//position de la souris
var oldx = newx;
var oldy = newy;
var newx = _root._xmouse;
var newy = _root._ymouse;

//si position souris ne dépasse pas les coordonnées
//des bords du clip "zonedessin" et bouton souris enfoncé
if(this.hitTest(_root._xmouse,_root._ymouse,true) and presser) {

//dessine la succession de trait
duplicateMovieClip_root.typetrait,"line"+i, i);
_root["line"+i]._x = oldx;
_root["line"+i]._y = oldy;
_root["line"+i]._xscale = newx-oldx;
_root["line"+i]._yscale = newy-oldy;
i++;

//pointeur normal de la souris disparait
Mouse.hide();
//modifie le curseur de la souris en crayon et le rend visible
_root.crayon.startDrag (true);
_root.crayon._visible = true;


} else {

//rend le clip crayon invisible
_root.crayon._visible = false;
//réaffiche le pointeur standard de la souris
Mouse.show();

}

}

#2 Pierre

  • Administrateur
  • PipPipPipPipPipPipPipPip
  • 12758 messages

Posté 27 May 2002 - 17:40 PM

alors ça, ça fait partie des bug de flash... comme c'est un problème assez particulier qui joue un peu avec la rapidité des écouteurs de flash il faut à la limites utiliser plusieurs test sur les coordonnée de ta souris. Utilise deux méthodes différente pour tester ça quoi...

C'est une solution un peu bidon mais la on arrive aux limites de flash alors... pour moi la solution c'est de faire plusieurs test simultanés sur tes coordonées



1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)