Apprendre à faire des jeux

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 / Exemple :


//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!

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.