La communauté ALL HTML c'est 58827 membres à ce jour dont 3 inscrits aujourd'hui et 32 depuis une semaine.

  • imprimer
  • aide

Forum de discussions « Flash - LiveMotion »

Retrouvez les publications relatives à ces discussions dans notre rubrique web design et flash.

problème avec l'actionscript 2.0 au niveau de mon clip

liste des forums liste des discussions Participer à la discussion

Photo de draedalus Message publié le mercredi 07 mai 2008 à 09 h 35 par draedalus. Rien ne sert de courir, il faut partir à point
Bonjour,

je suis actuellement en stage et je suis censé réaliser une simple animation d'un CD qui tourne sur lui-même et qui vient faire apparaitre et disparaitre du texte lors de son passage avec des masques.

Au départ, j'ai commencé par la faire par interpolations puis je n'étais pas satisfait de la rotation donc j'ai décidé de faire des recherches pour coder la rotation du CD autour de son axe central. Ensuite comme l'interpolation de mouvement ne marchait plus, je l'ai réalisé elle aussi par AS2.

Pour faire disparaitre le texte, j'ai utilisé le principe de collision qui permet de déplacer le texte sur la gauche quand le CD vient en contact de celui-ci.

Je bute maintenant sur le retour du CD où plutôt sur la fin de l'animation car j'aimerais que le CD finisse "droit" et à une position précise. J'ai tenté de jouer avec les valeurs ._X mais je ne suis pas parvenu à mes fins.

Je vous montre mon code pour que vous puissiez me corriger et m'aider à trouver la solution.

Merci pour votre patience.


Code pour faire démarrer le CD de gauche à droite en tournant sur lui-même

Action Script
voir codecopier dans le presse papierimprimer?

1. onEnterFrame = function () {
2. oxalis._rotation += 50;
3. oxalis._x += 12;
4. };

onEnterFrame = function () {
oxalis._rotation += 50;
oxalis._x += 12;
};

Comment pour que le CD s'arrête à une position ._x pour repartir sur la gauche ?

Code pour faire partir le CD de droite à gauche en tournant sur lui-même mais dans le sens inverse

Action Script
voir codecopier dans le presse papierimprimer?

1. onEnterFrame = function () {
2. oxalis._rotation -= 70;
3. oxalis._x -= 15;
4. };

onEnterFrame = function () {
oxalis._rotation -= 70;
oxalis._x -= 15;
};

Code pour faire partir le texte vers la gauche quand il rentre en contact avec le CD

Action Script
voir codecopier dans le presse papierimprimer?

1. onEnterFrame = function () {
2. oxalis._rotation -= 70;
3. oxalis._x -= 20;
4. if (oxalis.hitTest(baseline)) {
5. baseline._x -= 23;
6. }
7. };

onEnterFrame = function () {
oxalis._rotation -= 70;
oxalis._x -= 20;
if (oxalis.hitTest(baseline)) {
baseline._x -= 23;
}
};

Ici baseline représente le texte qui doit partir de droite vers la gauche.

Code pour faire partir le texte vers la gauche quand il rentre en contact avec le CD

Action Script
voir codecopier dans le presse papierimprimer?

1. onEnterFrame = function () {
2. //oxalis._x=0;
3. //oxalis._rotation -= 42;
4. baseline._x -= 23;
5. };
6.
7. var pX:Number = 200.6;
8. //if(oxalis._x == pX) {
9. //oxalis._x = 0;
10. //oxalis._rotation -= 18;
11. //}

onEnterFrame = function () {
//oxalis._x=0;
//oxalis._rotation -= 42;
baseline._x -= 23;
};

var pX:Number = 200.6;
//if(oxalis._x == pX) {
//oxalis._x = 0;
//oxalis._rotation -= 18;
//}


Je suis perdu sur ce code car j'aimerais qu'à une position précise le CD s'arrête de bouger et ne tourne plus sur lui-même en étant dans la position "droite" pour qu'il puisse être lisible. J'ai mis pour cela une image à la fin de l'animation pour "combler le problème" en attendant de trouver la solution mais je ne sais pas trop comment faire je suis perdu. Quelqu'un saurait-il me dire comment faire ?

Je vous remercie pour l'attention apportée. Bonne journée
Photo de draedalus Message publié le mercredi 07 mai 2008 à 10 h 52 par draedalus. Rien ne sert de courir, il faut partir à point
désolé pour le souci de code, comme j'ai effectué un copier coller je viens de me rendre en compte après relecture que les lignes de code ont été répétés pour chacune d'entre elles.

veuillez ne pas en tenir compte svp et excusez moi
Photo de georgebaroud Message publié le mercredi 07 mai 2008 à 11 h 17 par georgebaroud.
salut,

tu peux créer des intervalles de temps entre tes fonctions avec setinterval

un exemple :

gotoAndStop(1);
function ClipEtoile ()
{
var LancerClip = Math.round(Math.random()*3)
if(LancerClip<=2){
play();
}
else{
gotoAndStop(1);
}
}
setInterval(this, "ClipEtoile", 1000);

à la dernière ligne. Je flashouille pas plus que ça donc je peux pas en dire plus :)
Photo de draedalus Message publié le mercredi 07 mai 2008 à 11 h 37 par draedalus. Rien ne sert de courir, il faut partir à point
ok merci pour ton code je vais essayer de regarder ça de plus près car je ne suis pas très expert dans les scripts AS
Photo de Delirium Message publié le jeudi 08 mai 2008 à 15 h 25 par Delirium.
Bonjour,

Je n'ai pas regardé tout le code car je n'ai pas beaucoup de temps, mais j'ai lu que tu as un problème de CD qui tourne dans le sens inverse ou qui ne s'arrête pas.
Essaye de placer un "delete onEnterFrame", ca peut peut-être aider.

liste des forums liste des discussions Participer à la discussion

Vous devez obligatoirement vous identifier en tant que membre pour participer à cette discussion.

ACCÉS COMMUNAUTÉ

Rejoignez ALL HTML

Publiez vos articles, actualités, communiqués ... Donnez votre avis, partagez votre réseau, rencontrez d'autres membres et participez à la vie de la communauté.

Les 5 dernières discussions