28-12-2011, 08:39 PM
(Modification du message : 30-12-2011, 11:57 AM par Sephi-Chan.)
Base de travail (EN) : http://www.html5rocks.com/en/tutorials/c...otearsgame
Base de travail possible (FR) http://www.siteduzero.com/tutoriel-3-470...anvas.html => utiliser prototype plutôt que les closures, un manager plutôt que new Image(); .onload .src etc...
=> Manager d'images pour être sûr que vos images sont chargées et prêtes à être dessinées dans le canvas : http://www.html5rocks.com/en/tutorials/g...etmanager/
Un exemple de jeu complet pas à pas : http://io-2011-html5-games-hr.appspot.com/#1
Améliorer les performances de Canvas (indispensable) : http://www.html5rocks.com/en/tutorials/c...rformance/
Canvas et Web Workers : http://weblog.bocoup.com/processing-pixe...eb-workers
RequestAnimationFrame pour gérer votre boucle de dessin : http://lmlt.fr/2011/06/05/la-boucle-prin...tionframe/
Jeu XNA vers Canvas grâce à EaselJS : http://blogs.msdn.com/b/davrous/archive/...seljs.aspx
Questions/Réponses pointues sur JS et Canvas : http://stackoverflow.com/
Valider son JSON pour les maps : http://jsonlint.com/
Et de solides connaissances en JS, parce que HTML5 c'est 1% de HTML et 99% de JS
Base de travail possible (FR) http://www.siteduzero.com/tutoriel-3-470...anvas.html => utiliser prototype plutôt que les closures, un manager plutôt que new Image(); .onload .src etc...
=> Manager d'images pour être sûr que vos images sont chargées et prêtes à être dessinées dans le canvas : http://www.html5rocks.com/en/tutorials/g...etmanager/
Un exemple de jeu complet pas à pas : http://io-2011-html5-games-hr.appspot.com/#1
Améliorer les performances de Canvas (indispensable) : http://www.html5rocks.com/en/tutorials/c...rformance/
Code :
// Pre render Canvas divise le temps mis par la boucle de dessin par 10... LE truc à savoir sur Canvas
// on créé un canvas hors écran qu'on n'ajoute pas au DOM
var buffer = document.creatElement('canvas');
// on récupère le context
var ctx = buffer.getContext('2d');
// vous dessinez dans ce canvas
ctx.fillRect();
ctx.drawImage();
[...]
// on récupère le context du canvas à l'écran
var canvas = document.getElementById('canvas');
var ctx2 = canvas.getContext('2d');
// boucle de dessin, setInterval ou requestAnimationFrame
setInterval(funtion { draw(buffer, ctx2); }, 1000/60); // 1000/60 = 16,666 = 60 FPS
// on envoie le canvas hors écran et le context à l'écran
function draw(buffer, ctx2) {
ctx2.drawImage(buffer, 0, 0);
// ici dessin des personnages par exemple
}
Canvas et Web Workers : http://weblog.bocoup.com/processing-pixe...eb-workers
RequestAnimationFrame pour gérer votre boucle de dessin : http://lmlt.fr/2011/06/05/la-boucle-prin...tionframe/
Jeu XNA vers Canvas grâce à EaselJS : http://blogs.msdn.com/b/davrous/archive/...seljs.aspx
Questions/Réponses pointues sur JS et Canvas : http://stackoverflow.com/
Valider son JSON pour les maps : http://jsonlint.com/
Et de solides connaissances en JS, parce que HTML5 c'est 1% de HTML et 99% de JS