AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment :
(CDAV) Foire aux vins : -20% dès 99€ ...
Voir le deal

 

 Tutoriel : Programmer un Bomberman !

Aller en bas 
+5
notiz85
edi9999
Pepsy
M@d_Doc
glitch
9 participants
Aller à la page : 1, 2  Suivant
AuteurMessage
Invité
Invité




Tutoriel : Programmer un Bomberman ! Empty
MessageSujet: Tutoriel : Programmer un Bomberman !   Tutoriel : Programmer un Bomberman ! EmptyMar 10 Juil 2007 - 22:43

J'ai hésité plusieurs fois à faire ce tutoriel, mais je me dis que ça peut être un apprentissage sympa pour GM et qui change du casse-brique.

Cependant, il ne vaut peut être pas mieux commencer par ce tutoriel, car il reste plus compliqué que d'autres, donc n'y touchez que lorsque vous comprenez les bases de GM.

Pour commencer la programmation du moteur, il vous faudra différents sprites : le bomberman (les 4 directions), un sprite de bombe animé (elle explosera à la fin de l'animation), un sprite d'explosion, de mur (le bloc incassable), et de rocher ou autre (le bloc cassable).

Je vous ai réunis les sprites nécessaires dans un petit gm6.
>>Cliquez ici pour le télécharger<<

Maintenant que vous avez les sprites, c'est parti pour la programmation.
Commencez par créer l'objet le plus simple : le mur.
Assignez lui son sprite, et cochez la case "Solid".
Tutoriel : Programmer un Bomberman ! Tutobomber1sc9

Ensuite, nous allons programmer le personnage. Créez donc un nouvel objet, et mettez lui son sprite initial, n'importe lequel, vers le bas ou la droite par exemple.
Dans l'event "Create" Event - Create
Déposez l'icône "Execute a piece of code", qui se trouve dans l'onglet control et qui représente une petite feuille, puis entrez ce code :
Tutoriel : Programmer un Bomberman ! Tutobomber2vr4

Explication : "image_speed" est le nom de la variable qui contient la vitesse d'animation de l'objet. La vitesse de la room est de 30, si on laisse 1 comme valeur de l'image_speed, le sprite sera animé à 30 images par seconde, donc c'est un peu trop rapide :gniah:
Dans l'éditeur de sprite, j'ai regardé la vitesse qui me convenait, c'était 5, et comme 5 représente 1/6ème de 30, je mets image_speed=1/6 :-D
Vous pouvez adapter la valeur, et n'etes pas obligé de mettre une fraction, vous pouvez mettre "0.5" par exemple. Choisissez la vitesse d'animation qui vous convient.

Ensuite, dans l'event "Step" Event - Step
Un autre "Execute a piece of code"
Et cette fois ci nous allons faire du vrai code :-D

J'explique avant ce que nous allons utiliser :
keyboard_check(code_touche) : retourne vrai si la touche est préssée, faux dans le cas contraire.
sprite_index : sprite actuel de l'objet
image_index : sous image actuelle de l'objet
x : position en x de l'objet
y : position en y de l'objet

Voilà les variables que vous devez connaître :-D
Maintenant je vais vous donner le code, mais avec des explications (lisez les bien sinon vous n'aurez rien appris ! gnii )
Code:

{
if not keyboard_check(vk_right) and not keyboard_check(vk_left) and not keyboard_check(vk_down) and not keyboard_check(vk_up)
image_index=1
//si aucune fleche de direction n'est préssée, la sous image affichée est la numéro 1
if keyboard_check(vk_left)
{sprite_index=spr_bomberman_left if place_free(x-4,y) x=x-4}
//si la touche gauche est préssée
//le sprite affiché est celui de la gauche, et s'il y a de la place à gauche, on y va
if keyboard_check(vk_right)
{sprite_index=spr_bomberman_right if place_free(x+4,y) x=x+4}
//si la touche gauche est préssée
//le sprite affiché est celui de la gauche, et s'il y a de la place à gauche, on y va
if keyboard_check(vk_up)
{sprite_index=spr_bomberman_up if place_free(x,y-4) y=y-4}
//si la touche gauche est préssée
//le sprite affiché est celui de la gauche, et s'il y a de la place à gauche, on y va
if keyboard_check(vk_down)
{sprite_index=spr_bomberman_down if place_free(x,y+4) y=y+4}
//si la touche gauche est préssée
//le sprite affiché est celui de la gauche, et s'il y a de la place à gauche, on y va
}

Vous pourrez bientôt regarder la marche de votre petit bomberman.
Mais il y a encore un problème, les collisions ne sont pas du tout au point, vous pouvez l'essayer si vous voulez, il se coincera partout !
La solution pour cela ? Modifier les origines, et ajouter un masque !

Ouvrez les différents sprites du bomberman, et mettez l'origine vers le bas, entre les jambes, au niveau de ses pieds si vous le voulez.
Vous ne comprenez peut être pas encore très bien, mais tout sera bientôt très clair harpe

Tutoriel : Programmer un Bomberman ! Tutobomber3ij2

Créer un nouveau sprite, qui servira de masque. Vous tracerez une petite ellipse couchée, et metterez son origine au centre.

Tutoriel : Programmer un Bomberman ! Tutobomber4mo2

Ensuite, mettez ce petit sprite comme masque pour l'objet bomberman, puis vous pouvez créer une room, et déposer les murs et le petit personnage, normalement tout marchera bien tord Si les sprites sont décalés, que ça ne vous convient pas, ajustez les origines comme bon vous semble.

Tutoriel : Programmer un Bomberman ! Tutobomber5it9Tutoriel : Programmer un Bomberman ! Tutobomber6ys1

Maintenant, nous allons commencer à programmer les bombes. C'est la phase la plus délicate héhé noel
Vous allez créer les 3 objets nécessaires tout de suite :
objet rocher, qui est solide, vous lui assignez son sprite.
objet explosion, pareil, son sprite... mais pas solide !
et enfin, l'objet bombe (vous savez quoi ? vous lui assignez son sprite :nezrouge: )

Ouvrez l'objet rocher, et mettez dans l'event "Collision avec l'objet explosion" Event - Collision le code (un execute a piece of code pour ceux qui n'auraient pas compris)
Code:
instance_destroy()
Ainsi, lorsque le rocher entrera en contact avec l'explosion, il se détruira.

On fait dans l'ordre du plus simple au plus compliqué, donc, après avoir ouvert l'objet rocher, ouvrez l'objet explosion. Si vous vous servez des sprites que j'ai donné, vous remarquerez que le sprite de l'explosion est plus grand qu'un mur, alors que dans les vrais bomberman, il fait la taille du mur noel Donc pour éviter des collisions non voulues, mettez lui comme masque le sprite du mur.
Ensuite, si vous réfléchissez un peu, comme le sprite est plus grand, mais que l'origine du masque et celle de l'explosion sont à 0, l'explosion sera un peu... décalée. Pour cela, changez l'origine du sprite d'explosion, en situant dans votre tête où se trouve l'origine du sprite mur par rapport à celui ci. Si vous utilisez le sprite donné et que vous ne voulez pas réfléchir, entrez comme coordonnées : 2,15.

Comme pour le personnage, nous allons ajuster la vitesse d'animation de l'explosion. Ouvrez l'event create Event - Create , et entrez le code
Code:
image_speed=2/3
C'est encore une valeur donnée, vous pouvez la modifier à votre bon vouloir, mais je vous montre qu'on peut l'utiliser plutôt que de dupliquer des frames dans l'édition des sprites, et prendre du poids inutilement.

Ouvrez l'event "Animation End" , et saisissez le code pour détruire l'objet. Si si, souvenez vous, vous l'avez déjà utilisé pour le rocher !

Maintenant, attaquons l'objet bombe, le plus coriace diable

Comme d'hab, vous pouvez régler la vitesse d'animation dans l'event create (moi je mets 2/30 comme valeur), je crois qu'à présent vous savez comment on fait :gniah:
Ajoutez aussi ce code :
Code:
move_snap(15,15)
Move_snap(hsnap,vsnap) est une fonction qui déplace automatiquement l'objet sur une grille dont les cases mesurent 15 sur 15. C'est à dire que si cet objet se trouve en 47;160, il sera automatiquement déplacé en 45;165. Nous l'utilisons ici pour que la bombe ne se trouve pas en décalé.

Dans bomberman, les bombes sont solides, on ne peut pas les traverser.
Seulement, si vous la mettez solide directement, elle bloquera bomberman, puisqu'il la posera où il se trouve. Pour éviter cela, ouvrez l'event step, un execute a piece of code :
Tutoriel : Programmer un Bomberman ! Tutobomber7bb6

Ouvrez l'event animation end, et mettez-y le code "instance_destroy()" pour que la bombe se détruise à la fin de son animation.

Maintenant, le plus compliqué. Cliquez sur l'icône de feuille avec une petite flèche verte en haut pour créer un nouveau script, que vous appellerez "scr_explosion".
Ce script servira à produire une explosion à une coordonnée indiquée par la bombe, l'argument0 sera l'axe x et l'argument1 l'axe y. Dans bomberman, la bombe a une certaine portée d'explosion, pour nous ce sera tout le temps 3. S'il y a de la place à la gauche de la bombe, elle crée une explosion. Elle peut en créer 3 sur sa gauche, toujours un peu plus loin.
Mais si il y a un mur à sa gauche par exemple, elle ne va pas créer d'explosion de l'autre côté du mur ! (je sais c'est pas très clair ce que je dis :gniah: )

Tutoriel : Programmer un Bomberman ! Tutobomber8js8
Copiez le code sur l'image ci-dessus, il signifie à peu près :

Code:
Si can_explode=faux "on annule"
s'il y a de la place en x,y (argument0 et 1), on crée une explosion en x,y
autrement
{
s'il y a un mur en x,y
{can_explode=faux "on annule"}
s'il y a un rocher en x,y
{on crée une explosion en x,y can_explode=faux "on annule" (mais en fait heu lol c'est plutôt inutile le exit à la fin) }}

ouvrez maintenant l'event destroy de votre objet bombe, et déposez un "execute a piece of code".

Au début, vous initialisez la variable :
"can_explode=true"

Ensuite, vous faites une explosion où se trouve la bombe
"instance create(x,y,obj_explosion)"

Ensuite, on va se servir du script crée, on tente les explosions sur la gauche :
"scr_explosion(x-15,y)
scr_explosion(x-30,y)
scr_explosion(x-45,y)"

vous remettez "can_explode=true" et on tente les explosions sur la droite:
"can_explode=true
scr_explosion(x+15,y)
scr_explosion(x+30,y)
scr_explosion(x+45,y)"

pareil pour haut et bas :
"can_explode=true
scr_explosion(x,y-15)
scr_explosion(x,y-30)
scr_explosion(x,y-45)

can_explode=true
scr_explosion(x,y+15)
scr_explosion(x,y+30)
scr_explosion(x,y+45)"

Ajoutez dans l'event step de l'objet bomberman ce script :
Code:

if keyboard_check(vk_space) && instance_number(obj_bombe)=0
instance_create(x-6.5,y-6.5,obj_bombe)

Le -6.5, c'est pour que la bombe soit crée au bon endroit, vous ajusterez le petit décalage, pour qu'elle se trouve au bon endroit happy1

Lancez le jeu et appuyez sur espace, vous pouvez normalement poser des bombes à présent ! tord

Voilà, vous avez votre base de bomberman, maintenant c'est à vous de rajouter les collisions avec le perso, de créer des ennemis, d'ajouter les bonus permettants de poser plusieurs bombes, etc...

Voici un gm6 un peu plus avancé, avec un ennemi basique :
http://www.zshare.net/download/4996544455751e/


Dernière édition par le Dim 18 Nov 2007 - 21:15, édité 5 fois
Revenir en haut Aller en bas
glitch
Utilisateur confirmé: Rang ****
glitch


Messages : 1219
Localisation : quelque par sur la terre
Projet Actuel : The mercenaries's world

Tutoriel : Programmer un Bomberman ! Empty
MessageSujet: Re: Tutoriel : Programmer un Bomberman !   Tutoriel : Programmer un Bomberman ! EmptyMar 10 Juil 2007 - 22:49

eh c'est pas mal dis donc,j'ai pas pu tous regarder mais c'est pas mal.

_________________
Serait-ce un schtroumpf ou bien Elvis Presley?

Tutoriel : Programmer un Bomberman ! Image510
Pour connaître la réponse,cliquez ici

"Dieu a crée l'homme pour que l'homme crée internet"
Revenir en haut Aller en bas
Invité
Invité




Tutoriel : Programmer un Bomberman ! Empty
MessageSujet: Re: Tutoriel : Programmer un Bomberman !   Tutoriel : Programmer un Bomberman ! EmptyMar 10 Juil 2007 - 22:51

C'est pas fini noel
mais en fait ça fait trois fois que je commence ce post, puis je m'arrête, je me dis que j'aurais pas le courage d'expliquer les origines et tout...
Alors je me suis dit que j'allais pas expliquer en détail, faire simple, mais comme ça, ça ira plus vite et je le finirais noel
Revenir en haut Aller en bas
glitch
Utilisateur confirmé: Rang ****
glitch


Messages : 1219
Localisation : quelque par sur la terre
Projet Actuel : The mercenaries's world

Tutoriel : Programmer un Bomberman ! Empty
MessageSujet: Re: Tutoriel : Programmer un Bomberman !   Tutoriel : Programmer un Bomberman ! EmptyMar 10 Juil 2007 - 22:53

oui je sais j'ai vu.
Ce qui est bien c'est que c'est comme tu l'as dis simple et propre,donc on peut pas s'y perdre.

_________________
Serait-ce un schtroumpf ou bien Elvis Presley?

Tutoriel : Programmer un Bomberman ! Image510
Pour connaître la réponse,cliquez ici

"Dieu a crée l'homme pour que l'homme crée internet"
Revenir en haut Aller en bas
M@d_Doc
Modérateur
M@d_Doc


Messages : 6600
Localisation : 47°44'8.04
Projet Actuel : aucun

Tutoriel : Programmer un Bomberman ! Empty
MessageSujet: Re: Tutoriel : Programmer un Bomberman !   Tutoriel : Programmer un Bomberman ! EmptyMar 10 Juil 2007 - 23:10

très bien le début! continue comme ça, et on aura ENFIN des bombermans à la place des casse-briques sur le site...
(je rêve, là : on détrone pas casse brique coeur )

_________________
Tutoriel : Programmer un Bomberman ! Control_commentTous les icones de gm utilisables sur le cbna ICI Tutoriel : Programmer un Bomberman ! Main1_change_sprite
Revenir en haut Aller en bas
http://www.lecbna.org
Pepsy
Utilisateur confirmé: Rang ***
Pepsy


Messages : 608
Localisation : Devant mon ordinateur à écrire des lignes de codes
Projet Actuel : RPG

Tutoriel : Programmer un Bomberman ! Empty
MessageSujet: Re: Tutoriel : Programmer un Bomberman !   Tutoriel : Programmer un Bomberman ! EmptyMer 11 Juil 2007 - 0:11

bonne idée, le temp du casse brique et revolue

diable guns VIVE LA REVOLUTION guns diable


:p_lol:

_________________
TI DESSIN v0.7
Revenir en haut Aller en bas
http://creation-pepsy.ifrance.com
edi9999
Utilisateur confirmé: Rang *****
edi9999


Messages : 2480
Localisation : France
Projet Actuel : theatre flashy

Tutoriel : Programmer un Bomberman ! Empty
MessageSujet: Re: Tutoriel : Programmer un Bomberman !   Tutoriel : Programmer un Bomberman ! EmptyMar 17 Juil 2007 - 12:42

Le temps du casse brique sera révolue quand le mien sera fini

_________________
Mes tutos sur le site: -Tutoriel débutant- Tutoriel intermédiaire
Venez sur http://gameplay.c.la pour des tutos sur mon site.
Utilisez des hébérgeurs gratuits et sans temps d'attente!:
http://willhostforfood.com/
Revenir en haut Aller en bas
http://gameplay.c.la/
edi9999
Utilisateur confirmé: Rang *****
edi9999


Messages : 2480
Localisation : France
Projet Actuel : theatre flashy

Tutoriel : Programmer un Bomberman ! Empty
MessageSujet: Re: Tutoriel : Programmer un Bomberman !   Tutoriel : Programmer un Bomberman ! EmptyVen 2 Nov 2007 - 10:39

Tu comptes encore le terminer ou est ce que je pourais le continuer stp ? prototyp

_________________
Mes tutos sur le site: -Tutoriel débutant- Tutoriel intermédiaire
Venez sur http://gameplay.c.la pour des tutos sur mon site.
Utilisez des hébérgeurs gratuits et sans temps d'attente!:
http://willhostforfood.com/
Revenir en haut Aller en bas
http://gameplay.c.la/
Invité
Invité




Tutoriel : Programmer un Bomberman ! Empty
MessageSujet: Re: Tutoriel : Programmer un Bomberman !   Tutoriel : Programmer un Bomberman ! EmptyVen 2 Nov 2007 - 10:54

Ah, ben comme tu veux, en fait il reste la destruction des rochers en touchant une bombe, et qu'on meure en touchant une explosion, +faire un ennemi. J'avais fait les deux premiers mais pour l'ennemi qui se déplace sur une grille j'ai eu un peu de mal =/
je peux te passer le gm6 si ça t'intéresse de le continuer...
Revenir en haut Aller en bas
edi9999
Utilisateur confirmé: Rang *****
edi9999


Messages : 2480
Localisation : France
Projet Actuel : theatre flashy

Tutoriel : Programmer un Bomberman ! Empty
MessageSujet: Re: Tutoriel : Programmer un Bomberman !   Tutoriel : Programmer un Bomberman ! EmptyVen 2 Nov 2007 - 10:59

Oui j aimerais bien le continuer :p_merci:
Tu peux m envoyer le gm6 par mp
Sinon en plus de tes ajouts je pensais carrément a ajouter des items (comme dans le vrai jeu) au moins bomb up (pouvoir poser plusieurs bombes),fire up(une plus grande portée),et speed up (une plus grande vitesse).

_________________
Mes tutos sur le site: -Tutoriel débutant- Tutoriel intermédiaire
Venez sur http://gameplay.c.la pour des tutos sur mon site.
Utilisez des hébérgeurs gratuits et sans temps d'attente!:
http://willhostforfood.com/
Revenir en haut Aller en bas
http://gameplay.c.la/
notiz85
Utilisateur confirmé: Rang *****
notiz85


Messages : 2004
Localisation : Vendée
Projet Actuel : Moteur d'ombre pour un projet plateforme 2D...

Tutoriel : Programmer un Bomberman ! Empty
MessageSujet: Re: Tutoriel : Programmer un Bomberman !   Tutoriel : Programmer un Bomberman ! EmptyVen 2 Nov 2007 - 11:08

Fallait y penser c'est vrai que ca change bien des Casses-Briques...
J'ai pas eu le temps de le lire par contre... Plus tard...
Mais après les bonus c'est pas compliquer tant que tu as fait le "moteur" puis
qu'il s'agit d'augmenter une variable...

_________________
Tutoriel : Programmer un Bomberman ! 577128485
Revenir en haut Aller en bas
http://gmnotiz.fr.nf/
edi9999
Utilisateur confirmé: Rang *****
edi9999


Messages : 2480
Localisation : France
Projet Actuel : theatre flashy

Tutoriel : Programmer un Bomberman ! Empty
MessageSujet: Re: Tutoriel : Programmer un Bomberman !   Tutoriel : Programmer un Bomberman ! EmptyVen 2 Nov 2007 - 21:02

Je viens de faire le gm6 j y ai mis un ennemi ( mario),des blocs destructibles qui créent les trois items fire up,speed up et bomb up.
Voila le lien de telechargement vers le gm6

http://edi9999.bravehost.com/bomberman_exemple_cbna.gm6

_________________
Mes tutos sur le site: -Tutoriel débutant- Tutoriel intermédiaire
Venez sur http://gameplay.c.la pour des tutos sur mon site.
Utilisez des hébérgeurs gratuits et sans temps d'attente!:
http://willhostforfood.com/


Dernière édition par le Sam 3 Nov 2007 - 11:43, édité 1 fois
Revenir en haut Aller en bas
http://gameplay.c.la/
krocko2233
Utilisateur confirmé: Rang *
krocko2233


Messages : 228
Localisation : In my dreams...

Tutoriel : Programmer un Bomberman ! Empty
MessageSujet: Re: Tutoriel : Programmer un Bomberman !   Tutoriel : Programmer un Bomberman ! EmptyVen 2 Nov 2007 - 21:17

Waw sa a l'air vraiment bien !
Je peux pas tester pour l'instant mais je le fait dès que je rentre :oui:
Revenir en haut Aller en bas
Pepsy
Utilisateur confirmé: Rang ***
Pepsy


Messages : 608
Localisation : Devant mon ordinateur à écrire des lignes de codes
Projet Actuel : RPG

Tutoriel : Programmer un Bomberman ! Empty
MessageSujet: Re: Tutoriel : Programmer un Bomberman !   Tutoriel : Programmer un Bomberman ! EmptySam 3 Nov 2007 - 0:26

C'est bien super Mais il y a un bug quand on meurt bah on peut tj mettre des bombes

_________________
TI DESSIN v0.7
Revenir en haut Aller en bas
http://creation-pepsy.ifrance.com
edi9999
Utilisateur confirmé: Rang *****
edi9999


Messages : 2480
Localisation : France
Projet Actuel : theatre flashy

Tutoriel : Programmer un Bomberman ! Empty
MessageSujet: Re: Tutoriel : Programmer un Bomberman !   Tutoriel : Programmer un Bomberman ! EmptySam 3 Nov 2007 - 9:42

C est parce que j avais pas envie de faire un systeme de vies et que destroy faisait buggué le jeu c est pour ca j ai mis visible=false :gniah:

_________________
Mes tutos sur le site: -Tutoriel débutant- Tutoriel intermédiaire
Venez sur http://gameplay.c.la pour des tutos sur mon site.
Utilisez des hébérgeurs gratuits et sans temps d'attente!:
http://willhostforfood.com/
Revenir en haut Aller en bas
http://gameplay.c.la/
edi9999
Utilisateur confirmé: Rang *****
edi9999


Messages : 2480
Localisation : France
Projet Actuel : theatre flashy

Tutoriel : Programmer un Bomberman ! Empty
MessageSujet: Re: Tutoriel : Programmer un Bomberman !   Tutoriel : Programmer un Bomberman ! EmptySam 3 Nov 2007 - 14:37

Je vais tenter de vous faire créer un bomberman comme a son original.
Si vous n' avez encore jamais touché à game maker je vous déconseille de lire ce tutoriel pour le moment et de regarder un tutoriel plus simple.

Pour créer ce bomberman il vous faut déja des images:
bomberman regardant vers le haut , vers la droite ,la gauche et le bas
une image de bombe
une image de bloc destructible
une image de bloc indestructible


Vous trouverez toutes ces images ici:
http://edi9999.bravehost.com/sprites.zip


Maintenant que nous avons toutes les images nécessaire,nous pouvons attaquer la programmation.
Tout d abord créons deux objets:

-un objet qu on nomme bloc_parent , on coche solid et visible et on lui assigne le sprite de bloc
-un autre objet qu on nomme bloc_indestructible, on coche solid,visible on lui assigne le sprite de bloc et on met parent bloc_parent
-un objet qu on appele bomberman , on décoche solid , on coche visible et on lui assigne n importe quel sprite du bomberman

Pourquoi avoir choisi 2 blocs (bloc_parent et bloc_solid)?

En fait on sait déja que il y aura plusieurs blocs :des blocs solides destructibles et des blocs solides indestructibles
comme le bomberman ne peut ni passer a travers les blocs destructibles ni a travers les indestructibles on crée un objet bloc_parent.Les blocs destructibles et indestructibles sont les enfants du bloc_parent. Le bloc destructible sera en meme temps bloc_destructible+bloc_parent.Le bloc indestructible sera en meme temps bloc_indestructible et bloc_parent.
C est tout simplement pour éviter pleins de lignes de codes


On va commencer par créer une variable vitesse.
La vitesse du bomberman sera égale a cette variable quand il sera en mouvement.
Comme cela on pourra plus tard changer cette variable vitesse pour changer la vitesse du personnage.
Donc dans create set the value of a variable:vitesse value: 2
Vous pouvez changez la valeur a votre guise mais sachez que c est de cela que dépendra la vitesse finale du bomberman dans le jeu.
Maintenant qu on a créé cette variable on peut se mettre au vrai travail:
on va coder le mouvement.

Dans l'event "Step"
Un "Execute a piece of code"
Et cette fois ci nous allons faire du vrai code

J'explique avant ce que nous allons utiliser :
keyboard_check(code_touche) : retourne vrai si la touche est préssée, faux dans le cas contraire.
sprite_index : sprite actuel de l'objet
image_index : sous image actuelle de l'objet
x : position en x de l'objet
y : position en y de l'objet

Voilà les variables que vous devez connaître
Maintenant je vais vous donner le code, mais avec des explications (lisez les bien sinon vous n'aurez rien appris ! )
Code:

{
if not keyboard_check(vk_right) and not keyboard_check(vk_left) and not keyboard_check(vk_down) and not keyboard_check(vk_up)
image_index=1
//si aucune fleche de direction n'est préssée, la sous image affichée est la numéro 1
if keyboard_check(vk_left)
{sprite_index=sprite_gauche if place_free(x-4,y) x=x-4}
//si la touche gauche est préssée
//le sprite affiché est celui de la gauche, et s'il y a de la place à gauche, on y va
if keyboard_check(vk_right)
{sprite_index=sprite_droite if place_free(x+4,y) x=x+4}
//si la touche droite est préssée
//le sprite affiché est celui de la droite, et s'il y a de la place à droite, on y va
if keyboard_check(vk_up)
{sprite_index=sprite_haut if place_free(x,y-4) y=y-4}
//si la touche haut est préssée
//le sprite affiché est celui du haut, et s'il y a de la place en haut, on y va
if keyboard_check(vk_down)
{sprite_index=sprite_bas if place_free(x,y+4) y=y+4}
//si la touche bas est préssée
//le sprite affiché est celui du bas, et s'il y a de la place en bas, on y va
}


Vous pourrez bientôt regarder la marche de votre petit bomberman.
Mais il y a encore un problème, les collisions ne sont pas du tout au point, vous pouvez l'essayer si vous voulez, il se coincera partout !
La solution pour cela ? Modifier les origines, et ajouter un masque !

Ouvrez les différents sprites du bomberman, et mettez l'origine vers le bas, entre les jambes, au niveau de ses pieds si vous le voulez.
Vous ne comprenez peut être pas encore très bien, mais tout sera bientôt très clair



Créer un nouveau sprite, qui servira de masque. Vous tracerez une petite ellipse couchée, et metterez son origine au centre.



Ensuite, mettez ce petit sprite comme masque pour l'objet bomberman, puis vous pouvez créer une room, et déposer les murs et le petit personnage, normalement tout marchera bien Si les sprites sont décalés, que ça ne vous convient pas, ajustez les origines comme bon vous semble.


Vous pouvez créer maintenant une room et y mettre les blocs_indestructible comme sur le dessin:
http://edi9999.bravehost.com/sprites/room.gif


On a reussi a faire un bomberman qui marche dans toutes les directions et qui s arrête si il y a un mur mais le plus dur nous reste a faire: les bombes.
Pour cela créez donc un objet bombe et assignez lui comme sprite le sprite animé de bombe.
On veut que la bombe fasse son animation et que a la fin de celle ci, qu' elle explose.
On va donc tout d abord commencé par configurer la vitesse d animation de la bombe
Pour cela il faut utiliser la variable image_speed. Cette variable est comprise entre 0 et 1
Elle représente le nombre d images qui défilent par step.
Normalement 1 seconde =30 steps
donc pour avoir une vitesse de une image par sec il faudra une valeur de 1/30
Nous avons 3 images et donc on aurait 3*1 =3 secondes pour dégager de la zone de portée de la bombe
donc une valeur de 1/30 pour image_speed est bonne.
Donc dans create de l objet bombe:
execute a piece of code : image_speed=1/30
Maintenant on veut coder: quand l animation est finie détruit la bombe
En game maker ca donne ; event other-animation_end :
destroy instance: self

Mais comment coder l explosion des bombes ?

Ce n'est pas bien plus compliqué. Faisons d abord un peu d algorithmique.

event explosion:

creation_explosion_centrale

// creation des explosion vers la gauche
a repeter le nombre de fois que l on veut d explosion:
{
si il y a pas de bloc indestrucible a gauche
crée une explosion a gauche
sinon
{
si il y a un bloc destructible a gauche
détruit le bloc destructible a gauche
si il n y a pas de bloc destructible a gauche
sort de la boucle
}
}

meme chose pour le haut le bas et la droite.
Et voila nous avons créés notre algorithme.
Maintenant rendons ce code compréhensible pour game maker

Je posterais la suite plus tard

_________________
Mes tutos sur le site: -Tutoriel débutant- Tutoriel intermédiaire
Venez sur http://gameplay.c.la pour des tutos sur mon site.
Utilisez des hébérgeurs gratuits et sans temps d'attente!:
http://willhostforfood.com/
Revenir en haut Aller en bas
http://gameplay.c.la/
jo
*Excellent utilisateur*
jo


Messages : 4879
Localisation : CENSURE T_T
Projet Actuel : FAC

Tutoriel : Programmer un Bomberman ! Empty
MessageSujet: Re: Tutoriel : Programmer un Bomberman !   Tutoriel : Programmer un Bomberman ! EmptySam 3 Nov 2007 - 23:51

c'est cool bien fait, mais juste, c'est pas tres clair, et c'est pas tres encouragent pour un vrai debutant... happy1

_________________
http://viciousslugs.sup.fr/ <- Des imbéciles en action. Venez visiter, on recherche des lecteurs, des auteurs, et ça paye mal. En fait ça paye pas, mais ya moyen de se marrer.
Revenir en haut Aller en bas
http://psyckho.skyrock.com/
gng02
Invité




Tutoriel : Programmer un Bomberman ! Empty
MessageSujet: Re: Tutoriel : Programmer un Bomberman !   Tutoriel : Programmer un Bomberman ! EmptyDim 4 Nov 2007 - 16:16

Je suis d'un créer un mais pas avec ton code tout seul et je l'ai commencé ya 4 mois. Je fais l'alpha pour linsatnt après la beta 1 et béta 2 et la version complète il y aura multi, choix du perso.Voila !!

J'avais l'impression que j'était tout seul a avoir penser fairee un bomberman
gnii
Revenir en haut Aller en bas
daminetreg
Administrateur
daminetreg


Messages : 16998
Localisation : Siege du CBNA!
Projet Actuel : Site Web du CBNA, version beta :

Tutoriel : Programmer un Bomberman ! Empty
MessageSujet: Re: Tutoriel : Programmer un Bomberman !   Tutoriel : Programmer un Bomberman ! EmptyMar 6 Nov 2007 - 21:57

Ce serait cool que j'ai le droit de poster ce tuto sur le site, parce qu'il est bien fait, vraiment, je peux je peux? ange

_________________
Mon CV : fr - de - en
Le CBNA Tous Ensemble! Réalisons!
Tutoriel : Programmer un Bomberman ! U3dfr2
Revenir en haut Aller en bas
http://lecbna.org/
Invité
Invité




Tutoriel : Programmer un Bomberman ! Empty
MessageSujet: Re: Tutoriel : Programmer un Bomberman !   Tutoriel : Programmer un Bomberman ! EmptyMar 6 Nov 2007 - 22:03

je l'espère bien car il est très bien fait super
Revenir en haut Aller en bas
edi9999
Utilisateur confirmé: Rang *****
edi9999


Messages : 2480
Localisation : France
Projet Actuel : theatre flashy

Tutoriel : Programmer un Bomberman ! Empty
MessageSujet: Re: Tutoriel : Programmer un Bomberman !   Tutoriel : Programmer un Bomberman ! EmptyJeu 8 Nov 2007 - 17:31

daminetreg a écrit:
Ce serait cool que j'ai le droit de poster ce tuto sur le site, parce qu'il est bien fait, vraiment, je peux je peux? ange

tu demandes pour celui de robotic ?

_________________
Mes tutos sur le site: -Tutoriel débutant- Tutoriel intermédiaire
Venez sur http://gameplay.c.la pour des tutos sur mon site.
Utilisez des hébérgeurs gratuits et sans temps d'attente!:
http://willhostforfood.com/
Revenir en haut Aller en bas
http://gameplay.c.la/
daminetreg
Administrateur
daminetreg


Messages : 16998
Localisation : Siege du CBNA!
Projet Actuel : Site Web du CBNA, version beta :

Tutoriel : Programmer un Bomberman ! Empty
MessageSujet: Re: Tutoriel : Programmer un Bomberman !   Tutoriel : Programmer un Bomberman ! EmptyDim 18 Nov 2007 - 20:42

Celui de robotic. happy1

_________________
Mon CV : fr - de - en
Le CBNA Tous Ensemble! Réalisons!
Tutoriel : Programmer un Bomberman ! U3dfr2
Revenir en haut Aller en bas
http://lecbna.org/
Xiolec
Utilisateur confirmé: Rang ****



Messages : 1145
Localisation : Derriere ma psp en train de Quaker sévère dans wipeoutpulse
Projet Actuel : La bonne touche (lua psp)

Tutoriel : Programmer un Bomberman ! Empty
MessageSujet: Re: Tutoriel : Programmer un Bomberman !   Tutoriel : Programmer un Bomberman ! EmptyDim 18 Nov 2007 - 21:00

Excuse mais ton tuto a l'air sympa et le lien pour ls sprites est mort (date trop vieille?).
Si tu pouvais le reposter ce serai sympa.
Merci gnii

_________________
Adios
Revenir en haut Aller en bas
http://pspetgamemaker.blog.playersrepublic.fr/acceuil/
Invité
Invité




Tutoriel : Programmer un Bomberman ! Empty
MessageSujet: Re: Tutoriel : Programmer un Bomberman !   Tutoriel : Programmer un Bomberman ! EmptyDim 18 Nov 2007 - 21:07

Heuu ben j'ai plus vraiment le gm6 avec juste les sprites mais je peux donner le gm6 que j'avais à la fin, avec l'ennemi gnii
http://www.zshare.net/download/4996544455751e/
daminetreg a écrit:
Ce serait cool que j'ai le droit de poster ce tuto sur le site, parce qu'il est bien fait, vraiment, je peux je peux? ange
Si tu le considères comme prêt à être mis sur le suite, je veux bien, mais ça m'étonnerait que j'ajoute comment faire l'ennemi, parce qu'il n'est pas terrible et que j'ai expliqué comment faire la "base", ce qui m'intéressait le plus happy1

Bon j'ai remis l'image et le gm6 contenant les sprites + gm6 final.
Revenir en haut Aller en bas
Xiolec
Utilisateur confirmé: Rang ****



Messages : 1145
Localisation : Derriere ma psp en train de Quaker sévère dans wipeoutpulse
Projet Actuel : La bonne touche (lua psp)

Tutoriel : Programmer un Bomberman ! Empty
MessageSujet: Re: Tutoriel : Programmer un Bomberman !   Tutoriel : Programmer un Bomberman ! EmptyLun 19 Nov 2007 - 21:14

j'ai fini le tuto, il est genial car :
-bien presenté, on comprend tout.
-je commence a connaitre des fonctions en GMl, que je ne comprenais pas avant.
-utile pour mes jeux a venir!

Merci vraiment


Edit : comment voir le jeu en plus gros (=zoom) sans changer les sprites??

_________________
Adios
Revenir en haut Aller en bas
http://pspetgamemaker.blog.playersrepublic.fr/acceuil/
Invité
Invité




Tutoriel : Programmer un Bomberman ! Empty
MessageSujet: Re: Tutoriel : Programmer un Bomberman !   Tutoriel : Programmer un Bomberman ! EmptyLun 19 Nov 2007 - 22:15

Tu peux faire une view et mettre les valeurs d'affichage au double par exemple gnii
Revenir en haut Aller en bas
Invité
Invité




Tutoriel : Programmer un Bomberman ! Empty
MessageSujet: Re: Tutoriel : Programmer un Bomberman !   Tutoriel : Programmer un Bomberman ! EmptyLun 19 Nov 2007 - 22:29

et n'oublis pas de cocher la case interpolate between pixels dans game settings happy1
Revenir en haut Aller en bas
Xiolec
Utilisateur confirmé: Rang ****



Messages : 1145
Localisation : Derriere ma psp en train de Quaker sévère dans wipeoutpulse
Projet Actuel : La bonne touche (lua psp)

Tutoriel : Programmer un Bomberman ! Empty
MessageSujet: Re: Tutoriel : Programmer un Bomberman !   Tutoriel : Programmer un Bomberman ! EmptyJeu 22 Nov 2007 - 18:57

shm31 a écrit:
et n'oublis pas de cocher la case interpolate between pixels dans game settings happy1

J'y arrive pas :gniah:

1) où est cette "view"
2) où est cete case...?

_________________
Adios
Revenir en haut Aller en bas
http://pspetgamemaker.blog.playersrepublic.fr/acceuil/
Invité
Invité




Tutoriel : Programmer un Bomberman ! Empty
MessageSujet: Re: Tutoriel : Programmer un Bomberman !   Tutoriel : Programmer un Bomberman ! EmptyJeu 22 Nov 2007 - 19:06

heu pour la view, quand es dans les room properties (l'édition d'une room quoi) il y a plusieurs onglets, dont un qui s'appelle view... j'ai la flemme d'expliquer donc je te conseille de taper view dans l'aide pour comprendre. gnii
et pour le interpolate color, il y a un petit symbole en haut, ça fait comme trois lignes blanches et celle du milieu cochée en rouge. Tu cliques dessus et tu peux régler différentes choses, cocher interpolate colors between pixels te permet de "lisser" quand tu modifie l'échelle ou l'angle dans le jeu. tord

Et j'ai oublié de te remercier pour ton commentaire sur le tuto, merci happy1
Revenir en haut Aller en bas
Xiolec
Utilisateur confirmé: Rang ****



Messages : 1145
Localisation : Derriere ma psp en train de Quaker sévère dans wipeoutpulse
Projet Actuel : La bonne touche (lua psp)

Tutoriel : Programmer un Bomberman ! Empty
MessageSujet: Re: Tutoriel : Programmer un Bomberman !   Tutoriel : Programmer un Bomberman ! EmptyJeu 22 Nov 2007 - 21:26

Merci

_________________
Adios
Revenir en haut Aller en bas
http://pspetgamemaker.blog.playersrepublic.fr/acceuil/
Contenu sponsorisé





Tutoriel : Programmer un Bomberman ! Empty
MessageSujet: Re: Tutoriel : Programmer un Bomberman !   Tutoriel : Programmer un Bomberman ! Empty

Revenir en haut Aller en bas
 
Tutoriel : Programmer un Bomberman !
Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant
 Sujets similaires
-
» Bomberman
» Bomberman
» Bomberman
» Bomberman
» Cbna Bomberman

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Game Maker-
Sauter vers: