begin process at 2010 02 09 23:16:32
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Jeux

 > APPRENDRE À FAIRE DES JEUX

APPRENDRE À FAIRE DES JEUX


 Information sur la source

Note :
8,4 / 10 - par 5 personnes
8,40 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Jeux Classé sous :jeu, 2d, plateforme Niveau :Débutant Date de création :20/11/2005 Vu / téléchargé :15 087 / 2 687

Auteur : StrikerFred

Ecrire un message privé
Commentaire sur cette source (30)
Ajouter un commentaire et/ou une note

 Description

Si quelqu'un souhaite apprendre à faire des jeux, voilà un code expliqué pour un jeu de plate-forme en 2D

Si quelqu'un est interressé d'aller plus loin, je veux bien mais il faut me le signaler !


Source

  • //je le met aussi là pour ceux qui ne peuvent pas télécharger
  • //créez alors un clip terrain et nommez une occurence de ce clic "terrain"
  • //dans ce clip ne mettez qu'une barre verticale de la longueur de la scène
  • //Puis créez un clip nommé perso mais ne le placez pas sur la scène. Cliquez du bouton droit dessus dans la bibliothèque
  • //allez dans liaisons puis cochez "exporter pour action script" puis faite OK
  • //variables que vous pouvez modifier
  • gravite = 0.8;
  • vitesse = 0;
  • //crée un exemplaire (occurence) du clip perso qui ne se trouve que dans la bibliothèque
  • attachMovie("perso", "perso", 1);
  • //fonction qui s'effectue en permanance
  • function onEnterFrame(){
  • //si la touche droite est pressée, déplace le perso vers la droite
  • if(Key.isDown(Key.RIGHT))perso._x +=3;
  • //si la touche gauche est pressée, déplace le perso vers la gauche
  • if(Key.isDown(Key.LEFT))perso._x -=3;
  • //si la touche haut est pressée et que le perso n'est pas déjà en train de sauter, initialise le saut
  • if(Key.isDown(Key.UP) and !saut){
  • //on fait monter le perso un tout petit peu pour qu'il soit au dessus du sol
  • //car la partie qui applique la gravité au perso ne se déclanche que s'il ne touche pas le sol
  • //(s'il tombe ou s'il saute
  • perso._y--;
  • //on initialise sa vitesse à -10 (perso._x + -10 fais monter le perso, c'est des maths !)
  • vitesse = -10;
  • //on dit que le perso est en train de sauter
  • saut = true;
  • }
  • //les quatres while qui suivent servent à détecter le terrain (pour empehcer que le perso passe à travers!)
  • //les quatres points sur le perso sont en haut, en bas, à gauche et à droite
  • while(terrain.hitTest(perso._x+10,perso._y, true)){
  • perso._y++;
  • //celui-ci est spécial, c'est la tête du perso. Il permet que si le perso saute en dessous d'une plate-forme
  • //il arrête de monter (vitesse = 0)
  • vitesse = 0;
  • }
  • while(terrain.hitTest(perso._x+10,perso._y+20, true)){perso._y--;}
  • while(terrain.hitTest(perso._x,perso._y+10, true)){perso._x++;}
  • while(terrain.hitTest(perso._x+20,perso._y+10, true)){perso._x--;}
  • //et voila la partie qui applique la gravité.
  • //si le perso n'est pas en contact avec le terrain, on le fais descendre
  • //ou alors, s'il monte, on ralentit sa vitesse de montée et quand elle sera nulle, le perso descendra
  • if(!terrain.hitTest(perso._x+10,perso._y+21, true)){
  • saut = true;
  • //on ajoute la vitesse à la hauteur du perso
  • //ajouter ne veut pas dire augmenter ! Si on ajoute un nombre négatif (les maths !) et bien on diminue !
  • perso._y+=vitesse;
  • //on ajoute la gravité à la vitesse
  • vitesse+=gravite;
  • //et s'il le perso est en contact avec le sol
  • }else{
  • //sa vitesse devient nulle
  • vitesse=0;
  • //il n'est plus en train de sauter
  • saut = false;
  • }
  • }
  • //c'est un peu difficile à saisir, mais si vous avez des questions, n'hésitez pas!
//je le met aussi là pour ceux qui ne peuvent pas télécharger
//créez alors un clip terrain et nommez une occurence de ce clic "terrain"
//dans ce clip ne mettez qu'une barre verticale de la longueur de la scène
//Puis créez un clip nommé perso mais ne le placez pas sur la scène. Cliquez du bouton droit dessus dans la bibliothèque
//allez dans liaisons puis cochez "exporter pour action script" puis faite OK


//variables que vous pouvez modifier
gravite = 0.8;
vitesse = 0;

//crée un exemplaire (occurence) du clip perso qui ne se trouve que dans la bibliothèque
attachMovie("perso", "perso", 1);

//fonction qui s'effectue en permanance
function onEnterFrame(){
	//si la touche droite est pressée, déplace le perso vers la droite
	if(Key.isDown(Key.RIGHT))perso._x +=3;
	//si la touche gauche est pressée, déplace le perso vers la gauche
	if(Key.isDown(Key.LEFT))perso._x -=3;
	//si la touche haut est pressée et que le perso n'est pas déjà en train de sauter, initialise le saut
	if(Key.isDown(Key.UP) and !saut){
		//on fait monter le perso un tout petit peu pour qu'il soit au dessus du sol
		//car la partie qui applique la gravité au perso ne se déclanche que s'il ne touche pas le sol
		//(s'il tombe ou s'il saute
		perso._y--;
		//on initialise sa vitesse à -10 (perso._x + -10 fais monter le perso, c'est des maths !)
		vitesse = -10;
		//on dit que le perso est en train de sauter
		saut = true;
	}
	//les quatres while qui suivent servent à détecter le terrain (pour empehcer que le perso passe à travers!)
	//les quatres points sur le perso sont en haut, en bas, à gauche et à droite
	while(terrain.hitTest(perso._x+10,perso._y, true)){
		perso._y++;
		//celui-ci est spécial, c'est la tête du perso. Il permet que si le perso saute en dessous d'une plate-forme
		//il arrête de monter (vitesse = 0)
		vitesse = 0;
	}
	while(terrain.hitTest(perso._x+10,perso._y+20, true)){perso._y--;}
	while(terrain.hitTest(perso._x,perso._y+10, true)){perso._x++;}
	while(terrain.hitTest(perso._x+20,perso._y+10, true)){perso._x--;}
	
	//et voila la partie qui applique la gravité. 
	//si le perso n'est pas en contact avec le terrain, on le fais descendre
	//ou alors, s'il monte, on ralentit sa vitesse de montée et quand elle sera nulle, le perso descendra
	if(!terrain.hitTest(perso._x+10,perso._y+21, true)){
		saut = true;
		//on ajoute la vitesse à la hauteur du perso
		//ajouter ne veut pas dire augmenter ! Si on ajoute un nombre négatif (les maths !) et bien on diminue !
		perso._y+=vitesse;
		//on ajoute la gravité à la vitesse
		vitesse+=gravite;
	
	//et s'il le perso est en contact avec le sol
	}else{
		//sa vitesse devient nulle
		vitesse=0;
		//il n'est plus en train de sauter
		saut = false;
	}
}
//c'est un peu difficile à saisir, mais si vous avez des questions, n'hésitez pas!


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  • Jeu.flaTélécharger ce fichier [Réservé aux membres club]54 784 octets

Télécharger le zip


 Sources de la même categorie

Source avec Zip Source avec une capture JEU DE TIR par gabha
Source avec Zip Source avec une capture ROULETTE SIMPLE TYPE CASINO par jeanbat51
Source avec Zip MOTEUR PLATEFORME 2D AVEC ITEM TEL QUE RESSORT, ÉCHELLE... (... par SamouraiPoulet
Source avec Zip BASE JEUX COMBAT par coolninja19
Source avec Zip LAN CHESS, JEU D'ÉCHEC EN RÉSEAU par darksoul

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture JEU DÉMINEUR par sgainowai
Source avec Zip MOTEUR PLATEFORME 2D AVEC ITEM TEL QUE RESSORT, ÉCHELLE... (... par SamouraiPoulet
Source avec Zip Source avec une capture JEU GREMMINGS par sgainowai
Source avec Zip Source avec une capture BANG BRAIN par Chkao
Source avec Zip JEU SHOOT'M UP par absh

Commentaires et avis

Commentaire de StrikerFred le 20/11/2005 19:30:29

placez le code audessus sur la première image du scénario (timeline)

Commentaire de bali_balo le 20/11/2005 22:34:44

C'est quoi ton format space là de ta source...C'est ni du mx, ni du mx 2004.
Et quel est cette variable terrain??? Une référence de clip je pense bien...
J'ai essayer de créer un clip terrain, mais rien à faire... x<
Il aurait été plus facile à comprendre si tu avais créer toi même un exemple...
J'attend de voir tes modifications pour pouvoir noter...


bali_balo.... =]

Commentaire de bali_balo le 20/11/2005 22:36:14

PS : tu aurais du mettre ceci dans la catégorie: Tutorial...non???

bali_balo.... =]

Commentaire de bali_balo le 20/11/2005 22:42:04

PS2 : dsl pour tt ces post en mm temps, mais les idées ne me viennent pas toutes en mm tmps... =]

Conseil : utilise pas des hitTest() pour éviter que le perso ne traverse le terrain. Fiat des tests genre :
if( perso._y >= terrain._y )
{ saut = false; }

Sinon, si tu as : terrain._y = 100;
Et qu'a une image courante, perso._y = 99; , et qu'a la prochaine image, perso._y = 101;
Tu pourrais avoir les pieds du perso traverser le sol, si tu as définis le centre au pieds ( ce que tu n'as pas dit de faire... )

PRECISE LE!!!

( ya encore plein de chose à dire...sa va venir par la suite... )

bali_balo.... =]

Commentaire de StrikerFred le 21/11/2005 07:13:19

bon,
les while remette le perso à la bonne hauteur si par hasard il s'enfonce dans le sol...
je sais que c'est pas trop clair le début avec les clip mais tu peux pas plutôt télécharger ?

Je pense pas avoir assez expliqué pour mettre ca dans la catégorie tuto.
avec ton système de if(perso._y>= terrain._y){
et bien on peut pas modifier le terrain comme on veut et je pense que c'est beaucoup plus comppliqué. Là, tu peux modifier le terrain comme tu veux et t'es pas obligé de le mettre plat,
tu peux faire une courbe pour le terrain

Merci pour les commentaires !

PS: c'est du flash 8

Commentaire de bali_balo le 21/11/2005 08:50:15

Là, tu peux modifier le terrain comme tu veux et t'es pas obligé de le mettre plat,
tu peux faire une courbe pour le terrain


Pas mal comme remarque =]

bali_balo.... =]

Commentaire de pegase31 le 21/11/2005 08:51:27 administrateur CS

un excélent tutorial en anglais, bien plus efficace que le tiens : http://www.tonypa.pri.ee/tbw/tut01.html

Peg'

Commentaire de StrikerFred le 21/11/2005 18:48:03

t'as toujours l'habitude de dire les choses comme ca ?
pis je sais pas mais je pense pas que tout le monde connaisse non seulement l'anglais mais aussi l'anglais en parlant d'un logiciel precis... et de programmation

de plus, ca c'est qu'un début, et je vois pas ce que le tutoriel de tonypa à a voir avec ca. Lui, il parle des jeux basés sur les "tiles"...
et pis je le connais, j'en ai pas besoin, merci quand même

bali_balo, t'as essayé ou pas ?

Commentaire de pegase31 le 22/11/2005 01:57:24 administrateur CS

je dis simplement que ton jeu retourne un peu plus du "bricollage" que du truc sèrieux qui peut réellement être exploité. Et que tu réinventes déjà des trucs qui existent (regarde quelques sources ici, aucunes n'ont abouties).

Après, libre à toi de te claquer la tête contre les murs.

Peg'

Ps: apparement, tu n'as pas lu tout le lien jusqu'au bout, car il parle de comment refaire un mario avec sa technique et scroll qui prends quasi rien en mémoire ....

Commentaire de StrikerFred le 22/11/2005 07:02:47

ok pour le lien.
mais pourquoi ca retourne du bricolage mon truc ?
franchement, je pense que c'est un bon "moteur" pour la détection du terrain
propose moi quelque chose de mieux, je suis près à analyser la chose

<Et que tu réinventes déjà des trucs qui existent (regarde quelques sources ici, aucunes n'ont abouties).>
j'ai pas vu de truc du genre, en tout cas les autres sources je dirais plus que c'est du bricolage... peut-être que j'ai pas tout vu, alors donne moi un lien
et pis tu veux dire quoi par "aucunes n'ont abouties" ?

Commentaire de pegase31 le 22/11/2005 07:51:16 administrateur CS

ben pour t'expliquer : ta source est bien pour un tout petit niveau, car je doute fortement que tu nous fasses un "sonic" ou un "mario" avec une telel source .. tu ne pourras pas gérer facilement du scrolling car ton clip ne pourra pas dépasser 2880x2880 (limites max de Flash) alors que le systeme de tiles est tout à fait possible pour faire de l'infini.

De plus, ton systeme de hittest n'est pas valable, car tu testes un seul clip ! Comment ferais-tu pour ajouter des objets à prendre ou des passages à débloquer etc ... Y as-tu pensé ?

C'est surtout pour ça que j'appelle-ça du "bricollage", car tu déplaces ton perso, ok, mais après ?

Pour les liens :
http://www.flashkod.com/code.aspx?id=13561
http://www.flashkod.com/code.aspx?id=30668
http://www.flashkod.com/code.aspx?id=14115
http://www.flashkod.com/code.aspx?id=28065
http://www.flashkod.com/code.aspx?id=29432
etc ...

Peg'

Commentaire de StrikerFred le 22/11/2005 19:02:49

les liens, je trouve pas ca tout à fait pareil...

J'ai fait mieux que ca. J'ai fait autre chose que déplacer mon perso
Je sais que y'a des jeux flash pas avec des tuiles.
Je suis d'accord que ca fait des limites ce système. Mais si je rajoute ca:
if(perso._x > 377){
                terrain.gotoAndStop(2);
perso._x = 10;
}
bon, je l'ai fait vite fait, y'aurait des portes non visibles et ce serait plutot une boucle qui ferais un hitTest avec toutes les portes et qui redirigerait vers la bonne image du clip terrain en fonction de quelle porte a été touchée...

t'en dis quoi ?

Fred

Commentaire de pegase31 le 23/11/2005 02:25:59 administrateur CS

J'en dis que ça va ramer grave et que ça restera du bricolo ... Désolé, mais ton systeme n'est pas viable sur la longueur.

Peg'

Commentaire de StrikerFred le 23/11/2005 12:29:48

ouais
je vais me remettre aux tuiles !
:D

a+

StrikerFred

Commentaire de StrikerFred le 23/11/2005 13:42:44

je demande qu'à progresser !

Commentaire de FoxNuage le 04/12/2005 13:27:28

Bonjour,
Je cherche  justement une personne qui me ferais un jeux plate forme simple un seul niveaux ou il sajit de faire avencer sauté un cheval et lui faire manger des pommes pour gagner des point si le dessin 2D n'est pas  votre fort pas grave je peux fournir

Je ne sait pas codé donc....
Mais j'ai besoin d'une réponse rapidement merci!!!

au cas ou il y a des interessés voici mon msn
pour plus d'informations sur le sujet
mely_dacari_AT_hotmail.com

Commentaire de StrikerFred le 04/12/2005 14:27:15

ben tu l'a là le code?!
ou il te faut autre chose ? je veux bien t'aider

a+

Commentaire de FoxNuage le 04/12/2005 14:28:34

mon msn est la ... ;)

Commentaire de StrikerFred le 07/12/2005 06:17:28

t'a pas une adresse mail ?

Commentaire de FoxNuage le 10/12/2005 13:22:30

tu n'a qua ecrire sur mon msn  c'est pareil

Commentaire de StrikerFred le 26/12/2005 12:32:41

elle marche pas ton adresse !

Commentaire de FoxNuage le 30/12/2005 12:00:37

pourtant ils sont plusieurs a etre venue me voir  par ce site sur msn :)

mais pour ce contrat dsl mais j'ai trouvé une personne mais je serai appelé a faire autres choses  donc j'aurais besoin de personnes métrisant flash

Commentaire de FoxNuage le 30/12/2005 12:01:55

et heu detail au cas ou au lieu de _AT_ met @ cela t'aidera surement ;)

Commentaire de spidermario le 05/05/2006 20:59:36

Je suppose que tu l'as écrite ainsi pour te protéger des spameurs ? :)

Commentaire de dadais le 15/02/2007 17:47:07

Comment faut-il faire pour mettre un autre terrain ?!?
J'ai essayé mais mon perso se trouve tout en haut de la carte...

Commentaire de nicolala le 19/03/2008 19:26:10

FRANCHEMENT FERMEZ TOUS VOTRE BOUCHE ceux qui sorte genre ya des autres tutos pasque celui ci est le plus complet et dune simplicité incomparable!! MERCI BEAUCOUP!

ps : juste un ptit bug pour la fin... les personneage passe a travers le splateformes si on augmente la gravité... donc enfete le debug est de mettre les 3 whiles avant le 1er while... et la tout va bien! voila
merci encore!

Commentaire de StrikerFred le 19/03/2008 21:38:11

Merci ca fait toujours plaisir de voir que ce vieux tuto sert toujours !

Néanmoins sache que ce n'est pas la meilleure méthode, bien qu'elle soit très simple
Allez bon courage pour ton programme !!

A+

ps: merci pour le bug ;)

Commentaire de Rodar le 29/05/2009 19:35:57

Bonjour je trouve ce tutoriel génial !
J'aimerais bien pouvoir faire plus, comme: faire des ennemis, faire que le bonhomme meure en tombant dans le vide, changer le perso en clip quand il marche,...

J'espère que ce tuto n'est pas a l'abandon et que tu répondra.
merci(d'avance).

Commentaire de StrikerFred le 01/06/2009 19:09:12

Salut, je répond par mp !
A+

Commentaire de smith13500 le 24/07/2009 19:53:19

skuz moi, j'voudrais savoir comment on fait pour que parèzanple, le perso il regarde à droite, & dé qu'japui sur gauche, j'veu qu'il se tourne vers la gauche, parsqu'si je veu lui metre un sabre, j'veu qu'il se retourne pour attaquer de l'autre coté aussi. & j'arive pas.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

plateforme et courbure du sol [ par maynemiz ] Bonjour, Je souhaiterais créer un moteur de jeu de plateforme avec une balle qui suit la courbe du sol, roule dans les pentes, remonte les pentes raid recherche flasheur pour developper jeu 2D [ par funbidule ] bonjour a tous, je recherche une personne pour m aider a créér un jeu de foot multiplayer en ligne.Si vous voulez plus de détail ou me contacter : fun moteur de jeu [ par neo33 ] ben voila j'ai les base avec flash et jaimerai faire un jeude plateforme style mariosi kelkun pouvait me dire ou faire un tutuo sur comment faire un m bleme jeu de plateforme [ par neo33 ] je suis entrain de faire un jeu de palteforme style marioet j'aimerai ke pour aller à la page 10le personnage doit1 ) etre sur l'objet et2 ) de faire Probleme jeu 2D [ par Trimi_Nem ] Bonjour , je suis une personne assez nul en flash , Et je voudrais vous posez quelques questions sur ce tutoriel ( je sais pas comment ca s' &#233;cr probleme dans un jeu 2d [ par argepe ] Bonjour, j'ai un petit probleme.. Je d&#233;veloppe un jeu 2d (style starcraft) et j'ai unsymbole nomm&#233; "friendselected" que je voudrais placer s scoling vertivale simple pour un jeu de plate forme [ par nicoool18 ] bonjour, voila, je suis entrain de faire un jeu de plate-forme (disponible ici : http://nicoool.free.fr), et je voulait faire un scrolling verticale Grille de mots cachés, comment faire??? [ par fred_cor ] Salut,J'ai un petit probl&#232;me... Je&nbsp;r&#233;alise une s&#233;rie de jeu en flash pour une expo (en tant que stagiaire)&nbsp;et on m'a confi&#2 mode tir d'un jeu de shoot'm up [ par ministeeve ] bonjourje suis en train de cree un jeu shoot'm up, mais se pose a moi un probleme, je n'ai qu'un seul tir possible a la foi,une foi le tir disparu de Jeu curseur [ par chappai ] Bonjour, a tous, j'essai de cr&#233;er une animation flash dans le cadre de mes &#233;tudes, pour commencer j'ai telecharg&#233; un petit animation, q


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,749 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales