Você está na página 1de 7

I.

Le commencement

Pour commencer vrifier que la case Advanced mode est bien coch dans le menu file
e si il est recommand de dbuter en mode normal commencer par le mode avanc va vous
permettre de dcouvrir plus d actions et de possibilits et de toute faon mieux vaut co
mmencer tt que tard.
Le projet que nous allons raliser avec ce tutoriel est un casse-briques de 3 nive
aux. Pourquoi un casse-briques me direz-vous ? Tout simplement parce que le cass
e-brique est un jeu trs facile raliser et qu il va vous permettre de voir beaucoup d
e chose. Et surtout, par la suite vous pourrez l amliorer pour qu il soit encore mieu
x.
II. Vocabulaire

Pour commencer rien de mieux qu un peu de vocabulaire. Vous l aurez peut-tre remarqu m
ais dans le volet de gauche se trouve une arborescence de plusieurs dossiers : i
l s agit l de tous les lments qui vont composer le projet.
Le premier dossier nomm sprites est le dossier dans lequel vous allez ranger tout
es les images de jeu (hors arrire-plan), la plupart du temps ces images seront ce
lles d objets. Vous pourrez galement ranger dedans des animations.
Le second dossier nomm sounds est le dossier dans lequel vous rangerez tous les s
ons et musiques de jeu.
Le troisime dossier nomm background est le dossier dans lequel vous rangerez tous
les arrire-plans (background) et galement les tilesets (je reviendrai dessus un pe
u plus tard mais pour ce projet nous n en aurons pas besoin).
Le quatrime dossier nomm paths est le dossier dans lequel vous rangerez des trajet
s que certains objets pourront emprunter.
Le cinquime nomm scripts est le dossier dans lequel vous rangerez des scripts autr
ement dit des morceaux de code qui vous permettrons de faire plus de chose qu avec
les commandes classiques.
Le sixime nomm fonts est le dossier dans lequel vous aller enregistrer vos diffrent
s paramtres d criture de texte.
Le septime nomm time lines est le dossier dans lequel vous aller ranger des frises
chronologiques qui permettront de faire des actions certain moment du jeu.
Le huitime et sans doute le plus important nomm Object est le dossier dans lequel
va se trouver tous les objets qui composeront le jeu. Un objet est un lment qui exc
ute diffrentes commandes (dplacement, attaque, ) selon diffrentes conditions (appuie
sur une touche, ).
Le dernier nomm rooms est l endroit dans lequel seront stocks tous les niveaux compo
sant votre jeu (nous aurons donc 3 rooms)
III. Passons aux choses srieuses

Maintenant que les bases sont poses, il est temps de commencer notre projet !
Tout d abord nous allons rcuprer des sprites. Commencer par cliquer sur l icne en haut
dans la barre d outil avec une tte de pacman rouge (juste droite du Play de couleur
rouge), cette icne vous permet de rajouter des sprites. S affiche alors une petite
fentre cliquez sur load sprite pour rcuprer un sprite enregistr sur l ordinateur (
er que tous les sprites que nous utiliserons sont fourni avec le logiciel) allez
ensuite dans le dossier bouncing ball et rcuprer le fichier nomm ball_pinball ,
ider et vous verrez l image s afficher dans la fentre. Entrer un nom pour le sprite (
par exemple : ball)
Ajouter un autre sprite avec la mme mthode (rcuprer le fichier bat_large , aller ens
ite dans le dossier stones , et rcuprer le fichier stone_normal_red , retourner dan
le dossier sprites puis aller dans maze plateform pour rcuprer wall_block )
Nous avons donc 4 sprites dsormais, il est temps de crer des objets ! Cliquez sur
l icne en forme de sphre bleu.
Une nouvelle fentre apparait et il est temps de dfinir les quelques termes importa
nts :
Pour commencer vous pouvez changer le nom de l objet (le nom doit tre diffrent du no
m d autres ressources telles que les sprites)
Juste en dessous vous pouvez dfinir le sprite de l objet
Un peu plus bas vous pourrez rgler diffrent paramtre comme la visibilit de l objet (ce
rtain objet peuvent tre invisible), la solidit de l objet, la profondeur (depth) cel
le-ci permet de dterminer quand l objet sera crer (nous y reviendrons), et vous pouv
ez galement dire si votre objet est persistent , si c est le cas il restera dans tou
s les niveaux de jeu partir du niveau dans lequel il apparait (alors que les aut
res objets disparaitront au
prochain niveau)
Vous pouvez rgler galement l objet parent, c'est--dire l objet qui va transmettre l ob
actuel tous ces vnements
Au final vous pouvez changer le mask de l objet. Le mask est en fait la zone de co
llision de l objet, elle est dfinie avec le sprite mais vous pouvez trs bien utilise
r une zone d un autre sprite diffrent celui de l objet.
Le bouton show information vous montre un rcapitulatif de tous les paramtres de l ob
jet, et le bouton ok vous permet d enregistrer les modifications et de fermer la f
entre.
Commenons donc par rgler la balle : entrer le nom de l objet (le nom doit tre diffrent
de celui du sprite pour viter des bugs), choisissez le sprite de la balle, laiss
ez visible coch, solid dcoch et persistent dcoch galement, laissez la profondeur 0,
s besoin de rgler galement le parent et le mask.
Nous allons donc continuer, cliquer sur add event pour ajouter un vnement (event).
Un menu avec plusieurs type d event apparait, cliquer alors sur key press et slect
ionnez space , vous l aurez peut-tre compris cet event ne se dclenche uniquement lors
que le joueur appuie sur la barre espace.
Dans la liste de gauche est apparu votre event key press space, maintenant tous
se passe dans la liste de droite que nous allons remplir. Tout droite vous avez
peut-tre remarqu diffrent boutons et diffrents onglets, voici donc les actions princ
ipales qu un objet utilise trs souvent. Prenez le tout
premier icne avec les flches rouges dans toutes les directions faites le glisser d
ans la liste de droite un menu de rglage apparait. Vous allez rgler le mouvement d
e la balle, cliquer sur les 2 flches diagonales en haut et choisissez une vitesse
(je conseille la vitesse 4), laisser relative dcoch et
valider une action est apparu dans la liste, et dsormais lorsque vous appuierez s
ur espace la balle partiras avec une vitesse de 4 dans une des deux directions c
hoisi (sois diagonales haut gauche sois diagonale haut droite). Pour les curieux
qui se demandent quoi servent la case relative et les cases en haut de la fentre
, c est simple, ces-dernires en haut servent rgler qui s applique l action (par dfau
f autrement dit l objet qui possde l action) et la case relative sert rajouter un mou
vement au mouvement prcdent (la case relative correspond donc au +).
Fermer la fentre est ajouter un nouvel objet avec le sprite du mur, cochez la cas
e solid ce coup-ci, valider et retourner sur l objet de la balle, ajouter un event
, cliquer sur collision et slectionner l objet mur dans le premier onglet des actio
ns ajouter celle avec l icne de rebond (la dernire de la rubrique jump ), a precise
ectionnez precisely , valider et dsormais votre balle pourra rebondir contre les m
urs !
Reste un problme important, si vous testiez le jeu vous vous rendrez compte que c
haque pression du joueur sur le bouton espace la balle repartirez dans une des 2
diagonales vers le haut. Pour viter cela nous allons utiliser une variable (plus
prcisment une variable interrupteur). Ajouter un event et cliquer sur create (cet
event ne s excute que lorsque l objet est cr) aller dans l onglet des actions control
slectionner l icne carr avec VAR marqu dessus. Entrer alors le nom de votre variable
(attention certaines variables existe dj et vous ne pouvez rutiliser 2 fois le mme n
om sans crer de bug, de mme vous ne pouvez insrer de caractres spciaux, pour cette va
riable entrer le nom lancement par exemple (pour viter les bugs entrer le nom des
variables en franais car les variables existantes sont en anglais, attention tou
t de mme aux mots transparents)), remplacer ensuite la valeur de la variable par
false .
Aller ensuite dans l event key press space de l objet et rajouter avant l action de mo
uvement l icne hexagonale avec marqu VAR de l onglet control, dans le nom entrer le no
m de votre variable, dans le champ value entrer la valeur false , et valider. Mai
ntenant il faut modifier nouveau la variable,
ajouter donc une action de modification, entrer le nom de la variable et entrer
la valeur true . Cependant il y a encore un problme une condition (votre test de v
ariable en est une (si lancement = false alors )) ne s applique uniquement qu l action
qui la suit ou au block qui la suit. Pour que les 2 actions suivantes intervienn
ent uniquement si la condition est respecte nous allons insrer un dbut de block ava
nt ces 2 actions, pour cela utilisez la flche vers le haut dans la rubrique other
, utiliser maintenant la flche vers le bas que vous insrerez aprs les 2 actions afi
n de refermer le block.
Mais ce n est pas encore fini, il faut maintenant paramtrer notre raquette. Faites
un nouvel objet solide et permanent (en cochant donc persistent) avec le sprite
de la raquette, entrer un nom, et ajouter un event key press left a l intrieur ajou
ter un mouvement vers la gauche la vitesse souhait. Ajouter ensuite un event, cli
quer sur key release (touche relch) et choisissez left, ajouter un mouvement, cliq
uer alors sur le carre au centre et laisser la vitesse 0, de cette manire la raque
tte ne se dplacera gauche uniquement si vous maintenait la flche gauche enfonc. Rgle
r de la mme faon le mouvement vers la droite.
Ajouter un event collision avec la balle et ajouter une action rebond, rgler le p
recise sur precisely est en haut cocher la case other la place de self , de
manire le rebond ne s applique pas la raquette (self) mais aux autres objets conce
rns par l event (other), en l occurrence la balle. Ajouter un event create et aller d
ans l onglet score ajouter l icne carre grise avec un c ur (la premire de la rubriqu
es), dans les paramtres rgler le nombre de vie 3.
Afin que dsormais le joueur perde de la vie lorsqu il rate la balle, ajouter un eve
nt, cliquer sur other et slectionner no more lives (= plus assez de vie) et ajout
er ceci comme action :
Dans l onglet main2 ajouter l action avec la bulle (la premire de la rubrique info),
et entrer un texte comme Game over , il s agit du message que le joueur recevra.
Dans l onglet score ajouter l action avec une liste numrote comme icne (avant dernirede
la premire rubrique, attention celle qui n est pas barre), celle-ci permettra au jou
eurd enregistre son score si il a atteint un record. Ne changer pas les rglages et
laisser lesrglages par dfaut.
De nouveau dans main2 ajouter l action avec les 2 flches vertes en forme de cercles
(la
premire de la rubrique Game), celle-ci relancera le jeu depuis le dbut.
Aller dans l objet balle, ajouter un autre event, cliquer sur other et sur outside
room (= en dehors du niveau). Ajouter comme actions un mouvement nul (pas de vi
tesse, c'est--dire que la balle ne doit plus bouger), ajouter ensuite l action avec
une flche qui part d une croix et qui va vers une ampoule (la seconde de la rubriq
ue jump ), ajouter ensuite l action dans l onglet score avec un c ur dans un carre gris
et ajouter comme valeur -1 et cocher la case relative de cette manire le calcul s
uivant se produira : nombre de vie + (-1) = nombre de vie -1 Ajouter ensuite l act
ion de modification de variable, taper le nom de la variable de lancement (dans
l exemple lancement ) et mettez la valeur false.
Fermer en enregistrant les modifications, toutes les fentres d ouvertes. Cliquer en
suite sur la disquette dans la barre d outil en haut pour sauvegarder le jeu.
IV. Premier niveau et test du jeu

Bon, nous avons suffisamment d lments pour faire un premier niveau ! Cliquer sur l icne
de la barre d outil avec un carre blanc (juste cot de celle de l objet), une nouvelle
fentre apparait mettez la en taille maximale en cliquant sur l icne carre de la fentr
e, gauche se trouve le volet de paramtrage, cliquer sur l onglet settings et change
r le nom de la room (remplacer le par exemple par niveau_1, attention aucun espa
ce), la ligne en dessous permet d afficher un texte sur le haut de la fentre, le re
ste est pour l instant rgler par dfaut et mieux vaut ne pas le toucher. Revenez sur
l onglet objet, cliquer sur la grande zone qui est apparu pour voir un menu appara
itre slectionner alors l objet mur, cliquer ensuite sur la room (zone avec le quadr
illage) l endroit ou vous voulez le placez, pour le moment placez un mur tout auto
ur du niveau (pour insrer plusieurs objets en maintenant cliquer maintenait MAJ e
nfonc), laissez tout de mme aucun mur sur le bas. Si jamais vous vous trompez util
iser le clic droit pour effacer un objet. Slectionnez maintenant l objet de la raqu
ette placez la sur le troisime carreau en partant du bas le plus centr possible, p
osez maintenant la boule au centre de la raquette. Valider et fermer la fentre.
Il est temps de tester, cliquer sur le Play de couleur verte en haut dans la bar
re d outil (nous verrons quoi sert le rouge un peu plus tard), le jeu s ouvre et vot
re boule est pose sur la raquette.
Pour commencer bouger la raquette vers la gauche et la droite, vous remarquerez
que la boule ne suit pas, il va falloir le rgler ! Appuyez sur espace pour lancer
la boule, attendez que la boule redescende et appuyez de nouveau sur espace, le
mouvement ne change pas, vous avez galement
constat que la boule rebondissait contre un mur ou contre votre raquette. Faites
exprs de laisser la boule vous chapper 3 fois ( chaque fois elle reviendra sa posit
ion initiale et vous pourrez la relancer avec espace) vous verrez alors s afficher
votre message de Game over, les meilleurs scores et le jeu redmarrera. Appuyez s
ur echap pour fermer le jeu et retourner sur sa cration.
Avant de poursuivre nous allons voir quoi sert le fameux Play rouge, cliquer des
sus pour lancer le jeu en mode debug une autre fentre est apparu, il s agit de la f
entre de debug, vous pouvez avec les icones de gauche droite : reprendre le jeu,
mettre le jeu en pause, avancer le jeu d une seul frame (une seul image, 30 images
= 1 seconde), redmarrer le jeu, arrter le jeu, ajouter une variable/expression, c
hanger la valeur de la variable/expression, effacer l affichage de la variable/exp
ression, effacez toutes les variables/expressions de la fentre. Vous l aurez compri
s avec
cette fentre vous allez pouvoir voir vos variable, si jamais il y a un bug, ajout
er donc la variable suivante : .
Voil donc qu il va vous falloir retenir le nom des objets et des variables. Si vous
avez russi la variable sera la valeur 0 (=false) et 1 (=true) lorsque la balle s
era en mouvement. Cliquer maintenant sur le menu Tools , cliquer ensuite sur show
local variable , entrer le nom de la boule et vous verrez une nouvelle fentre dan
s lequel va s afficher en temps rel toutes les variables (celle que vous aves progr
ammer et celle qui existe dj) dedans. Fermer cette petite fentre retourner dans too
ls et cliquer sur show global variable , vous verrez alors dans cette nouvelle fe
ntre toutes les variables globales du jeu : une variable globale est une variable
qui s applique aucun objet et qui ne change pas avec les niveaux (vous trouverez
dedans par exemple les vies).
Nous verrons plus tard comment crer ces variables globales, fermez le jeu.
V. Correction

Vous l auriez compris, ce n est pas encore a ! Corrigeons donc ces quelques problmes q
ue nous avons constats, retournons dans l objet raquette et dans l event create, le n
ombre de vie est dfinie mais le joueur ne peux pas le voir, aller dans l onglet sco
re et ajouter la dernire action, show lives changer don t show par show , val
Retournons prsent dans la balle, de la mme manire que pour la raquette paramtrer le
mouvement droite et gauche la mme vitesse que pour la raquette, ajouter juste dan
s les event key press (left & right) au tout dbut un test variable et testez la v
ariable de lancement de faon ce que sa valeur soit gale false.
Egalement, aller dans l objet de la balle et dans l event outside room , juste aprs j
mp to start , ajouter une autre action jump to start et cocher en haut la case Ob
ject la place de self et slectionnez l objet raquette, de cette manire, lorsque la b
alle sort elle revient sa position initiale tout comme la raquette.
Testez prsent le jeu pour constater les changements (les vies et le scores s affich
es sur le haut de la fentre, c est un Windows caption ).
Facultatif : la place de montrer les vies dans le bord de fentre (car elle ne ser
ont plus visible en plein cran) mettez dans l action concern don t show partout y com
ris au score, ajouter un event draw sur un nouvel objet permanent et ajouter l act
ion avec un c ur sur fon orange/marron et idem pour le score (l icne de score est 3 b
oules jaunes), rgler la position x (horizontale en pixel) et y (verticale en pixe
l) o vous voulez que le score et les vies s affichent (afin de mieux reprer des endr
oits, aller dans une room et regarder la grille, chaque carreau mesure 16 par 16
pixels, de plus positionnez la souris un endroit pour que les positions x et y
s affichent en bas, attention cette dernire ne fonctionne pas par pixels mais par 1
6 pixels, soit un carreau).
VI. Nouveaux lments

Il est maintenant temps de s attaquer un nouvel objet, l objet de la brique, attribu


ez le nom, cochez la case solid, et ajouter un event collision avec la balle, aj
outer une action rebond que vous appliquerez aux autres objets (other) et qui se
ra prcis (precisely). Ajoutez ensuite l action de l onglet
score avec les 3 balles jaunes sur fond gris (dans un carre) et ajouter 10 dans l
a valeur et cocher relative . De cette manire pour chaque brique dtruite le joueur
gagne 10 points de score.
Ajouter maintenant l action dans l onglet main1 avec l icne de la corbeille, il s agit de
l action instance destroy . Valider sans changer l application. Aller dans la room d
u premier niveau et positionnez quelques briques dedans, valider et tester votre
casse-brique. C est dj mieux !
Il est temps d apporter des modifications, ajouter un sprite, rcuprer l image (dans le
dossier bouncing ball puis stones) nomme stone_damaged3_red , aller maintenant da
ns l objet de la brique ajouter une event create dans lequel vous ajouterez une mo
dification de variable, donnez lui un nom (par exemple casse ) et rgler la valeur
0.
Allez maintenant dans l event collision avec la balle, et ajouter cela :
Au dbut ajouter une modification de variable avec le nom de la variable (ici cass
e ) et changer la valeur par 1 en cochant la case relative.
Ajouter juste aprs un test variable qui dit : si casse = 1
Ajouter un dbut de block
Ajouter une modification de score avec comme valeur 5 et relative coche
Ajouter l action avec l icne de sprite de l onglet main1 et slectionnez le sprite de la
brique endommage
Ajouter la fin de block
Ajouter un nouveau test de variable qui dit : si casse = 2
Ajouter un dbut de block
Placer ici l instance destroy, et la modification de score de +10 points
Ajouter la fin de block
Le reste des actions se place au dbut avant la modification de variable
Testez le jeu et vous vous apercevrez qu il faut dsormais taper 2 fois chaque briqu
e pour qu elles se dtruisent.
Ajoutons maintenant de la musique : cliquer sur l icne du haut-parleur et sur load
sound dans la fentre rcuprer le fichier nomm music dans le dossier tutorial1 , d
our sur la fentre cliquer sur background music et valider (le reste des options n e
st disponible qu ne version pro).
Aller dans l objet raquette et dans l event create, ajouter l action dans main1 et cli
quer sur l icne du haut-parleur (en forme de carre), slectionner la musique et rgler
oop sur true , de cette manire la musique se lira en boucle.
Testez le jeu, ce n est probablement pas la meilleur musique mais pour ce tutoriel
elle suffira.
Manque plus, qu un jolie arrire plan, cliquer sur l icne d image de la barre d outil puis
sur load background choisissez votre arrire-plan et valider, aller dans la room,
puis sur l onglet background vous verrez vers le bas un endroit avec marqu no backg
round cliquer dessus et choisissez votre
arrire-plan. Vous pouvez dfinir jusqu 8 arrire plan par room. Les 3 dernires cases
her permettent dans l ordre : de dupliquer l arrire plan de manire horizontale, de dup
liquer l arrire plan de manire verticale, d tirer le background pour qu il prenne les di
ensions de la room.
Testez le jeu et vous constaterez que c est mieux que le fond tout gris de base.
VII. Un nouveau niveau !

Paramtrer maintenant une seconde room, ajouter les murs, les briques et la balle
au mme endroit que dans le prcdent niveau (la raquette tant permanente est automatiq
uement dplac sur les rooms suivantes). Rgler le background et fermez.
Aller dsormais dans l objet balle, dans l event create ajouter un jump to position ju
ste avant jump to start , rgler les coordonnes de bases de la raquette (celle qui c
orrespondent aux coordonnes de la raquette dans le premier niveau) et changer l app
lication en le remplaant par Object : raquette.
Crer un nouvel objet, cocher la case persistent et ne lui donner pas de sprite (o
u si vous tenez ce qu il en est un dcochez la case visible) ajouter un event, cliqu
er sur step et slectionner de nouveau step. Cet event se ralise chaque tape du jeu,
une tape dure quelques frames (moins de 1
secondes) et correspond approximativement l actualisation du jeu, cet event s excute
donc en permanence (ou presque mais vous vous croirez qu il s excute en permanence).
Ajouter l action dans l onglet control avec l icne de l objet et les chiffres dessous (il
s agit de la quatrime) il s agit de l action test instance count (= test du nombre d
tances) slectionner l objet de la brique et laisser le reste des paramtres, validez.
Vous venez de paramtrer une nouvelle type de condition (celle-ci se lit : si le
nombre de briques = 0). De la mme manire il va falloir insrer un block. Faites le (
insrer le dbut et la fin) et aller dans l onglet main1 ajouter la seconde action de
la rubrique rooms.
Choisissez si vous le souhaiter un effet dans les paramtres de l action.
Placez ce nouvel objet dans la premire room, et testez le jeu, lorsque toute les
briques seront dtruites vous accderez au niveau suivant.
VIII. Le dernier niveau

Vous l aurez compris crez une nouvelle room et ajouter des briques. Retournez dans
l objet invisible qui permet de changer de niveau, vous l aurez peut-tre remarqu si vo
us terminer le second niveau une erreur apparait en disant qu il n y a pas de room e
xistante aprs celle-ci, dornavant cela ne produira qu au troisime niveau, aller dans
le seul event existant (step) et rajouter au dbut du block la dernire action de l on
glet main1 (il s agit s une condition donc rajouter un dbut et fin de block englobant
l action aller la room suivante) aprs le block de cette seconde condition ajoutez
l action else de l onglet control (il y a marqu else sur l icne), cette action et l inver
e de la condition prcdente (else = sinon). Autrement dit la condition se lit dsorma
is comme ceci : si il y a une room aprs, , sinon
Les trois petits points correspondent aux actions excutes.
Rajouter aprs le else une action d affichage message avec comme message quelque cho
se comme bravo ! , puis ajouter l action d affichage des meilleurs scores, puis ajout
er l action de redmarrage du jeu.
a devrait donner ceci :
Si le nombre de briques = 0, alors,
Start block
S il y a une room aprs, alors,
Start block
Aller la room suivante
End block
Else
Message : bravo !
Affichage des meilleurs scores
Redmarrage du jeu
End block

Testez votre jeu et lorsque vous terminerez le dernier niveau votre message s affi
chera, vous pourrez peut-tre enregistrer un meilleur score et le jeu redmarrera.

Você também pode gostar