begin process at 2012 05 26 19:04:31
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

clip aléatoire à 100%


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

clip aléatoire à 100%

mardi 19 août 2008 à 23:04:35 | clip aléatoire à 100%

THEPENGUIN

Bonjour,

je ne suis pas un grand développeur en AS, je viens donc vous demander conseil.

Je souhaiterais faire un clip à 100% aléatoire. C'est à dire : que sur une animation flash il y est un clip animé (par exemple un rond qui grossit), et que ce clip se lance tout au long de la navigation (sans boutons) avec une position aléatoire sur la zone d'écran, une taille entre deux valeurs aussi aléatoire, et que encore une fois aléatoirement il apparaisse (sans cycle prédéfinit) et puisse aussi se multiplié à partir d'un seul clip, évidement de façon aléatoire.

Pour un Exemple plus concret je voudrais que mon clip agisse comme des rond dans l'eau qui peuvent être de taille différentes d'emplacements différents et d'un nombre aléatoire.

J'en demande peut-être un peu beaucoup, mais je penses que c'est possible et en plus sans une complexité énorme, mais bon mais connaissances son limitées.

Je vous remercie d'avance,

Thomas.
mercredi 20 août 2008 à 09:03:27 | Re : clip aléatoire à 100%

Niaki

Pfiou ton cahier des charges il est coriaces lol, je ne pense pas pouvoir répondre à tous mais bon lol
Je sais pas quelle niveau tu as en AS, moi je code en as3 je te préviens,
Alors ta une fonction qui s'apelle Math.Random et qui te donne aléatoirement un chiffre entre 0 et 1, ton animation 100% aléatoire peut fonctionner uniquement avec sa.

Supposons que ton animation fait 550pixel par 400, la taille de base, dans ton code tu apelle ton movieclip, genre var monAnim:anim = new anim; (monAnim étant le nom que tu lui donne, et anim le nom que tu a donné lors du lien avec actionscript, je sais pas quelle niveau ta j'essaye d'expliquer au mieux lol)
ensuite tu fait addChild(monAnim); et tu doit lui donner une coordonné, c'est la que tu peux faire monAnim._x = Math.Random()*550 (comme ton anim fait 550pixel alors sa coordonée en x sera comprise entre 0 et 550) je suis pu sur de comment y s'écrit le Math.Random j'ai pas flash je suis au boulot la, mais de toute façon sa devient bleu quand c'est bon lol. Ensuite tu fait la même chose pour ta coordonné en y : monAnim._y = Math.Random()*400 .
Tu a déja ton movieclip placé aléatoirement

Ensuite, on va dire que ton movieclip c'est juste une boule, tu veux que d'abord on la voille pas et qu'ensuite elle grossise de plus en plus jusqu'a une taille aléatoire comprise entre deux valeurs, au même moment que de la placé en x et en y, tu lui donne sa taille de départ monAnim._width = 1; et monAnim._height = 1;
Pour la taille max aléatoire, il te suffit de créer une variable de taille max, si tu veux par exemple que ton ballon grossise entre 50 et 100 pixel ta va faire:

monAnim.tailleMax = 50 + Math.Random() * 50;
et tu a une taille max aléatoire.

après tu fais un addEventListeners on ENTERFRAME pour avoir une fonction qui s'éxécute en continue et c'est la que tu fera grossir ta boule genre :
monAnim._width += 2;
monAnim._height +=2;
(aprés tu peux aussi la faire grossir a une vitesse aléatoire il te suffit pareil que pour la taille max une autre variable aléatoire au moment de la déclaration
monAnim.vitesse = Math.Random()*20; après a toi de jouer sur les valeur pour obtenir ce que tu veux.)
Ensuite il faut que le ballon disparaisse lorsqu'il arrive a sa taille max, toujours dans la fonction tu met une condition genre
if ((monAnim._width >= monAnim.tailleMax) && (monAnim._height >= monAnim.tailleMax))
{
   removeChild(monAnim); //tu dégage ton movieclip
}
vu que ton anim c'est des rond dans l'eau, plutot qu'il disparaisse d'un coup je te conseil que dans ton movieclip tu met ton rond normal a la premiere frame, et que après tu fasse une petit anim pour qui s'estompe, comme sa tu fait un pti gotoAndPlay sa fera plus réaliste.

Heu je crois avoir répondu a tout mdr, c'est une solution un peu simpliste mais sa devrai marcher, si y en a qui ont des idées moi je suis prenant aussi l'aléatoire c'est toujours utile.
Amicalement, Niaki
mercredi 20 août 2008 à 11:36:20 | Re : clip aléatoire à 100%

Niaki

En gros

var goutte1 :clipGoutte = new clipGoutte;
goutte1._x  = Math.random()*550;
goutte1._y = Math.random()*400;
goutte1.tailleMax = 50 + Math.random()*50;
goutte1.vitesse = Math.random()*20;
goutte1._width = 1;
goutte1._height = 1;

stage.addEventListener(Event.ENTER_FRAME, boucle)

function boucle (evt : Event)
{
   goutte1._width += goutte1.vitesse;
   goutte1._height += goutte1.vitesse;

    if  ((goutte1._width    >=    goutte1.tailleMax)    &&    (goutte1._height    <=    goutte1.tailleMax)){
   removeChild(goutte1);
}

}

En principe sa marche mais je peux pas tester la
Amicalement, Niaki
mercredi 20 août 2008 à 11:47:54 | Re : clip aléatoire à 100%

THEPENGUIN

Bonjour Niaki!

Merci, pour cette réponse, j'ai pas tout compris parce que tu mélange le code rédigé et le code code (je sais pas si tu me comprend lol!).

Mais c'est déjà un très bon début! je connais un peu Math.Random (je te confirme ça s'écrit comme ça) et je sais placer aléatoirement un clip dans l'espace. Ce qui me posait le plus de problèmes c'est tout le reste et surtout les combiner tous ensemble. Mais je penses pouvoir essayer de m'en sortir avec ce que tu m'a dit. Je te tiens au courant.

Et je suis toujours preneur si quelqu'un a une idée

Encore merci,
Thomas.
mercredi 20 août 2008 à 12:05:56 | Re : clip aléatoire à 100%

THEPENGUIN

Il me renvoie deux erreur lorsque je copie ton code

var goutte1 :clipGoutte = new clipGoutte; ------> Impossible de charger la classe ou l'interface 'clipGoutte'.
function boucle (evt : Event)------> Impossible de charger la classe ou l'interface 'Event'.

??? je sais pas trop comment réctifier...
mercredi 20 août 2008 à 12:54:14 | Re : clip aléatoire à 100%

Niaki

pour le clip goutte est ce que tu l'as creer ??
Faut que tu le creer avant genre tu dessine ta goutte tu la selectionne tu fait clique droit et tu clique sur convert to symbol ( je l'ai en anglais lol) tu dit que c'est un movie clip tu l'apelle clipGoutte ( ou un autre nom peut-etre ke clip c un mot interdit mais je crois pas) et aprs dans ta livrairie tu vois ton clipGoutte, tu fais clique de droite dessus et en anglais ta une option qui s'apelle linkage tu clique la tu peux cocher des case tu coche export for actionscript je crois c'est écris comme sa et y va te proposé direct le nom clipGoutte tu fais ok et maintenant ton objet est dispo et utilisable dans le script.

Ensuite pour boucle c'est bien
function boucle(evt:Event)
{
.....
}
essaye comme sa sans les espaces, sa devrais marcher normalement, mais comme je t'ai dit j'ai pas flash au boulot je peux pas tester, au pire des cas si se soir personne ne te propose une solution qui fonctionne ben je te poste un code qui marche que j'aurai tester chez moi dès demain matin.
mercredi 20 août 2008 à 13:01:28 | Re : clip aléatoire à 100%

Niaki

je viens de voir que sur d'autre code sur le net desfois y mette
function boucle(e:Event)
{
...
}
je sais pas pourquoi alors essaye comme sa aussi, sinon si y a quelqu'un du forum qui peut éclairer la dessus lol
mercredi 20 août 2008 à 14:28:27 | Re : clip aléatoire à 100%

THEPENGUIN

Dur dur! surtout si tu n'as pas les outils à ta dispo.

J'ai modifié le code avec ce que tu m'a dit, mais pour tout ce qui est "._x" "._y" "._height" "._width" il m'a dit qu'il fallait mettre "DisplayObject." à la place des "._", ce que j'ai fait cependant maintenant il me met un autre message d'erreur

TypeError: Error #1010: Un terme n'est pas défini et n'a pas de propriété.
    at Sansnom_fla::MainTimeline/Sansnom_fla::frame1()


Le code que j'ai est le suivant :

var goutte1 :clipGoutte = new clipGoutte;
goutte1.DisplayObject.x  = Math.random()*550;
goutte1.DisplayObject.y = Math.random()*400;
goutte1.tailleMax = 50 + Math.random()*50;
goutte1.vitesse = Math.random()*20;
goutte1.DisplayObject.width = 1;
goutte1.DisplayObject.height = 1;

stage.addEventListener(Event.ENTER_FRAME, boucle);

function boucle(e: Event) {
    goutte1.DisplayObject.width += goutte1.vitesse;
    goutte1.DisplayObject.height += goutte1.vitesse;

    if ((goutte1.DisplayObject.width    >=    goutte1.tailleMax)    &&    (goutte1.DisplayObject.height    <=    goutte1.tailleMax)) {
        removeChild(goutte1);
    }

}


mercredi 20 août 2008 à 14:37:32 | Re : clip aléatoire à 100%

Niaki

arf j'essaye de tête mais au boulot si j'installe flash je vais me faire traiter, demain je prend mon ordi portable comme sa je l'aurai avec moi.
Bon sinon au lieu des ._x etc et des display object mais directement .x,
Le code sa donnerai sa :


stop();

var
goutte1 :clipGoutte = new clipGoutte;
goutte1..x  = Math.random()*550;
goutte1..y = Math.random()*400;
goutte1.tailleMax = 50 + Math.random()*50;
goutte1.vitesse = Math.random()*20;
goutte1.width = 1;
goutte1.height = 1;

stage.addEventListener(Event.ENTER_FRAME, boucle);

function boucle(e: Event) {
    goutte1.width += goutte1.vitesse;
    goutte1.height += goutte1.vitesse;

    if  ((goutte1.width  >= goutte1.tailleMax) &&  (goutte1.height <=  goutte1.tailleMax)) 
   {
        removeChild(goutte1);
    }

}

Et juste pour précisions, si ton animation et vue du dessus les impacts des gouttes sur l'eau seront ronde, mais si c'est une animation genre comme si t'étais debous et que tu regarder de l'eau tu sais genre de face mais par le haut lol ben les onde elle seront oval et non pu ronde, dans ce cas il faudrat avoir de vitesse de propagation proportionnel l'une a l'autre.
mercredi 20 août 2008 à 15:50:53 | Re : clip aléatoire à 100%

Niaki

Bon le boulot est finit je vais rentrer chez moi j'ai pas le net, mais demain matin premières heures je te post un code as3 qui marche nicquel comme tu veux.
Bonne fin de journée



Amicalement,Super Niaki

1 2

Cette discussion est classée dans : taille, aléatoire, exemple, clip, rond


Répondre à ce message

Sujets en rapport avec ce message

Animation dans bouton [ par prao ] Salut,j'ai fait un bouton, et un clip que j'ai inséré sur "dessus" dudit bouton. Et j'aimerais que lorsqu'on ne survole plus ce bouton, l'animation se Random [ par lol7 ] Bonjour à tous,j'essaie d'utiliser la fonction "random" pour que Flash joue de manière aléatoire des images au sein d'un clip. Concrétement, j'ai un c Ajuster la taille d'un clip avec loadMovie ?!? [ par proffy ] Bonjour, voila je suis sur ke le pb dont je v fR par a deja ete resolu sur un otre post, mais je lé po trouvé, et c po faute d'avoir cherché enfin voi Grille aléatoire sur movie clip [ par Burnside ] Bonjour,Je desirerai savoir comment l'on peut créer une grille vituelle dans un movie clip.Explication:J'ai un fichier Index.swf, qui load des autres Réajuster la taille d'un clip [ par horyatus ] Bon jour à tous et à toutes(on le dit pas assez),Comme vous pouvez le voir ici: http://aktimehon.free.fr/Odys%e9e/test_fenetre.flaJ'essaye d'afficher Pb de taille d'un clip [ par mighnion ] Bonjour les amis!Voila j'ai un petit soucis mais dont je ne vois pas la soluce.J'ai un clip de taille width=300 et height=340.Quand je veux afficher s Zoom [ par blat ] Bonjour,Je souhaite faire un zoom sur un clip. En fait, j'ai mon clip chargé, avec mon image dedans, et lorsque je clic sur l'image, je voudrais faire taille d'un clip en loadmovie [ par snakeeater1 ] voila mon pb j'ai mon site flash et je désir charger un swf externe avec un load movie (jusqe la tt va bien) je fais mon loadmovie, mon clip externe s image aléatoire dans un clip [ par seg ] bonjourdonc en fait je fais défiler des images à l'aide d'une flèche sur laquelle on doit cliquer pour avoir la suivante mais j'aurai aimer qu'à chaqu loadMovie et taille [ par mopi007 ] Bonjour, je charge une image jpg dans un clip a l'aide de loadMovie il pred la position x,y de mon clip , ok , je peut changer la position , ok . Mai


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,920 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales