Trucsweb.com

Forum de discussion

 Forum « Flash et Shockwave » (archives)

Re: stopper twImgDefil

Envoyé: 15 mars 2004, 13h27 par Oznog


Salut,

Effectivement la suptilité est dûr à saisir. C'est tout simplement que la direction utilise AUSSI la position de la souris (this._xmouse) pour ajuster la VITESSE du défillement.

En opérent à l'inverse, tu dois aussi inverser l'ajustement. Pour rendre négatif un nombre il suffit d'ajouter un "moins" (-) devant :

(this.Contenu2._x+Math.floor(-this._xmouse/(this.vitesse)))+this.MaxBas;

Pour rendre positif un nombre négatif, utilise la méthode "abs".

this.Contenu2._x+Math.floor(Math.abs(this._xmouse)/(this.vitesse))-this.MaxBas;

Ce qui donne :

onClipEvent (enterFrame) {
if (this._xmouse>0) {
this.direction = -1;
} else {
this.direction = 1;
}
if (this.direction==1) {
if (this.Contenu1._x<=this.MaxBas) {
this.Contenu1._x += Math.floor(Math.abs(this._xmouse)/(this.vitesse));
} else {
this.Contenu1._x = this.Contenu2._x+Math.floor(Math.abs(this._xmouse)/(this.vitesse))-this.MaxBas;
}
if (this.Contenu2._x<=this.MaxBas) {
this.Contenu2._x += Math.floor(Math.abs(this._xmouse)/(this.vitesse));
} else {
this.Contenu2._x = this.Contenu1._x-this.MaxBas;
}
} else {
if (this.Contenu1._x>=(this.MaxHaut-this.MaxBas)) {
this.Contenu1._x += Math.floor(-this._xmouse/(this.vitesse));
} else {
this.Contenu1._x = (this.Contenu2._x+Math.floor(-this._xmouse/(this.vitesse)))+this.MaxBas;
}
if (this.Contenu2._x>=(this.MaxHaut-this.MaxBas)) {
this.Contenu2._x += Math.floor(-this._xmouse/(this.vitesse));
} else {
this.Contenu2._x = this.Contenu1._x+this.MaxBas;
}
}
}

Note que tu peux carrément oter les ajustements avec la position de la souris, et donc avoir une vitesse constante mais un script plus simple.

Quant au bouton stop, l'idéale est d'utiliser un "flag", pourquoi pas this.direction déjà utilisé pour la direction. Disont qu,à zéro rien ne se passe.

Alors dans un bouton (absolument dans le clip "Bande" :

on (release) {
if (this.direction==0) {
this.direction = 1;
} else {
this.direction = 0;
}
}

Et j'ajoute un test de condition (au lieu du else) :
une variable boléenne. En partant elle devrait être à "vrais" (true).

Mettre au début du "enterFrame" :

if (this.direction<>0) {
if (this._xmouse>0) {
this.direction = -1;
} else {
this.direction = 1;
}
}

Et au lieu du "sinon"

} else {

Mettre :
}
if (this.direction==1) {

Code Complet :

onClipEvent (enterFrame) {
if (this.direction<>0) {
if (this._xmouse>0) {
this.direction = -1;
} else {
this.direction = 1;
}
}
if (this.direction==1) {
if (this.Contenu1._x<=this.MaxBas) {
this.Contenu1._x += Math.floor(Math.abs(this._xmouse)/(this.vitesse));
} else {
this.Contenu1._x = this.Contenu2._x+Math.floor(Math.abs(this._xmouse)/(this.vitesse))-this.MaxBas;
}
if (this.Contenu2._x<=this.MaxBas) {
this.Contenu2._x += Math.floor(Math.abs(this._xmouse)/(this.vitesse));
} else {
this.Contenu2._x = this.Contenu1._x-this.MaxBas;
}
}
if (this.direction==-1) {
if (this.Contenu1._x>=(this.MaxHaut-this.MaxBas)) {
this.Contenu1._x += Math.floor(-this._xmouse/(this.vitesse));
} else {
this.Contenu1._x = (this.Contenu2._x+Math.floor(-this._xmouse/(this.vitesse)))+this.MaxBas;
}
if (this.Contenu2._x>=(this.MaxHaut-this.MaxBas)) {
this.Contenu2._x += Math.floor(-this._xmouse/(this.vitesse));
} else {
this.Contenu2._x = this.Contenu1._x+this.MaxBas;
}
}
}

Ciao
Oznog


Réponses

 sp spRe: stopper twImgDefil agnès16/3/2004
 sp spRe: stopper twImgDefil valerie23/5/2004
Aucun médias sociaux
X

Trucsweb.com Connexion

Connexion

X

Trucsweb.com Mot de passe perdu

Connexion

X

Trucsweb.com Conditions générales

Conditions

Responsabilité

La responsabilité des Trucsweb.com ne pourra être engagée en cas de faits indépendants de sa volonté. Les informations mises à disposition sur ce site le sont uniquement à titre purement informatif et ne sauraient constituer en aucun cas un conseil ou une recommandation de quelque nature que ce soit.

Aucun contrôle n'est exercé sur les références et ressources externes, l'utilisateur reconnaît que les Trucsweb.com n'assume aucune responsabilité relative à la mise à disposition de ces ressources, et ne peut être tenue responsable quant à leur contenu.

Droit applicable et juridiction compétente

Les règles en matière de droit, applicables aux contenus et aux transmissions de données sur et autour du site, sont déterminées par la loi canadienne. En cas de litige, n'ayant pu faire l'objet d'un accord à l'amiable, seuls les tribunaux canadien sont compétents.

X

Trucsweb.com Trucsweb

X

Trucsweb.com Glossaire

X

Trucsweb.com Trucsweb

X

Trucsweb.com Trucsweb

Conditions

Aucun message!

Merci.

X
Aucun message!
X

Trucsweb.com Créer un compte

Créer un compte

.
@