 |  | Action Script Informatique |  | Action Script Categorie : Informatique
| | Rédaction : Bioken (22/01/2007) |
Nom : Action Script
Type : programation
Niveau : Debutant
Pré-requis : Macromedia flash 8
Objectifs: Créer un space Invader
Voila, si vous arrivé ici, cela veut dire que vous êtes un débutant en flash , vous savez faire des petites animations basic mais savez presque rien du Action Script, vous aimeriez faire un jeux mais vous savez pas comment et bein ici je vais vous expliquer comment faire bouger un objet avec les touches du clavier pour faire bouger un vaisseaux spatial comme dans Space Invader, vous voulez :Oui 
Alors premièrement on va créé un movie clip sur la scène en faisant F8 et cohez Movie clip, donnez lui le nom que vous voulez par exemple vaisseaux spatial on s'en fout puis ok, maintenant mettez le sur la scène, selectionez-le et en bas dans la fenêtre de propriété la ou il a écrie "Nom de l'occurrence"
mettez "perso" C'EST TRÈS IMPORTANT pour la phase de action script car c'est le nom du Movie clip pour le action script, c'est bon maintenant désélectioné le movie clip et passons a la phase de script
Mettez ce code:
function onEnterFrame() {
if (Key.isDown(Key.RIGHT)) {
perso._x += 15;
}
if (Key.isDown(Key.LEFT)) {
perso._x += -15;
}
if (Key.isDown(Key.DOWN)) {
perso._y += 15;
}
if (Key.isDown(Key.UP)) {
perso._y += -15;
}
}
Vous pouvez tester avec Ctrl+Enter si cela marche, le movie clip doit bouger.
Maintenant je vais vous dire a quoi serve le script pour que vous ne l'ayez pas que bêtement mis pour rien apprendre, alors
if (Key.isDown(Key.RIGHT)) {
perso._x += 15;
veut dire si la touche droite est pressée, il va a droite
vous pouvez voir qu'il y a "perso" cela veut dire que c'est lui qu'ont veut faire bougez et x signifie qu'il va bouger Horizontalement, si on avait mis "y" il bougerait verticalement. 15 est la vitesse a laquelle bouge le movie clip.
dans -15 et 15, le - veut dire la direction par exemple si il y a -15 avec y cela veut dire qu'il va en haut et s'il n'y en a pas c'est en bas, pareil avec x
s'il a le - s'est a gauche qu'il ira et y en a pas c'est a droite.
Comme le Actionsript est majoritairement Anglais je vous donne un coup de mains 
Up = en haut
Down = en bas
Right = a droite
Left = a gauche
Frame = image
Key = clée mais ici c'est une touche (de clavier)
Y et X sont des lettres géométriques ,vous les trouverez dans les logiciel 3D sauf que la bas il aussi je crois w .
Goto = alez a
Play = jouer
Stop = arret
if = si
Maintenant vous je vais vous dire comment améliorer ce jeux si vous avez dessinez un vaisseaux spatial.
Déjà vous pouvez animez votre Movie clip en entrant dedans et dessinant des flammes pour le turbot et tout cela.
Après vous pouvez dessinez un arrière plan comme si votre vaisseaux spatial avance, sur un nouveaux calque dessinez un arrière plan comme l'espace et faite le sortir de la scène en haut pour pour pouvoir créé une interploitation de mouvement qui le fera descendre donnant l'impression qu'il avance.
Voila c'est déjà mieux, maintenant a vous de personnalisez.
Ce cera tout pour cette fois et si vous trouvez un blême vous n'hésitez pas a le dire
23/01/2007, 00h28 | #4 | | Ombre
| Re : Tutoriel de macromedia flash | | [Il y eu un jour, ici, un message d'Amiral  .] Dernière modification par Amiral : 23/01/2007 à 17h56. | | |
05/02/2007, 12h55 | #8 | | Ombre
| Re : Tutoriel de macromedia flash | | Voici la deuxieme parti.
Pour ce qui ont fait une interpolation de mouvement pour donnez l'impression que le vaisseaux avance, mettez tous cela dans un clip. Pour le vaisseaux spatial, entrez dans lui et modifié le, dans la première image mettez le script stop(); , a l'image 2 mettez destroy="ok"; , après l'image deux vous mettez les effet qui vont apparaître quand le vaisseaux sera touché et une fois terminé, sur l'image de fin mettez
destroy="";
gotoAndPlay(1);
2:Revenez sur la scène principal pour créer un nouveaux calque que vous nommerez "script", sur l'image 1 insérer ce code
stop();
3: créé un nouveaux calque que vous nommerez "méchant", sur ce calque, dessinez le vaisseaux des ennemies, convertissez le en clip, modifié le comme le vaisseaux du joueur sauf que cette fois ci, après l'image 1, vous mettez comme script destroy="ok"; sur l'image 2 et dessinez l'explosion du vaisseaux. Donnez a ce clip comme nom d'occurrence "mechant" et insérez ce script
onClipEvent (load){z=0;}
onClipEvent(enterFrame)
{
z++;
_y+=this.vitessey;
_x+=this.vitessex;
if(this.mechant2.destroy_total=="ok"){removeMovieClip(this);}
if(this.cadence==z)
{
duplicateMovieClip("_root.missile_mechant", "missile_mechant" add _root.numz, _root.numz);
setProperty("_root.missile_mechant" add _root.numz, _x, this._x);
setProperty("_root.missile_mechant" add _root.numz, _y, this._y+10);
_root.numz++;
z=0;
}
if(_root.vies==0){_root.gotoAndStop(2);_root.vaisseau.gotoAndPlay(8);}
if(this.mechant2.destroy<>"ok")
{
if(hitTest(_root.perso))
{
_root.vies-=1;
this.mechant2.gotoAndPlay(2);
_root.perso.gotoAndPlay(2);
}
}
}
4: Désormais il va falloir qu'on dessine les tirs des méchants et du joueur, crée un nouveaux calque et dessinez le tir des méchant en le convertissant en clip et donnez comme nom d'occurrence "missile_mechant" , pareil pour le tir du joueur sauf que vous lui donnerez comme nom d'occurrence "missile".
Maintenant mettez ce script pour missile
onClipEvent(enterFrame)
{
this._y-=30;
if(this._y<0){this.removeMovieClip();}
for(i=0;i<=10;i++)
{
num_mechant=eval("_root.mechant" add i);
if(num_mechant.mechant2.destroy<>"ok")
{
if(hitTest(num_mechant))
{
_root.score+=10;
num_mechant.mechant2.gotoAndPlay(2);
this.removeMovieClip();
}
}
}
}
et ce script pour missile méchant
onClipEvent(enterFrame)
{
if(_root.perso.destroy<>"ok")
{
if(hitTest(_root.perso))
{
_root.score-=15;
_root.vies-=1;
_root.perso.gotoAndPlay(2);
}
}
if(this._y>400){this.removeMovieClip();}
if(_parent.envoi_missile=="ok")
{this._y+=15;}else
{
this._y+=15;
}
}
N'oubliez pas d'arranger vos calque dans cette ordre
Script
Vaisseaux
missile
méchant
fond
Maintenant testé votre animation, vous devrez appuyer sur la barre espace pour tirer. C'est normal qu'il est quelque bugs.
5: crée un calques qui ce nommera descript et écrivez "score", puis "vie" comme texte dynamique. Mettez aussi deux texte dynamique vide a coté.
6:Crée un nouveaux calque que vous nommerez "perdu", sur l'image 2,
mettez le script
for(t=0;t<=10;t++)
{
test=eval("_root.mechant" add t);
removeMovieClip(test);
}
Puis écrivez en grand "perdu".
7: l'ordre des calque est
Script
Perdu
Descript
Vaisseaux
missile
méchant
fond
Veillez bien a que tous ces calque possède bien tous 2 image.
Voila c'est fini!
Dernière modification par Bioken : 05/02/2007 à 17h21. | | |
Emplacement : | Utilisateurs regardant cette discussion : 0 ( membre(s) et 0 invité(s)) | | | | Rechercher dans cette discussion | | |
Fuseau horaire GMT +2. Il est actuellement 08h03. |
| |  |