Accueil > > > SPACE INVADER V1 ENTIÈREMENT EN ACTION SCRIPT !
SPACE INVADER V1 ENTIÈREMENT EN ACTION SCRIPT !
Information sur la source
Description
Ne trouvant rien de probant concernant un jeu simple le tout fait uniquement en action script, je l'ai donc fait avec mes petites mimines. la gestion est simple et détaillée, mais le jeu n'est pas complet. Le vaisseau peut tirer sur les aliens qui se déplacement "à l'ancienne", mais ceux-ci ne ripostent pas encore. Le code est simple, mais l'aventage, c'est que tout est fait en action script. Vous pouvez le modifier comme bon vous semble, et m'envoyer un 'tit mail si vous avez des question ou des propositions ;). Il manque le tir des aliens et les pyramides pour se protéger. Bonheur et joie à tous :P
Source
- Dans la bibliothèque, il ya a:
-
- - Un clip alien formé de la façon suivante:
- image 1 à 20, l'alien bouge et l'image 20 contient le code: gotoAndPlay(1);
- image 21 à 30, l'alien se désintègre et l'image 30 contient le code suivant: gotoAndPlay(1);
-
- - Un clip dBall qui représente le tir du vaisseau
-
- - Un clip defender qui correspond au vaisseau du héro ;)
-
- - Des sons associés aux actions de tirs et d'explosions des vaisseaux.
-
- Le source qui suit est à mettre dans la première image du calque principal:
-
- // Source écrit par -=Zac en Flash version 8.0 (ça marche peut-être en flash MX 2004...)
- // 09/05/2007
- // flash@zacland.net pour tout renseignement.
-
- depth=0; // Variable pour gestion de profondeur
-
- // Affectation des sons.
- Snd_defenderExplose=new Sound();
- Snd_defenderExplose.attachSound("explosion.wav");
- Snd_alienExplose=new Sound();
- Snd_alienExplose.attachSound("invaderkilled.wav");
- Snd_inv01=new Sound();
- Snd_inv01.attachSound("fastinvader1.wav");
- Snd_inv02=new Sound();
- Snd_inv02.attachSound("fastinvader4.wav");
- Snd_defenderShoot=new Sound();
- Snd_defenderShoot.attachSound("shoot.wav");
-
- // On crée une instance du vaisseau du héro :P
- defender=attachMovie("defender","defender", depth++,{_x:Stage.width/2, _y:Stage.height});
- defender.vTir=1; // Vitesse du tir
- defender.tir=false; // Y'a-t-il un tir déjà en cours ?
-
- nb_alien=0; // Compteur d'aliens
-
- // Boucle d'affichage des aliens
- for(j=1;j<4;j++){
- for(i=0;i<5;i++){
- alien=attachMovie("alien","alien"+nb_alien, depth++,{_x:i*50+50, _y:j*50});
- alien.vt=2; // Chaque alien a sa propre vitesse de déplacement (même s'ils ont tous la même ^^)
- alien.h=true; // Les aliens vont vers la droite (false -> ils vont vers la gauche)
- nb_alien++; // On incrémente le compteur pour le tableau
- }
- }
-
- nb_alien0=nb_alien; // On sauvegarde le nombre d'aliens qu'on a au total
-
-
- onEnterFrame=function(){
- defender._x=_xmouse; // Le vaisseau suit le déplacement horizontal de la souris
- defender._y=380; // L'abssice du vaisseau est toujours la même (le bas de l'écran)
-
- txt_alien.text=nb_alien; // On affiche le nombre d'aliens restant
-
- for(i=0;i<nb_alien0;i++){
- cur_alien=_root["alien"+i]; // Sélection N° Alien
- if(cur_alien.h==true){
- cur_alien._x+=cur_alien.vt; // Depl vers la droite
- } else {
- cur_alien._x-=cur_alien.vt; // Depl vers la gauche
- }
-
- if(cur_alien._x>Stage.width-15){ // Si sort à droite
- cur_alien._x=Stage.width-15; // Arrêt progression
- cur_alien.h=!cur_alien.h; // Inversion du sens
- cur_alien._y+=30; // On descend de 30 px
- cur_alien.vt+=1; // On augmente la vitesse
- }
-
- if(cur_alien._x<15){ // Si on sort à gauche
- cur_alien._x=15; // Arrêt progression
- cur_alien.h=!cur_alien.h; // Inversion du sens
- cur_alien._y+=30; // On descent de 30 px
- cur_alien.vt+=1; // On augmente la vitesse
- }
-
- if(defender.tir=true){ // Si un tir est en cours
- if(dBall._y>0){ // Si le tir ne sort pas de l'écran (en haut)
- dBall._y-=defender.vTir; // Le tir avance d'un cran
- } else { // Sinon
- dBall.removeMovieClip(); // On enlève le clip du tir
- defender.tir=false; // Il n'y a plus de tir en cours (sous entendu,
- // le joueur peut tirer à nouveau)
- }
- }
-
- if(cur_alien.hitTest(dBall)){ // Test de collision entre tir et alien (alien courant de la boucle)
- cur_alien.vt=0; // L'alien s'arrête
- dBall.removeMovieClip(); // On efface le tir
- defender.tir=false; // Le joueur peut de nouveau tirer
- nb_alien--; // Un alien en moins :P
- Snd_alienExplose.start(); // On joue le son de l'explosion
- cur_alien.gotoAndPlay(21); // On joue la séquence de l'alien qui explose (une instruction
- // removeClip se trouve dans la dernière image de la séquence)
- }
- }
- }
-
- onMouseDown=function(){ // Lors de l'appui sur le bouton de la souris
- if(defender.tir==false){ // Si un tir n'est pas déjà en cours
- // On crée le tir à l'emplacement du vaisseau
- dBall=attachMovie("dBall","dBall",depth++,{_x:defender._x, _y:defender._y});
- Snd_defenderShoot.start(); // On joue le son qui va bien
- defender.tir=true; // On interdi le joueur de pouvoir tirer à nouveau tant que le tir
- // est toujours existant
- }
- }
-
Dans la bibliothèque, il ya a:
- Un clip alien formé de la façon suivante:
image 1 à 20, l'alien bouge et l'image 20 contient le code: gotoAndPlay(1);
image 21 à 30, l'alien se désintègre et l'image 30 contient le code suivant: gotoAndPlay(1);
- Un clip dBall qui représente le tir du vaisseau
- Un clip defender qui correspond au vaisseau du héro ;)
- Des sons associés aux actions de tirs et d'explosions des vaisseaux.
Le source qui suit est à mettre dans la première image du calque principal:
// Source écrit par -=Zac en Flash version 8.0 (ça marche peut-être en flash MX 2004...)
// 09/05/2007
// flash@zacland.net pour tout renseignement.
depth=0; // Variable pour gestion de profondeur
// Affectation des sons.
Snd_defenderExplose=new Sound();
Snd_defenderExplose.attachSound("explosion.wav");
Snd_alienExplose=new Sound();
Snd_alienExplose.attachSound("invaderkilled.wav");
Snd_inv01=new Sound();
Snd_inv01.attachSound("fastinvader1.wav");
Snd_inv02=new Sound();
Snd_inv02.attachSound("fastinvader4.wav");
Snd_defenderShoot=new Sound();
Snd_defenderShoot.attachSound("shoot.wav");
// On crée une instance du vaisseau du héro :P
defender=attachMovie("defender","defender", depth++,{_x:Stage.width/2, _y:Stage.height});
defender.vTir=1; // Vitesse du tir
defender.tir=false; // Y'a-t-il un tir déjà en cours ?
nb_alien=0; // Compteur d'aliens
// Boucle d'affichage des aliens
for(j=1;j<4;j++){
for(i=0;i<5;i++){
alien=attachMovie("alien","alien"+nb_alien, depth++,{_x:i*50+50, _y:j*50});
alien.vt=2; // Chaque alien a sa propre vitesse de déplacement (même s'ils ont tous la même ^^)
alien.h=true; // Les aliens vont vers la droite (false -> ils vont vers la gauche)
nb_alien++; // On incrémente le compteur pour le tableau
}
}
nb_alien0=nb_alien; // On sauvegarde le nombre d'aliens qu'on a au total
onEnterFrame=function(){
defender._x=_xmouse; // Le vaisseau suit le déplacement horizontal de la souris
defender._y=380; // L'abssice du vaisseau est toujours la même (le bas de l'écran)
txt_alien.text=nb_alien; // On affiche le nombre d'aliens restant
for(i=0;i<nb_alien0;i++){
cur_alien=_root["alien"+i]; // Sélection N° Alien
if(cur_alien.h==true){
cur_alien._x+=cur_alien.vt; // Depl vers la droite
} else {
cur_alien._x-=cur_alien.vt; // Depl vers la gauche
}
if(cur_alien._x>Stage.width-15){ // Si sort à droite
cur_alien._x=Stage.width-15; // Arrêt progression
cur_alien.h=!cur_alien.h; // Inversion du sens
cur_alien._y+=30; // On descend de 30 px
cur_alien.vt+=1; // On augmente la vitesse
}
if(cur_alien._x<15){ // Si on sort à gauche
cur_alien._x=15; // Arrêt progression
cur_alien.h=!cur_alien.h; // Inversion du sens
cur_alien._y+=30; // On descent de 30 px
cur_alien.vt+=1; // On augmente la vitesse
}
if(defender.tir=true){ // Si un tir est en cours
if(dBall._y>0){ // Si le tir ne sort pas de l'écran (en haut)
dBall._y-=defender.vTir; // Le tir avance d'un cran
} else { // Sinon
dBall.removeMovieClip(); // On enlève le clip du tir
defender.tir=false; // Il n'y a plus de tir en cours (sous entendu,
// le joueur peut tirer à nouveau)
}
}
if(cur_alien.hitTest(dBall)){ // Test de collision entre tir et alien (alien courant de la boucle)
cur_alien.vt=0; // L'alien s'arrête
dBall.removeMovieClip(); // On efface le tir
defender.tir=false; // Le joueur peut de nouveau tirer
nb_alien--; // Un alien en moins :P
Snd_alienExplose.start(); // On joue le son de l'explosion
cur_alien.gotoAndPlay(21); // On joue la séquence de l'alien qui explose (une instruction
// removeClip se trouve dans la dernière image de la séquence)
}
}
}
onMouseDown=function(){ // Lors de l'appui sur le bouton de la souris
if(defender.tir==false){ // Si un tir n'est pas déjà en cours
// On crée le tir à l'emplacement du vaisseau
dBall=attachMovie("dBall","dBall",depth++,{_x:defender._x, _y:defender._y});
Snd_defenderShoot.start(); // On joue le son qui va bien
defender.tir=true; // On interdi le joueur de pouvoir tirer à nouveau tant que le tir
// est toujours existant
}
}
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
cherche bon livre d'actionscript [ par flow38 ]
Salut, alors voial je voudrait connaitre votre avis sur le ou les meilleurs bouquins sur l'action script, je me suis forme jusqu'ici avec des tuto et
Bouton et Action Script [ par jscariot ]
Bonjour, J'ai une animation avec un bouton et du code actionscript. Je ne sais pas comment faire pour qu'une URL qui figure dans mon actionscript (AD
AU SECOURS !!!! Je débute dans l'actionscript [ par reac ]
Bonjour à tous, alors voilà, je tente de me mettre à l'action script avec le bouquin flash MX, mais c super GALÈRE !!!! En fait, j'aimerais savoir où
Action script ? [ par MarkASH ]
Bonjour,je suis nouveau,j'vais pas vous raconter ma life,mais j'aime travaillé sur flash.Je cherche le code as qui zoom + et qui zoom -Merci.
flash action script loadmovie [ par Groovygirl ]
Bonjour.je dois faire jouer 2 .swf ( dont je nai pas la source) un à la suite de l'autre.ma séquence 1: code sur le kframe 1.loadMovieNum("1
action script [ par moha007 ]
bonjour les amis !j'ai une animation .swf que j'aimerais mettre au mileu d'une autre animation, il s'agit d'un ecran pc qui affiche aleatoirement des
Création dynamique d'appli avec action script et XML [ par yosh ]
Bonjour à tous, Je boss actuellement sur un projet assez complexe consistant à créer dynamiquement une appli Flash à partir d'un fichier XML... Je vou
ScrollPane couleur (avec flash 8) [ par laetitia_82 ]
BonjourVoilà, j'ai retourné toutes les pages sur google pour trouver une réponse à ma question, et evidement je n'ai pas trouvé...Savez vous me dire s
Action script Comparaison URGENT [ par eroskod ]
Comment passer a lire une frame 2(par exemple), en une date précise: le 1/1/2006(par exemple).? MERCI d'avance&n
Faire tourné un objef sur elle-même dans un intervalle de temps précis en action script. [ par jzeel ]
Bonjour les amis,Je sais que je peux faire tourné un objet sur elle-même en faisant: 'motions tween' et ensuite je pren
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|