besoin d'aide!!!animation flash_ciel etoilé en mouvement infini - Web design - Graphisme
Marsh Posté le 01-08-2008 à 09:35:31
en script, tu fait une fonctionqui te créé un point blanc au centre de ton clip, avec un random pour la le mouvement en X et Y, et un scale en fonction de ce mouvement (pour que plus l'étoile soit lente, donc loin, plus elle soit petite)... ensuite, un ptit masque radial au centre pour ne pas voir les étoiles apparaitre et donner une sensation d'infini...
Marsh Posté le 01-08-2008 à 15:31:16
OK..ça l'aire simple kand t'en parle..lol..je vais ésseier.Merci
Marsh Posté le 02-08-2008 à 02:15:24
Bonjours a ce qui veulent bien entendre mon sos!! lol
voila je me suis bien cassé la tète tout la journée..
Rien a faire..j'ai réussi de créer un code qui me permet d'agrandir mon clip et grâce a une function le déplacer dans une direction
Pour cela j'ai mie la prog suivante sur le clip(un pt rond qui représente mon étoile)
onClipEvent (load) {
this._xscale = 0;
this._yscale = 0;
}
onClipEvent (enterFrame) {
if (this._xscale<100 && this._yscale<100) {
this._xscale += 10;
this._yscale += 10;
}
}
et cette prog dans la function
this.onEnterFrame=function(){
// Vitesse horizontale
this._x+=Math.round (Math.random ()*2)+10;
// Déplacement horizontal
this._y+=Math.round (Math.random ()*2)+10;
}
Si non, aussi, je suis arrivé de placer aléatoirement mes étoiles grâce à ce code( trouvé sur CodeSource)
Haut = 0;
Gauche = 0;
Largeur = 900;
Hauteur = 400;
NomClip = "Etoile"; //Aller dans Bibliotheque -> Liaison, cochez "Exporter pour ActionScript"
TailleMin = 1;
TailleMax = 4;
NombreEtoileMin = 40; //Nombre possible
NombreEtoileMax = 300; //Nombre impossible
//Début du script
difference = NombreEtoileMax - NombreEtoileMin;
nbetoiles = int(Math.random() * difference) + NombreEtoileMin;
for (i=1;i<=nbetoiles;i++) {
_root.attachMovie(NomClip, "Etoile"+i, i);
_root["Etoile"+i]._x = Gauche;
PlusG = Math.random() * Largeur;
_root["Etoile"+i]._x += PlusG;
_root["Etoile"+i]._y = Haut;
PlusD = Math.random() * Hauteur;
_root["Etoile"+i]._y += PlusD;
diff = TailleMax - TailleMin;
Taille = int(Math.random() * diff) + TailleMin;
_root["Etoile"+i]._width = Taille;
_root["Etoile"+i]._height = Taille;
}
le clip qui est applé est un clip animé; Il contient un autre qui s'agrandit avec le même code que plus haut
onClipEvent (load) {
this._xscale = 0;
this._yscale = 0;
}
onClipEvent (enterFrame) {
if (this._xscale<100 && this._yscale<100) {
this._xscale += 10;
this._yscale += 10;
}
}
C'est sympa,MAIS.. c'est pas ce que je veux..
Et je ne sais vraiment pas comment réunir les deux...
Alors comme je sais qu'il y a parmi vous des tètes qui seront certainement m'aider j'appelle à l'aide!!!
Mais je ne suis pas sure que il y en a qui voudront se prendre la tète sur un truc aussi débile..
En tout cas j'espère quand même
Merci d'avance
Maharathi
Marsh Posté le 06-08-2008 à 13:59:24
Voila, tu peux checker ta boite mail, je t'ai envoyé une belle source commenté !
Marsh Posté le 06-08-2008 à 15:34:51
j'attendais que quelqu'un me le supplie mais c'est foiré...
http://dl.free.fr/mg6cqTJot
Dsl des fautes dans les commentaire !
Marsh Posté le 06-08-2008 à 15:52:26
oui, en même temps, faut plus s'attendre à une idée qu'à une source propre ! Soyez tolérants
Marsh Posté le 08-08-2008 à 15:43:21
Oui, entre penser du code et le commenter c'est le jour et la nuit... j'essaye de prendre l'habitude de le faire, c'est tjr mieux !
Sinon, c'est pas une source à voir quand on connait rien à l'AS, il faut une petite notion (connaitre le principe du onEnterframe, etc...)
Marsh Posté le 12-08-2008 à 11:28:20
Ouie, declarer une fonction dans un enterFrame, c'est pas jojo.
suffit juste de la mettre a l'exterieur.
En tout cas, c'est bien pensé bien joué.
Moi j'avais voulu m'y frotter mais j'ai abandonné en voulant mettre de l'acceleration ... trop long a faire.
Marsh Posté le 12-08-2008 à 11:37:44
abais a écrit : Oui, entre penser du code et le commenter c'est le jour et la nuit... j'essaye de prendre l'habitude de le faire, c'est tjr mieux ! |
c'est quoi le principe ?
Marsh Posté le 12-08-2008 à 13:45:38
Tous ce que tu met dans un "onEnterframe", ça l'interpretera à chaque fois qu'il lira la frame (ici, a chaque frame vu que c'est la seule !
Euh... Zed, je vois d'autre solution surtout si après, tu fais joué la position de ton curseur ou autre...
Marsh Posté le 12-08-2008 à 16:30:04
Sisi, tu fais comme ça :
Code :
|
Et t'en profites pour mettre ton incrementation dedans. Sinon ca sert a rien de faire une fonction.
Le but d'une fonction, c'est que tu la déclares une fois et puis ca suffit.
(bon du coup les commentaires sont plus bons, mais c'est pour montrer)
Et tant que t'y ai tu peux meme carrement balancer la fonction depuis le enterFrame
onEnterFrame = Etoile;
Et roule ma poule.
EDIT :
Le principe du onEnterFrame c'est que c'est une fonction/methode de ton objet (ici c'est this, puisque t'as rien mis).
Donc soit tu mets du code dedans comme quand tu ecris une fonction, soit tu appels une autre (ou plusieurs autres) fonction.
Ici, comme t'appels qu'une fonction qui en plus n'a pas de parametres, une syntaxe linéaire fait l'affaire.
Le principe de la syntaxe lineaire c'est que tu attributs une fonction a ta methode onEnterFrame.
Ca marche avec toutes les methodes onRelease, onRollOver etc ...
Exactement comme quand tu fais :
var foo = 4;
monClip._x = foo;
_x est une variable sur monClip, on dit donc _x est une proprieté de monClip et tu lui attributs une autre variable.
Enfin tu sais peut etre tout ça ...
Marsh Posté le 12-08-2008 à 16:57:21
A oui excuse ! je me mettais dans la tete que ce qui te genait c'etait pas la declaration mais l'execution même de ma fonctions..
En effet, c'est pas propre tout ça ! je suis ok avec toi, ça m'est pas venu à l'esprit, j'était plus occupé à commenter !
Sinon sur flash non, je sais pas tout, loin de là vu que j'ai une formation autodidacte et donc de mauvaise habitude derrière moi !
Marsh Posté le 12-08-2008 à 18:07:49
Ok. Essaie de creuser un peu vers la programmation objet, tu vas comprendre plus en profondeur les concepts de programmation et d'AS surtout.
Meme si tu t'en sers pas, ca éclaire beaucoup de choses.
Marsh Posté le 31-07-2008 à 20:37:48
Bonjours a tous...
voila je recherche un code qui me permettrai de créer un effet des ciel étoilé en mouvement infini..vous savez comme les écrans de veille de Windows...genre comme si on avançais dans l'espace..
Je sais ke je dois créer un mouvement aléatoire..ca dois pas etre si compliqué que ca..
Mais je suis débutante en as2 et pour instant je ne suis pas capable de créer ce genre de code tout seule..
Si quelque un a une suggestion ou une idée ki pourra m'aider dans ma recherche je vous serai très reconnectassent.
Merci d'avance!!!!!!!!!!!!!!!!!
Maharathi