begin process at 2012 02 07 05:51:41
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Jeux

 > UN PETIT JEU DE PLATE FORME PAS TRÈS LONG

UN PETIT JEU DE PLATE FORME PAS TRÈS LONG


 Information sur la source

Note :
9 / 10 - par 8 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Jeux Niveau :Initié Date de création :17/11/2004 Vu / téléchargé :7 574 / 1 496

Auteur : coucoucircus

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

 Description

Cliquez pour voir la capture en taille normale
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

  • // 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;
  • }
  • }
  • }
// 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

 Fichier Zip

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

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture UN LECTEUR FLASH AVEC PLAYLIST EN XML

 Sources de la même categorie

Source avec Zip Source avec une capture AS3 - JEU DU TAQUIN par pegase31
Source avec Zip CHAMP DE VISION AVEC OBSTACLES - AS3 par t_naulet
Source avec Zip UN JEUX DE VOITURE MULTIJOUEUR OU VOUS CREE VOTRE TERRAIN par hakim255
Source avec Zip JEUX DE TIRE VU DE HAUT par hakim255
Source avec Zip Source avec une capture ERYSOKOBAN V1.02 CS4 AS3 par VBtoTRASH

Commentaires et avis

Commentaire de pegase31 le 17/11/2004 23:11:07 administrateur CS

Le soucis de ton type de jeu, c'est que les niveaux ne sont pas modulables, c'est à dire que n'importe qui ne peut pas créer de niveaux sans toucher entièrement au code.

Sinon c'est sympa

Commentaire de Mafassure le 18/11/2004 17:19:02 administrateur CS

ç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)

Commentaire de Blacknight91titi le 22/11/2004 09:02:03

super :-)
mais ccomme l'a di pegase31 on ne peu pa modifie la map
mais enfin bon boulot quand même

Commentaire de coucoucircus le 03/12/2004 09:56:10

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.

Commentaire de bloom1 le 30/12/2004 03:35:31

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

Commentaire de FoxNuage le 04/12/2005 14:32:14

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

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

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,827 sec (4)

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