-
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
-
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
-
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 :)
-
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
-
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.