Quick article "Réaliser un jeu en Flash




 

Cette étape-par-étape va vous montrer comment faire un jeu en Flash rapidement et facilement

Cet article est destiné aux personnes qui commencent tout juste à utiliser les outils Flash pour créer des commandes interactives. Cet article va vous prendre à partir d'un document Flash vide pour un jeu d'action en quelques minutes, avec les choses compliquées a expliqué dans une langue de tous les jours que vous pouvez sauter dessus si vous voulez.

Alors sans plus tarder, laissez-nous motiver notre outil Flash préférées. De nombreux outils sont disponibles, je vais donc utiliser Macromedia Flash comme il est l'outil le plus universellement utilisé.

Je recommande Sothink SWF Quicker aux concepteurs en herbe de Flash pour créer des applications Flash et les films. Ce programme est comme un facile d'utiliser la version de Macromedia Flash, et j'ai utilisé cet outil polyvalent pour faire facilement une variété d'applications.

Préparer le terrain

Créez un nouveau document Flash (menu Fichier / Nouveau) et enregistrez-le sous jeu.fla. Il s'agit du dossier de conception qui contiendra la conception et le contenu de la partie.

Si vous êtes bloqué, n'importe où sur ce tutoriel, il ya un jeu.fla fini au bas de cette page qui peut être téléchargé pour voir ce que les choses devraient ressembler.

Modifiez les propriétés du document (menu Modifier / documents), de sorte que les dimensions sont 640 x 480 et pour que le taux de rafraîchissement est de 30 images par seconde. La couleur de fond est supposé être blanc.

Nous allons commencer par créer les 5 objets initiaux nécessaires pour rendre le jeu fonctionne.

Dessinez le vaisseau du joueur, l'étranger, projectile du joueur, le laser de l'étranger et une explosion sur la trame et la même couche.

Tourner à chaque dessin dans un clip avec son nom propre instance. Je vais vous expliquer ci-dessous plus en détail comment cela est fait. Plus de personnes avancées peuvent passer à la désignation des instances.

Comment transformer un dessin dans un clip:

1. Sélectionnez le dessin en traçant un cadre autour de lui.

2. Converti à un clip en allant dans le menu et puis cliquez sur Modifier ou Insérer fonction de la version Flash. Choisissez "Convertir en symbole". Sinon, vous pouvez utiliser le raccourci en appuyant sur F8.

3. Définir le comportement comme Movie Clip et choisir un nom approprié. Ce nom n'est pas le nom d'instance. Cliquez ici pour une illustration.

4. Sélectionnez le nouveau clip d'animation et dans le panneau des propriétés au bas définir le nom de l'instance à tout ce qui est nécessaire.

Les noms d'instance sont ci-dessous:

Le clip pour le vaisseau du joueur est appelé PlayerShip
Le clip pour l'étranger est appelé Alien
Le clip pour projectile, le joueur est appelé PlayerShotT
Le clip vidéo pour le laser de l'étranger est appelée AlienShotT
Le clip vidéo de l'explosion est appelé ExplosionT

Remarquez comment il ya un T à la fin de certains noms d'instance. C'est une commodité pour indiquer que les objets avec un T à la fin doivent être utilisées comme modèles pour des copies d'eux-mêmes. Cela sera expliqué plus tard.

Nous allons faire bouger les choses

Nous allons créer certains comportements de base de nos objets Clip prochain film.

Pour le moment le vaisseau du joueur n'est pas trop sensible. Nous allons changer cela.

Un clic gauche sur le vaisseau du joueur pour le sélectionner. Allez dans le panneau Actions au fond et entrez dans le code suivant dans la partie blanche à droite:

onClipEvent (enterFrame)
(
if (Key.isDown (Key.RIGHT)) (
/ / Ceci déplacera le joueur de 15 unités vers la droite
this._x = this._x + 15;
) Else if (Key.isDown (Key.LEFT)) (
/ / Ceci déplacera le joueur de 15 unités vers la gauche
this._x = this._x - 15;
)
)

Je vais vous donner quelques explications ci-dessous sur ce que ce code signifie. N'hésitez pas à passer directement de cette explication si vous ne voulez pas vous très impliqué dans ActionScript.

A bit about ActionScript:

onClipEvent (enterFrame) () Ce qui est fondamentalement un conteneur qui appelle une fonction. Ce conteneur contient le code à exécuter en son sein. La fonction n'est pas exécutée ou courir jusqu'à ce que quelque chose d'autre qu'il l'ait demandé. "OnClipEvent" est le nom de la fonction. Certains noms tels que "onClipEvent" sont réservés par Flash pour que certaines choses pour fonctionner correctement.

Le texte figurant entre les deux parenthèses "(" et ")" sont tous les paramètres qui sont passés à la fonction. Les paramètres sont passés de la source qui l'a exécutée. Il ne peut y avoir plus d'un exemple de paramètre "(var1, test2)". Ces paramètres peuvent généralement être utilisées dans la fonction. Paramètres seront décrits plus en détail ultérieurement.

Les commandes entre accolades "(" et ")" est le code réel au sein de la fonction qui est exécutée.

Des choses comme "this._x = this._x + 15;" sont appelés des déclarations. Des déclarations sont des morceaux de code qui dit quelque chose à faire autre chose. Il ya habituellement au plus une déclaration de chaque ligne. Chaque énoncé doit se terminer par ";" pour que Flash sait quand l'instruction se termine.

Les commentaires sont ignorés par Flash, mais aidez-le codeur de savoir ce que leur code fait. Les commentaires commencent par un "/ /" et continuer sur la ligne entière.

if (Key.isDown (Key.RIGHT)) () C'est ce qu'on appelle une instruction if. Il s'agit essentiellement d'un test pour voir si l'étoffe dans les crochets est vrai. Si l'étoffe est vrai, alors le code entre les accolades est exécuté.

else if (Key.isDown (Key.LEFT)) () Ce qui ne peut aller après le "if" ou une autre d'autre "if". Fondamentalement, si l'étoffe dans le test précédent est fausse, alors les trucs dans ce else "if" est testé. Si le test dans les tranches est vrai que le code à l'intérieur des accolades est exécuté.

Ce petit bout de code va vous permettre de déplacer le navire autour de gauche à droite. Aperçu de votre animation Flash (CTR-ENTRER) et essayez de déplacer le vaisseau avec les touches fléchées gauche et droite.

Le navire peut transporter en dehors des limites et nous devons donc ajouter à un peu plus de code pour limiter son déplacement.

Modifiez la ligne:

if (Key.isDown (Key.RIGHT)) (

à:

if (Key.isDown (Key.RIGHT) et this._x <640) (

De plus, modifiez la ligne:

) Else if (Key.isDown (Key.LEFT)) (

à:

) Else if (Key.isDown (Key.LEFT) et this._x> 0) (

Aperçu de votre animation à nouveau. Cette fois, le navire joueur devrait rester dans les limites.

Maintenant serait un grand temps de placer le vaisseau du joueur autour du fond de la scène, car il sera à la hausse de tir.

Le temps de respirer un peu de vie à l'étranger. Sélectionnez l'étranger et de mettre ce code dans le code ActionScript partie:

/ / ceci est déclenché lors du chargement du clip
onClipEvent (load)
(
xmove = random (15) - random (15); / / commentaires peuvent aussi aller après les déclarations
ymove = random (15) - random (15); / / Ceci définit la ymovement hasard
this._x = random (640) / / Permet de déterminer la position x et y au hasard
this._y = random (480);
)

/ / ceci est déclenché à chaque fois élaborer une nouvelle entrée, dans ce cas 30 fois par secondes
onClipEvent (enterFrame)
(
/ / permet de se déplacer autour de l'étranger
this._x = this._x + xmove;
this._y = this._y + ymove;

/ / rebond de l'étranger si elle est hors limites
if (this._x> 640) (xmove = Math.abs (xmove) * -1)
if (this._x <0) (xmove = Math.abs xmove ())
if (this._y> 480) (ymove = Math.abs (ymove) * -1)
if (this._y <0) (ymove = Math.abs (ymove))
)

Essayez de lancer le jeu maintenant. L'étranger doit choisir une direction aléatoire et de la vitesse et rebondissent autour de la scène.

Vous devez déplacer l'explosion, laser exotiques et projectile lecteur hors de la scène. C'est parce que ce sont les modèles qui seront copiés chaque fois que nécessaire et si il restera pendant toute la partie.

Le temps de donner notre navire certains armements offensifs.

Sélectionnez le cadre que vous travaillez po Cela devrait être le premier sur la gauche.

Allez dans le panneau Actions en bas et insérer le code suivant:

/ / Les commandes ci-dessous ce ne sera exécutée une fois sur ce cadre

/ / Cela va créer des tableaux qui stocke stuff essentiellement dans les emplacements numérotés
Explosions = new Array ();
BadShots = new Array ();
PlayerShots = new Array ();

/ / Il s'agit de créer des identifiants uniques
PShotID = 0;
BShotID = 0;
ExplosionID = 0;

/ / Il s'agit de créer la minuterie playershot, de sorte qu'il ne tire que lorsque vous êtes prêt
PShotTimer = 0;

/ / Celui-ci est nécessaire parce que chaque instance travaille sur ses propres "calque"
/ / Les cas ne peut pas être sur la même couche, d'où l'utilisation d'un identifiant unique
UniqueID = 10;

/ / Ceci est d'arrêter d'entrer dans le cadre suivant de notre timeline
stop ();
/ / Ce truc tourne 30 fois par seconde
this.onEnterFrame = function ()
(
/ / timer descend à chaque fois le cadre est entré de nouveau
if (PShotTimer> 0) (
- PShotTimer;
)

/ / test pour la clé de l'espace vers le bas
if (Key.isDown (Key.SPACE))
(
if (PShotTimer <1)
(
/ / incrémente l'ID unique et ID playershots
PShotID = PShotID + 1;
UniqueID UniqueID = + 1;

/ / boucle de retour à 1 si il ya beaucoup de plans existants
if (PShotID == 10) (PShotID = 1)

/ / exécuter la fonction de faire tourné
PlayerShots [PShotID] = MakeObject ( "PShot", PlayerShotT, UniqueID, PlayerShip._x, PlayerShip._y);
/ / Définit le compte à rebours pour que le joueur doit attendre 10 images avant de tirer à nouveau
PShotTimer = 10;
)
)
)

/ / fonction d'élaborer la distance entre les objets
md = function (x1, y1, x2, y2)
(
x = x1 - x2
Y = Y1 - Y2
var thing = Math.sqrt ((x * x) + (y * y))
if (chose == 0) (chose = 999)
return (chose);
)

/ / faire des instances ou des «copies» des modèles
MakeObject = function (InstName, gabarit, id, x, y)
(
/ / Créer variable temporaire
var temp;

/ / Assigne le nom
var name = InstName + id;

/ / créer nouvelle instance partir d'un modèle
var temp = template.duplicateMovieClip (nom, id);

/ / définissez ses coordonnées X et Y
setProperty (nom, _x, x);
setProperty (nom, _y, y);
/ / renvoyer l'objet à ce qui a appelé cette fonction
return temp;
)

Double-cliquez sur votre explosion que vous avez faite. Maintenant convertir à nouveau dans l'explosion d'un symbole et choisissez Graphic. Vous devriez maintenant avoir un graphique dans un MovieClip pour vos explosion.

Créer une animation à votre goût qui joue essentiellement sur l'explosion du début à la fin. Sur la dernière image, mettre ce code en:

this.onEnterFrame = function ()
(
this.removeMovieClip ();
)

Cela permettra d'éliminer l'explosion une fois qu'il termine son animation. Cliquez ici pour un exemple.

Ce ne sera pas cependant enlevé l'explosion initiale, seul l'instance. C'est pourquoi vous devez garder cet objet loin de la scène afin qu'il ne voit pas.

Retournez à votre scène en cliquant sur quelque chose le long des lignes de Scene1 en haut à gauche.

Sélectionnez le joueur projectile et insérez le code suivant:

/ / ceci est déclenché lors du chargement du clip
onClipEvent (load)
(
xmove = random (5) - random (5); / / commentaires peuvent aussi aller après les déclarations
ymove = (random (5) + 15) * -1; / / Ceci définit la ymovement hasard
)

/ / ceci est déclenché à chaque fois élaborer une nouvelle entrée, dans ce cas 30 fois par secondes
onClipEvent (enterFrame)
(
/ / permet de déplacer tir du joueur autour
this._x = this._x + xmove;
this._y = this._y + ymove;
/ / détruire cette si elle atteint le sommet
if (this._y <0) (this.removeMovieClip ();)

/ / test pour voir si cela se heurte à l'étranger
col = _root.md (_x, _y, _root.Alien._x, _root.Alien._y)

/ / Vous pouvez changer 40 à un autre numéro lorsque coups de feu semblent traverser
if (col <40)
(
/ / incrémente l'ID et crée une explosion
/ / notez que _root. est mis en avant
+ + _root.UniqueID
+ + _root.ExplosionID
_root.Explosions [_root.ExplosionID] = _root.MakeObject ( "Explosion", _root.ExplosionT, _root.UniqueID, _root.Alien._x, _root.Alien._y);

/ / "réinitialise" l'étranger
_root.Alien._x = random (640)
_root.Alien._y = random (480)
_root.Alien.xmove = random (15) - random (15); / / commentaires peuvent aussi aller après les déclarations
_root.Alien.ymove = random (15) - random (15); / / Ceci définit la ymovement hasard

/ / détruit cette instance
/ / Une fois l'instance est partie, aucune autre action peut être effectuée
this.removeMovieClip ();
)
)

Lancez le jeu dès maintenant et utilisez la barre d'espace pour tirer. En maintenant votre navire se déplace autour, les pousses et les coups jusqu'à l'étranger sur une frappe directe. Seul un couple plus de morceaux de code à gauche!

The Endgame

Ces étrangers ne viennent pas en paix, alors sélectionner l'étranger et insérer ce code en bas, mais avant la fin ")" accolade:

/ / ceci est d'obtenir l'étranger à feu au hasard
feu = random (20);

/ / une chance sur 20 de tirer toutes les images!
if (feu == 1)
(
_root.BShotID = _root.BShotID + 1;
_root.UniqueID = _root.UniqueID + 1;
/ / exécuter la fonction de faire tourné
_root.BadShots [_root.BShotID] = _root.MakeObject ( "BShot", _root.AlienShotT, _root.UniqueID, _root.Alien._x, _root.Alien._y);
)

Enfin, sélectionnez laser de l'étranger et ajoutez ce code:

/ / ceci est déclenché lors du chargement du clip
onClipEvent (load)
(
xmove = random (5) - random (5); / / commentaires peuvent aussi aller après les déclarations
ymove = (random (5) + 15); / / Ceci définit la ymovement hasard
)

/ / ceci est déclenché à chaque fois élaborer une nouvelle entrée, dans ce cas 30 fois par secondes
onClipEvent (enterFrame)
(
/ / permet de déplacer tir du joueur autour
this._x = this._x + xmove;
this._y = this._y + ymove;

/ / détruire cette si elle atteint le sommet
if (this._y> 480) (this.removeMovieClip ();)

/ / test pour voir si cela est entré en collision avec le joueur
col = _root.md (_x, _y, _root.PlayerShip._x, _root.PlayerShip._y)

/ / Vous pouvez changer 40 à un autre numéro lorsque coups de feu semblent traverser
if (col <25) (
/ / incrémente l'ID et crée une explosion
/ / notez que _root. est mis en avant
+ + _root.UniqueID
+ + _root.ExplosionID
_root.Explosions [_root.ExplosionID] = _root.MakeObject ( "Explosion", _root.ExplosionT, _root.UniqueID, _root.PlayerShip._x, _root.PlayerShip._y);

/ / "réinitialise" vaisseau du joueur
_root.PlayerShip._x = random (640)

/ / détruit cette instance
/ / Une fois l'instance est partie, aucune autre action peut être effectuée
this.removeMovieClip ();
)
)

Félicitations, vous avez maintenant un jeu fonctionnel! Bien sûr, cet article ne fait qu'effleurer la surface de ce qui est possible avec Flash.

Addicting jeux d'une certaine complexité peut être faite avec le merveilleux outil appelé flash, et comme votre premier aperçu de Flash game design, je l'espère, il a été agréable.

Quant à la marche à suivre, je suggère d'ajouter dans un joli fond d'une couche sous la couche actuelle de se débarrasser du blanc terne, et peut-être d'examiner certains des commentaires du code qui a été utilisé.

En tant que thankyou spéciale pour lire cet article, je te donne le source complet de jeu.fla, que vous pouvez utiliser les buts que vous voulez, privées ou commerciales. Vous devez néanmoins vous donner crédit à GameInnovator.com pour l'utilisation de toute partie de la source dans vos projets. Ce fichier flash a été fait avec Flash MX 2004.

Le source complet peut être téléchargé ici

J'espère que vous aurez plaisir à suivre ce guide autant que j'ai apprécié l'écrire.

Après avoir eu la chance de s'asseoir et d'absorber cet article, s'il vous plaît envoyez-nous vos commentaires et suggestions - Vos commentaires sont grandement appréciés.

Écrite par Damien D

 
World Of Warcraft: WOW!How To Make Money sur World of WarcraftRPG Jeux: Atteindre votre objectif avec succès par Role-Playing GameRoad to Riches in the World of Warcraft - Get the GoldCommencez à créer des jeux informatiquesDiscover The New Feeling jeux sur la Nintendo WiiSuper Mario Bros ManiaGod Of War 2 PreviewOnline Game rendre les gens acheter et jouerLa psychologie derrière Playing Online Jeux vidéoWorld of Warcraft ForgeComment acheter un compte World of Warcraft sur eBay, et pas d'être dupéTéléchargements PSPNintendo's Punch-OutAs It avec les jeux de golf sur Playstation 2Enfants et jeux vidéoDébutant Concept, Pro-Creation: jeux multijoueurs en ligneAcheter de l'or dans World of WarcraftPourquoi l'emplacement est essentiel pour trouver de jeux vidéo Tester JobsXbox 360 vs. Playsation 3

© 2007-2012 Geocitoyen.com