Vitesse de déplacement aléatoire

monEmpreinte Messages postés 7 Date d'inscription samedi 20 octobre 2007 Statut Membre Dernière intervention 30 avril 2008 - 17 avril 2008 à 15:51
cs_ulysse68 Messages postés 23 Date d'inscription mardi 30 janvier 2007 Statut Membre Dernière intervention 30 avril 2008 - 30 avril 2008 à 16:35
Hello/Help!!!!

Je souhaite créer une animation. Une course de cyclistes.
J'aimerais que le gagnant change à chaque fois que l'animation recommence.

Est-ce possible?
Comment faire?

Merci d'avance

PS: j'ai quelques notion d'actionScript

monEmpreinte

12 réponses

cs_ulysse68 Messages postés 23 Date d'inscription mardi 30 janvier 2007 Statut Membre Dernière intervention 30 avril 2008
17 avril 2008 à 17:03
Salut,

renseigne toi sur la classe Math.random ce doit être possible.
0
monEmpreinte Messages postés 7 Date d'inscription samedi 20 octobre 2007 Statut Membre Dernière intervention 30 avril 2008
17 avril 2008 à 17:56
Merci, mais... je suis encore plus débutante que ça...

comment j'utilise le random, ou plutôt, sur quoi je peux l'appliquer?

monEmpreinte
0
cs_ulysse68 Messages postés 23 Date d'inscription mardi 30 janvier 2007 Statut Membre Dernière intervention 30 avril 2008
18 avril 2008 à 10:52
Voici un exemple :

i = 10*Math.random(); //Math.random te donne un nombre aléatoire, donc ici 10 est multiplié par un nombre quelconque

trace("Random => "+10*Math.random()); // résultat de la multiplication

if(i<=1){ // si i plus petit ou égal à 1 alors i prend la valeur 1 ( c'est pour ne pas avoir un chiffre à virgule )
    i = 1;
} else if (i >=1 and i<=2){ // si i est compris entre 1 ET 2 alors i prend la valeur 2
    i = 2;
} else if (i >=2 and i<=3){ //idem
    i = 3;
} else if (i >=3 and i<=4){ //idem
    i = 4;
} else if (i >=4 and i<=5){ //idem
    i = 5;
} else if (i >=5 and i<=6){ //idem
    i = 6;
} else if (i > 6){ //si i strictement supérieur à 6 alors i = 6
    i = 6;
}

trace("i => "+i); // valeur de i

Après je sais pas trop quoi te dire, parce que je n'ai pas ton code sous les yeux.

En espérant que ça t'aide, bisous.
0
monEmpreinte Messages postés 7 Date d'inscription samedi 20 octobre 2007 Statut Membre Dernière intervention 30 avril 2008
21 avril 2008 à 10:40
Merci. Je crois que je comprends le principe, mais en réalité, je n'ai pour le moment pas de code. J'ai 4 calques avec des interpolations de mouvement qui ont chacune une accélération différente.

Ce que j'aimerais faire c'est que l'accélération change pour chaque calque quand l'animation recommence.

est-ce que c'est possible?????




monEmpreinte
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_ulysse68 Messages postés 23 Date d'inscription mardi 30 janvier 2007 Statut Membre Dernière intervention 30 avril 2008
21 avril 2008 à 11:45
En faisant tout en interpolation je ne pense pas, cependant si tu fais tes mouvements via le code c'est tout à fait possible.
0
monEmpreinte Messages postés 7 Date d'inscription samedi 20 octobre 2007 Statut Membre Dernière intervention 30 avril 2008
22 avril 2008 à 23:35
ça y est j'ai créer le déplacement avec le code (mon premier ) et utiliser le random dessus.

mais j'ai 4 "vélos" et donc 4 déplacements séparés et je voudrais que le random soit différent pour chaque vélo et ce n'ai pas le cas. voir le fichier
http://www.monempreinte.ch/transfert/anim.fla

Une idée comment faire? Merci

monEmpreinte
0
cs_ulysse68 Messages postés 23 Date d'inscription mardi 30 janvier 2007 Statut Membre Dernière intervention 30 avril 2008
24 avril 2008 à 08:24
Essaye peut être de multiplier le random par un nombre différent à chaque fois.
0
monEmpreinte Messages postés 7 Date d'inscription samedi 20 octobre 2007 Statut Membre Dernière intervention 30 avril 2008
30 avril 2008 à 12:10
Merci pour ton aide ulysse68. J'ai trouvé une solution à mon problème.

velo1.onEnterFrame = function() {
    i=Math.round(Math.random()*10)

    if (this._x<630) {
        this._x += i;
    } else {
        delete this.onEnterFrame;
    }
};

sauf que j'ai un nouveau soucis...  eh oui

les vélos avancent par à-coup (pas très fluide)

Une idée?

monEmpreinte
0
cs_ulysse68 Messages postés 23 Date d'inscription mardi 30 janvier 2007 Statut Membre Dernière intervention 30 avril 2008
30 avril 2008 à 15:18
   i=Math.round(Math.random()*10)

velo1.onEnterFrame = function() {

    if (this._x<630) {
        this._x += i;
    } else {
        delete this.onEnterFrame;
    }
};

essaye comme cela
0
monEmpreinte Messages postés 7 Date d'inscription samedi 20 octobre 2007 Statut Membre Dernière intervention 30 avril 2008
30 avril 2008 à 15:33
Ach! Quand je fais ça, tous mes vélos vont à la même vitesse...

monEmpreinte
0
monEmpreinte Messages postés 7 Date d'inscription samedi 20 octobre 2007 Statut Membre Dernière intervention 30 avril 2008
30 avril 2008 à 15:49
Ouf, j'ai trouvé.
c'est tout con... pour chaque random, j'ai mis une variable différente

i=Math.round(Math.random()*10)
j=Math.round(Math.random()*10)
k=Math.round(Math.random()*10)
l=Math.round(Math.random()*10)

monEmpreinte
0
cs_ulysse68 Messages postés 23 Date d'inscription mardi 30 janvier 2007 Statut Membre Dernière intervention 30 avril 2008
30 avril 2008 à 16:35
ben voilà :) au moins tu auras compris un peu la logique de l'AS :)
0