@missnika : Le 1er tuto n'est pas évident à suivre et en plus, il n'est pas fini, il n'y a que le début. Celui de jam-jam68140 m'a semblé beaucoup plus facile. Il n'est pas terminé non plus mais j'ai eu l'impression de bien comprendre en le faisant.
As-tu déjà une idée de jeu précise ou est-ce que tu veux juste t'entraîner ?
Je continue doucement à travailler sur les persos de Guyana Dream en 3D en particulier lors du BUG (Blender User Group) à la Villette tous les 1ers samedis du mois. Je suis maintenant sur le capucin.
La vue de dessus me semble meilleure quand je la fais avec les persos en 3D et si on décide de passer en 2D pour des parties spéciales, ça me servira.
Mon atèle a une drôle de démarche mais j'espère m'améliorer sur l'animation, comme j'ai déjà mon armature de faite, je peux faire des changements assez facilement. Tu peux le voir sur tuto/o4.html. Sur cet essai, le saimiri est une copie de l'atèle avec un changement de couleur, ce qui est assez moyen.
Je n'ai pas eu le temps de finir le cours de javascript d'Openclassroom, il ne me reste pourtant que la dernière partie, mais j'ai aussi un bouquin sur le sujet en cours.
Peux-tu me dire aussi si tu continues ou pas le tuto ?
Si j'avais la suite, ça me permettrait d'avancer davantage sur mon jeu !
Il y a quelques défauts sur la partie que j'ai déjà faite, j'aimerais corriger les bugs comme le blocage sur les bords du canvas et le fait d'être obligée de 'appuyer sur les flèches droite et bas en même temps pour le changement de carte.
Une fois que j'aurai au moins 2 singes corrects sur le plan du look et de l'animation, il faudra que je réfléchisse à leurs capacités, par exemple, des rapidités différentes sont assez facile à paramétrer. Même si je n'ai pas beaucoup d'animations différentes, il suffit de changer la vitesse de déplacement pour faire comprendre le principe. Dans l'idéal, des animations de courses seraient mieux mais faut pas que je me charge avec trop de choses.
Je veux aussi pouvoir leur faire attraper des fruits, ce qui leur donnera des points. En principe, je devrais déjà être capable de programmer quelque chose comme ça, mais je ne suis pas très sûre de moi. Là aussi, je dois prévoir l'animation adéquate.
Sinon, je vais peut être essayer directement en 3D avec babylon.js ou le game engine de Blender, mais je trouve ça un peu dommage de ne pas finir l'apprentissage de javascript et de canvas en 2D.
Dis-donc, y a du monde qui est intéressé en tout cas !
J'ai scratché mon ordi, et celui qu'on a trouvé pour le remplacer à un chipset graphique que ma version d'Ubuntu ne reconnait pas. En attendant, je repasse un peu sur Windows et j'attends de l'aide pour remettre mon dual boot.
Heureusement, mes données sont sauvegardées, que ce soit Guyana-Dream ou ton tuto, si tu en as besoin, avec tous tes exemples.
Voici le résultat avec le capucin en 3D : o5.html , sa démarche est un peu étrange aussi et il est très penché, ce qui fait qu'il faudrait peut-être placer la caméra un peu différemment. Mais bon, il y a 2 singes en 3D maintenant !
J'aimerais mettre les fichiers blender des 2 singes sur mon site mais ils sont trop lourds, va falloir que je les héberge ailleurs.
Je me suis amusée à ajouter un évènement, mon objectif étant de pouvoir comptabiliser les fruits et les feuilles de palmier jaunies que prend le singe.
Je n'en suis pas encore là mais j'ai réussi à en faire une petite partie sur p.html. Pour l'instant, quand on passe sur certains fruits et palmes, ils disparaissent (remplacés par une tuile verte), le score est incrémenté et 3 images (cachées dans un div grâce aux style) apparaissent. Je vois ça comme un début d'inventaire.
Mon souci est que le score continue à s'incrémenter quand le singe reste près de la zone. Normal, puisque c'est basé uniquement sur sa position sur le canvas et qu'à chaque rafraichissement, il revérifie sa position et repasse dans la boucle. Je pense que je dois changer le numéro de la tuile dans la map pour qu'il "pense" qu'il n'y a plus de fruit dès le 1er passage.
Ensuite, il faudra que je repère les tuiles de fruits dans la map en fonction de leur numéro sans avoir à écrire un tableau à la main. L'idéal serait d'avoir des scores pour chaque catégorie, fruit (1 ou 2 d'un coup) ou palme, et que le score ajoute 2 lorsqu'il va sur une tuile à 2 fruits.
Mais bon, même si le résultat est un peu naze, je suis contente d'avoir avancé toute seule !
J'ai nettoyé un peu mon code mais il y a encore un gros souci : q2.html
Le problème est que quand on passe à la croisée des chemins, on change bien de dessin de map (gérée par un fichier json) mais pour ce qui est des collisions et de la collecte de fruits, on reste bloqués sur les coordonnées de la map 1.
En fait, dès que le perso sort de la croisée des chemins, le jeu reprend les coordonnées de collision et de fruits de la map1 car je n'arrive pas à placer les évènements 2 et 3 hors de la fonction qui gère les collisions :
function isNextMoveAllow(newPosX, newPosY, mapName) {
map.evenements2();//on fait les vérifications pour les évènements de changement de carte selon la position du personnage
map.evenements3(); // vérifications pour un passage sur les fruits
//on regarde si avec la position de coordonnées (newPosX, newPosY) on n'est pas sur une mauvaise case
var centrePersoX = newPosX+(spriteWidth/2);//on créée un carré virtuel de coté 32 (taille de la tuile et largeur du sprite) et de centre (centrePersoX, centrePersoY)
var centrePersoY = newPosY+(spriteHeight-(tileWidth/2));
// reste de la fonction }
Voici les évènements placés dans le constructeur Map:
Encore moi car voici la dernière mouture du jeu. J'ai essayé de mettre un peu d'ordre dans les fichiers javascript, chacun gère un truc (persos, carte, événements) et est nommé en fonction.
Je viens d'ajouter un pnj animé (perroquet qui bat des ailes, sans bouger). Le singe peut passer sur lui, ce n'est pas très logique, je n'ai pas la gestion des collisions entre sprites à ce stade.
Pour les singes, j'ai revu mon animation dans Blender(elle a encore de petits défauts, mais c'est mieux, je crois) mais dans la spritesheet, je n'ai mis que 4 steps pour la marche, c'est un peu saccadé.
Est-il possible de réduire la vitesse de rafraichissement de l'animation ?
J'ai essayé de descendre le chiffre de 1000/60 ci-dessous mais ça n'a pas l'air de marcher.
window.requestAnimationFrame = (function(){//on crée la fonction pour gérer l'animation
return window.requestAnimationFrame || // La forme standardisée
window.webkitRequestAnimationFrame || // Pour Chrome et Safari
window.mozRequestAnimationFrame || // Pour Firefox
window.oRequestAnimationFrame || // Pour Opera
window.msRequestAnimationFrame || // Pour Internet Explorer
function(callback) { // Pour les élèves du dernier rang
window.setTimeout(callback, 1000 / 60);
};
})();
Essaie de lui envoyer un MP, car il a une version provisoire qui peut être utile. Il m'a dit qu'il était pas mal occupé mais qu'il espérait pouvoir continuer après.
Je lui demanderai de mon côté si je peux fournir cette version provisoire à ceux qui la demandent sur ce forum.
J'aimerais bien qu'il le publie mais il souhaite le retravailler d'abord.
Le tuto de départ est dispo ici. Je l'avais trouvé plus compliqué que celui de jamjam mais pour ce qui est de comment préparer les graphismes, il est OK.
Grâce à l'accord de jam-jam68140, je suis en train d'avancer sur une version légèrement différente de son tuto, en utilisant les graphismes de Guyana-Dream et en essayant au maximum d'utiliser des variables faciles à changer.
Je peux vous envoyer ce tuto par M-P sur demande.
A l'heure actuelle, il explique comment créer une carte, animer un perso et gérer les collisions, passer d'une carte à l'autre grâce à un événement et choisir entre 2 persos.
Mon objectif est déjà d'écrire comment arriver au même résultat que Guyana-Dream, en essayant en plus d'améliorer mon code précédent qui n'était pas forcément optimal.
Il y a encore pas mal de boulot et j'aurais bien besoin de l'aide de quelqu'un de plus compétent que moi en javascript, mais en attendant que jam-jam68140 soit un peu plus dispo, c'est déjà pas mal, non ?
Il faudra bien sût tester pour voir si le code que j'ai fait est facilement adaptable à un autre jeu et s'il ne présente pas de défaut
Côté tuto, je n'ai pas trop avancé dernièrement, d'autant que, en le rédigeant, j'avais revu mon code pour utiliser le principe des classes.
A cette occasion, j'avais découvert ce cours sur les objets personnalisés, qui m'a permis de mieux comprendre comment tout cela fonctionne.
Aujourd'hui, je me suis inscrite à un cours d'Openclassroom sur Jquery pour avancer sur un autre projet, pour le boulot, cela me servira peut-être pour ici.
Le projet m'intéresse beaucoup car ça remplacera surement mon petit jeu flash, pour l'instant j'en suis au cours HTML5, CSS3, Python et Swift donc pas encore de temps pour le Javascript :/
Si ça ne te dérange pas, continue de poster, il y a peut-être beaucoup d’intéressé muet
je profite de ce sujet pour une question corrélée. J'ai dans les cartons un tuto sur la construction d'un moteur 3Diso en HTML 5 (canvas + js). Ça me parait une bonne base pour un jeu vidéo.
je profite de ce sujet pour une question corrélée. J'ai dans les cartons un tuto sur la construction d'un moteur 3Diso en HTML 5 (canvas + js). Ça me parait une bonne base pour un jeu vidéo.
Je suis très intéressé par le tuto de JamJam si il est toujours possible de le recevoir? Et si le temps me le permet je vous aiderais volontiers à le compléter.
Le tuto sur la réalisation d'une carte en 3D iso m'intéresse aussi beaucoup Bon courage JC Torrel et merci beaucoup !
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.