Faire simple RPG avec JavaScript et Crafty Vous ?tes en avoir marre avec les jeux JavaScript et essayer de trouver comment construire des jeux bas?s sur le Web JavaScript ?
Cadre de jeu JavaScript - Crafty - de cr?er un simple JavaScript RPG .

Étiquette: simple jeu de RPG, JavaScript et Crafty, JavaScript RPG jeu, Cadre de jeu JavaScript, Rus?, gameplay, caract?re

Gratuit iPage hébergement Web pour la première année MOMENT

Si vous êtes toujours à la recherche d'un fournisseur d'hébergement Web fiable avec des tarifs abordables, pourquoi vous ne prenez pas un peu de temps pour essayer iPage, seulement avec $1.89/month, inclus $500+ Crédits supplémentaires gratuites pour le paiement de 24 mois ($45)?

Plus de 1.000.000 de clients + existisng peuvent pas avoir tort, vraiment vous n'êtes pas aussi! Plus important encore, lorsque vous enregistrez l'hébergement web à iPage grâce à notre lien, nous allons être heureux de renvoyer un plein remboursement. C'est génial! Vous devriez essayer iPage hébergement web GRATUITEMENT maintenant! Et contactez-nous pour tout ce que vous devez savoir sur iPage.
Essayez iPage GRATUIT première année MOMENT

The day has come where JavaScript games are possible and not only possible but simple. This article will show you how easy it is to create games in JavaScript using the canvas tag and even basic divs with the help of a new game engine called Crafty.

This tutorial will demonstrate how to build a Pokemon-style RPG with Crafty. You’ll be able to add your own features once you learn the basics. If you’d like to see the what we’ll be building.

view the demo | download demo

Before we get started there are some key concepts to learn which may differ to what you are used to. Crafty uses something called an Entity Component system. Entities are your game objects (players, enemies, walls, balls) and Components are objects or a set of functions and properties that can be applied to any entity which will inherit the functionality.

If you are used to Object Oriented programming, this is similar to one level of multiple inheritance. This is useful in game development because it avoids long chains of inheritence and messy polymorphism.

Crafty uses syntax similar to jQuery by having a selector engine to select entities by their components:

Crafty("hello 2D component")
Crafty("hello, 2D, component")

The first selector will return all entities that has the component mycomponent. The second will return all entities that has hello and 2D and component whereas the last will return all entities that has at least one of those components.

If you are a bit confused, fear not, first hand experience will make it click. So let’s dive in!


We need to setup our Crafty game. The skeleton of a Crafty game is a single HTML file with a script tag pointing to the Crafty JS file and another script tag for the game logic — in this example it’s game.js:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

<html xmlns="">
  <script type="text/javascript" src=""></script>

  <script type="text/javascript" src="game.js"></script>
  <title>My Crafty Game</title>

    body, html { margin:0; padding: 0; overflow:hidden; font-family:Arial; font-size:20px }

    #cr-stage { border:2px solid black; margin:5px auto; color:white }


Here’s a simple Crafty game skeleton:

window.onload = function() {

  //start crafty
  Crafty.init(50, 400, 320);


When the window object is loaded, initialize Crafty with a frames per second of 50, a width and height of 400 and 320 respectively, and create a Canvas element. In case you’re wondering, the reason for these dimensions is so 25 16×16 tiles can fit horizontally and 20 vertically.

Note: Crafty.canvas() is required for any canvas drawing. It can be left out if all drawing is done with DOM.

Now we have the basics of a Crafty game! Every game you create with Crafty will have generally the same skeleton code so feel free to use this as a template. Next up is setting up scenes.


Scenes in Crafty are a quick way to organise game objects and easily change between screens or levels. In our RPG we want a loading scene and the main scene which will be the game.

window.onload = function() {

  // Start crafty
  Crafty.init(50, 400, 320);


  // The loading screen that will display while our assets load
  Crafty.scene("loading", function() {

    // Load takes an array of assets and a callback when complete
    Crafty.load(["sprite.png"], function() {

      Crafty.scene("main"); //when everything is loaded, run the main scene
    // Black background with some loading text

    Crafty.e("2D, DOM, text").attr({w: 100, h: 20, x: 150, y: 120})

      .css({"text-align": "center"});

  // Automatically play the loading scene

Whoa, where did all that code come from? First we declare the loading scene and tell it what to display when it is played then run it straight away. Crafty.scene() is used to declare a scene as well as play it. In the loading scene we pre-load some assets, set the background to black and add some loading text. Crafty.load() is used to pre-load assets such as sounds or images and once completed, call a function. In our game we want to play the main scene as soon as the assets are loaded.

Note: If you need an entity to persist through changing scenes, simply add a component called persist.

JavaScript par jour

Google Safe Browsing McAfee SiteAdvisor Norton SafeWeb Dr.Web