Planete Sonic Forums

L'Atelier Fan Area => Jeux vidéo => Discussion démarrée par: Mao le Août 10, 2010, 03:28:28 pm



Titre: Mapengine en javascript
Posté par: Mao le Août 10, 2010, 03:28:28 pm
N'ayant plus le temps de le développer et vu que je n'ai pas envie de le supprimer, je mets donc mon travail à disposition de tous.
A qui est-ce destiné ? Normalement un amateur possédant des bases en javascript doit pouvoir l'utiliser correctement, mais il est évident qu'un developpeur plus expérimenté est suceptible de pouvoir mieux l'utiliser et de - pourquoi pas - l'améliorer.
Concrètement, il s'agit d'un petit script gérant une map. Il y a actuellement la gestions du déplacement ( Z Q S D ) et les collisions fonctionnent très bien également. Malheureusement ça ne fonctionne pas sous Internet Explorer. Je corrigerais peut-être cela, si j'ai le temps.
J'aurais voulu y ajouter d'autres fonctionnalité. Un mode "plate-forme" par exemple, qui aurait géré la gravité et les sauts. Ce n'est pas très compliqué à mettre en place d'ailleurs. Donc peut-être que si j'ai le temps, j'ajouterais cela à une hypothétique nouvelle version. Je n'ai également pas eu le temps d'y intégrer la gestions des sprites, mais comme dit précédement, si je continue, je n'aurais pas de difficulté à le faire.
Bien sûr, étant donné la vieillesse de mon travail, il est évident que j'ai sûrement mal programmé les deux classes et mit des fonctions inutiles, mais cela reste assez performant. Mais n'hésitez pas à signaler les choses qui devraient être corrigées/supprimées.

Par ici (http://www.megaupload.com/?d=2DQUFLLR) messieurs. MÀJ : Ancienne version.

Maintenant, expliquons comment on l'utilise.

Pour créer une carte il suffit de créer un objet, je suis désolé d'avoir choisi un nom peut original pour ma classe mais, elle se nomme "Objects". Il vous faudra donc définir la largeur et la hauteur de votre carte, si possible, un multiple de seize. En effet, les éléments se déplacent toujours de seize pixels, chose pas très intelligente de ma part finalement, j'aurais du faire quelque chose par rapport à la hauteur et la largeur de l'élément, j'y pencherais si je réalise une nouvelle version.
Pour ajouter un élément il vous faut utiliser add puis préciser l'abscisse, l'ordonnée, la largeur, la hauteur et un booléen, si ce dernier vaut "true" alors votre élément sera "solide" et soumit aux collisions. On notera que le premier élément déclaré sera contrôlé par le joueur.
Vous avez ensuite move. Il vous faudra préciser de combien d'abscisse et d'ordonnée vous voulez déplacer votre élément, puis la vitesse. Cette fonction est cependant plus difficile à utiliser pour certaines raisons, la première étant que ce n'est pas une fonction de la classe "Objects" mais de "Surface" qui est une classe utilisée par "Objects". En fait, "Objects" est l'interface utilisateur/"Surface", interface qui est cependant très incomplète pour le moment.

Voila, c'est très brouillon.


Titre: Re : Mapengine en javascript
Posté par: Mao le Août 29, 2010, 09:34:46 pm
Je viens de remarquer que je me suis trompé dans ce que j'ai rédigé. Il faut dire que je ça faisait longtemps que je n'avais pas touché à ce code. Ceci est maintenant chose faite. Je viens de l'améliorer.

Faites un clic droit puis "Enregistrer le lien sous". (Le texte diffère selon le navigateur.)
index.html (http://stn.lescigales.org/project/index.html) Mis à jour. (30/08/10, 08h58'46)
objects.js (http://stn.lescigales.org/project/object.js) Mis à jour. (30/08/10, 08h58'46)
surface.js (http://stn.lescigales.org/project/surface.js) Mis à jour. (30/08/10, 08h58'46)

Pour le moment, rien de vraiment important. Juste deux ou trois truc immondes. A noter que la coloration des blocs et la position de la map, c'est juste pour tester.
Les points auquel je vais travailler pour la prochaine version seront :
- La comptabilité avec Internet Explorer. Fait.
- La gestion des images. Fait.
- Les "événements". Fait.