Un petit jeu de plate forme pas très long

5/5 (6 avis)

Vue 9 157 fois - Téléchargée 1 591 fois

Description

Un petit jeu tout simple en théorie : un personnage contrôlé avec les touches directionnelles qui doit ramasser des bonbons.

En chemin, il peut utiliser un chapeau de sorcière pour sauter plus haut. Il peut également se transformer une fois en chauve souris pour traverser le ravin...

L'intérêt serait la multiplication des niveaux.

Le code ci-dessous est celui attribué au personnage. Ca peut faire un peu peur...

Source / Exemple :


// déclaration des variables
onClipEvent (load) {
	x = _x;
	y = _y;
	gravite = 0;
	elan = 0;
	elany = 0;
}
onClipEvent (enterFrame) {
	if (_root.termine==0) {
		x = _x;
		y = _y;
		dirKeyDown=0;
		// mouvement droite - gauche
		// et le cas ou rien
		if (Key.isDown(Key.RIGHT)) {
			_root.direction=1;
			if ((_root.accessoire==0) and (_root.chapeau==0)) {
				_root.tim.gotoAndStop(2); // marche à dte
			} else if ((_root.accessoire==1) and (_root.pouf==0)) {
				_root.tim.gotoAndStop(5); // vole à dte
			} else if (_root.chapeau==1) {
				_root.tim.gotoAndStop(13); 
			}
			if (elan>-8) {
				elan -= 2;
			}
			dirKeyDown=1;
		} else if (Key.isDown(Key.LEFT)) {
			_root.direction=0;
			if ((_root.accessoire==0) and (_root.chapeau==0)) {
				_root.tim.gotoAndStop(3); // marche à gche
			} else if ((_root.accessoire==1) and (_root.pouf==0)) {
				_root.tim.gotoAndStop(6); // vole à gche
			} else if (_root.chapeau==1) {
				_root.tim.gotoAndStop(14);
			}
			if (elan<8) {
				elan += 2;
			}
			dirKeyDown=1;
		} else if (Key.isDown(Key.SPACE)) {
			if (_root.pouf==1) {
				elany = -20;
				_root.tim.gotoAndStop(9);
			} else { 
				if (elany<0) {
					elany += 2;
				}
			}
		}

		if (Key.isDown(Key.DOWN)) {
			if (_root.accessoire==1) { 
				if (elany<8) {
					elany += 2;
				}
			}
		} else if (Key.isDown(Key.UP)) {
			if (_root.accessoire==1) {
				if (elany>-8) {
					elany -= 2;		
				}
			}
		}
		if (_y<-20) elany=10;
		if ( ! dirKeyDown and ! Key.isDown(Key.SPACE)) {
			if (_root.direction==1) {
				if ((_root.accessoire==0) and (_root.chapeau==0)) {
					_root.tim.gotoAndStop(1);
				} else if (_root.accessoire==1) {
					_root.tim.gotoAndStop(7);
				} else if (_root.chapeau==1) {
					_root.tim.gotoAndStop(12);
				}
			} else if (_root.direction==0) {
				if ((_root.accessoire==0) and (_root.chapeau==0)) {
					_root.tim.gotoAndStop(4);
				} else if (_root.accessoire==1) {
					_root.tim.gotoAndStop(7);
				} else if (_root.chapeau==1) {
					_root.tim.gotoAndStop(15);
				}
			}
			if (elan<0) {
				elan = elan+1;
			} else if (elan>0) {
				elan = elan-1;
			}
			if (elany<0) {
				elany = elany+1;
			} else if (elany>0) {
				elany = elany-1;
			}
		}

		_root.sol._x = _root.sol._x+elan;
		_root.fond._x = _root.fond._x+elan/1.2;
		_root.fond2._x = _root.fond2._x+elan/1.2;
		_root.fond3._x = _root.fond3._x+elan/1.2;
		_root.fond4._x = _root.fond4._x+elan/1.2;
		_root.fond5._x = _root.fond5._x+elan/1.2;
		_root.fond6._x = _root.fond6._x+elan/1.2;
		_root.fond7._x = _root.fond7._x+elan/1.2;
		_root.fond8._x = _root.fond8._x+elan/1.2;
		_root.fond9._x = _root.fond9._x+elan/1.2;
		_root.fond10._x = _root.fond10._x+elan/1.2;
		_root.fond11._x = _root.fond11._x+elan/1.2;
		_root.fond12._x = _root.fond12._x+elan/1.2;
		_root.fond13._x = _root.fond13._x+elan/1.2;
		_root.tim._y = _root.tim._y+elany;

		// si le bonhomme touche le sol
		// -> hitTest : compare les coordonnees des MC
		// et true indique qu'on prend l'objet et pas les contours
		if (_root.sol.hitTest(x, y, true)) {
			if (_root.accessoire==0) {
				gravite = 0;
				// permet de revenir en haut de l'objet directement
				// sauf si c'est trop haut (limite de 20 pixels ici)
				while (_root.sol.hitTest(x, y-1, true)) {
					y--;
					if (y<=_y-20) {
						if (_root.sol.hitTest(x+10, y, true)) {
							elan=-10;
						}
						if (_root.sol.hitTest(x-10, y, true)) {
							elan=10;
						}
						_root.sol._x -= 2*elan;
						elan = -elan;
						break;
					}
				}
				_y=y;
			} else if (_root.accessoire==1 && _root.sol.hitTest(x, y-1, true)) {
				_root.chapeau=0;
				_root.accessoire=0;
			}
		} else {
			if (gravite<15) {
				gravite = gravite+1;
			}
		}
		if ( (_root.sol.hitTest(x, y+1, true)) and not (_root.sol.hitTest(x, y-1, true))) {
			if (Key.isDown(Key.UP)) {
				if (_root.chapeau==0) {
					gravite = -12;
				} else if (_root.chapeau==1) {
					if (_y>180) {
						gravite = -18;
					} else gravite = -12;
				}
			}
		}
		if (_root.accessoire==0) {
			_y = _y+gravite;
		}
		// retourne en haut en cas de chute
		if (_y>500) {
			_root.tim.gotoAndStop(11);
			_root.txtfin._visible=1;
			_root.termine=1;
			_y=-120;
		}
	}
}

Conclusion :


Aucune mise à jour prévue.

Mais si vous voulez me contacter, c'est à cette adresse :
ouebmaster@coucoucircus.org

Mon site Internet : http://www.coucoucircus.org

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
12
Date d'inscription
dimanche 4 décembre 2005
Statut
Membre
Dernière intervention
30 décembre 2005

Bonjour,

J'ai un projet de faire un petit jeu en flash H /L 500X300
Il s'agit d'un jeu pour jeune pour aller sur un site d'élevage virtuel
Donc le jeu n'a pas une obligation de perfection simplement avoir un graphique 2D fun style dessin animé et que les animations se tiennes

Le jeux consiste à ? faire avancer le cheval le faire sauté pour lui faire manger des pommes qui lui donnera des points, ses point devront être convertie en valeurs PHP a la fin du jeux
Une petite explication ? il y aura un total de 200 points a accumulé, il faudra donc répartir les points en un nombre limité de pomme. Les 50 premiers point devront être facile a amassé,
Les 50 autres, plus difficiles et ainsi de suite jusqu a très très difficile pour les 50 derniers.
Pour aider la difficulté il y aura un compte a rebours. Une fois le temps écoulé le jeux se termine (Le but est de faire en sorte que le joueur ne réussisse pas a attrapé toutes les pommes)

Les obstacles? des bottes de paille sur les quels il devra sauté, des tronc d'arbres?
Il se pourrais que j'arrive a fournir les images 2D mais au cas Si vous êtes ou flasheur, illustrateur flasheur ou illustrateur


Il y aura des possibilités par la suite pour d'autres contrats

Merci de votre collaboration !!!
mon msn mely_dacari@hotmail.com
Messages postés
328
Date d'inscription
jeudi 26 août 2004
Statut
Membre
Dernière intervention
8 mars 2007

COOL!!! J'ai joué pendant au moins 15 minutes puis je suis mort pleins de fois... En tout cas, si tu as msn messenger, voici mon e-mail : coolsalex666@hotmail.com
J'ai besoins d'aide, c'est pour ca.
Merci!
coordinalement, amicalement... Même si je ne te connais pas. lol
Messages postés
28
Date d'inscription
mercredi 8 septembre 2004
Statut
Membre
Dernière intervention
14 avril 2012

Pour ce qui est des maps, Il y a moyen de les faire évoluer relativement facilement. Pour celle-ci, j'ai tracé le terrain dans illustrator et importé dans flash. Comme il ne s'agit que de hitTest, il n'y a quasiment rien à modifier dans le code.

Le seul truc, c'est qu'en fonction de la position en _y du personnage, il saute plus ou moins haut quand il a le chapeau, par exemple. Ca doit pas être sorcier à retravailler.

Si on s'attaque à la gestion en hauteur de la caméra, il y a moyen de proposer des niveaux très différents.

Par contre, ce sont les éléments mobiles qui seraient effectivement les plus longs à modifier.
Messages postés
1732
Date d'inscription
jeudi 17 juin 2004
Statut
Membre
Dernière intervention
9 mars 2015
2
super :-)
mais ccomme l'a di pegase31 on ne peu pa modifie la map
mais enfin bon boulot quand même
Messages postés
1058
Date d'inscription
jeudi 24 juillet 2003
Statut
Modérateur
Dernière intervention
14 février 2009

ça aussi c'est très très bien fait...je commente à la volé (j'ai lu le code vite fait je suis en sevrage)
Afficher les 6 commentaires

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.

Du même auteur (coucoucircus)