Get the Mytodolist Free Android app from SlideME.

vendredi 29 mars 2013

1/ Premier projet de JMonkeyEngine « SimpleApplication »


             Dans cette série tutoriel, nous supposons que vous utilisez le SDK du moteur jmonkeyengine. En tant que développeur Java intermédiaire ou avancé, vous verrez rapidement que vous pouvez développer avec jmonkeyengine dans n'importe quel environnement de développement intégré (EDI NetBeans, Eclipse, IntelliJ) ou même à partir de la ligne de commande.

OK, commençons par créer notre application jMonkeyEngine3 en premier.



Créer un projet



Dans le SDK du moteur jmonkeyengine:
  • Choisissez  File→New Project ... dans le menu principal.
  • Dans l'assistant New Project  sélectionnez le modèle JME3 → BasicGame

  • Cliquez sur Suivant.
  • Spécifiez un nom de projet, par exemple HelloWorldTutorial"


  • Spécifiez un chemin où stocker votre nouveau projet, par exemple, le répertoire jMonkeyProjects dans votre répertoire personnel.
  • Cliquez sur Finish.


Nous vous recommandons de passer par les étapes vous-même, tel que décrit dans les tutoriels. Alternativement, vous pouvez créer un projet basé sur le modèle JmeTests dans le SDK du moteur jmonkeyengine. Il permettra de créer un projet qui contient déjà les échantillons jme3test.helloworld (et bien d'autres). Par exemple, vous pouvez utiliser le projet JmeTests pour vérifier si vous avez la bonne solution.



Ecrire un SimpleApplication

       Pour ce tutoriel, vous devez créer un package jme3test.helloworld dans votre projet, et de créer un fichier HelloJME3.java en elle.

Dans le SDK du moteur jmonkeyengine:

  • Cliquez-droit sur le noeud de Source Packages de votre projet.
  • Sélectionnez New ... → Java Class pour créer un nouveau fichier.

  • Entrez le nom de la classe: HelloJME3
  • Entrez le nom du paquet: jme3test.helloworld.
  • Cliquez sur Finish.
Le SDK crée le fichier HelloJME3.java pour vous.


Exemple de code

Remplacez le contenu du fichier HelloJME3.java avec le code suivant:


package jme3test.helloworld;
 
import com.jme3.app.SimpleApplication;
import com.jme3.material.Material;
import com.jme3.math.Vector3f;
import com.jme3.scene.Geometry;
import com.jme3.scene.shape.Box;
import com.jme3.math.ColorRGBA;
 
/ ** Exemple 1 - comment commencer par la plus simple application JME 3.
  * Afficher un cube bleu en 3D et voir de tous les côtés
  * En déplaçant la souris et en appuyant sur les touches WASD. * /
public class HelloJME3 extends SimpleApplication {
 
    public static void main(String[] args){
        HelloJME3 app = new HelloJME3();
        app.start(); // start the game
    }
 
    @Override
    public void simpleInitApp() {
        Box b = new Box(Vector3f.ZERO, 1, 1, 1); // Créer une forme de cube à l'origine
        Geometry geom = new Geometry("Box", b);  // créer une géométrie cubique de la forme
        Material mat = new Material(assetManager,
          "Common/MatDefs/Misc/Unshaded.j3md");  // Créer une simple matière
        mat.setColor("Color", ColorRGBA.Blue);   // donne la couleur bleue à la matière
        geom.setMaterial(mat);                   // donne la matière au cube
        rootNode.attachChild(geom);              // fait apparaître le cube sur la scène
    }
}



Clique-droit sur la classe HelloJME3 et choisissez Execute. Si une boîte de dialogue jME3 apparaît, confirmez les paramètres par défaut.


  • Vous devriez voir une fenêtre simple affichage d'un cube en 3D.
Image JMonkeyEngine BonjourSimpleApplication

  • Appuyez sur les touches WASD et déplacez la souris pour naviguer autour.
  • Regardez le FPS (Frames per second) et l'information sur le nombre d'objets dans le coin inférieur gauche. Vous utiliserez ces informations au cours du développement, et vous l'enlever pour la distribution. 
  • Appuyez sur Echap pour fermer l'application.


Félicitations! Maintenant, nous allons voir comment cela fonctionne!



Explication du code




Le code ci-dessus permet initialiser la scène, et de démarrer l'application.


  • Démarrage de SimpleApplication



public class HelloJME3 extends SimpleApplication {
  // your code...
}

Chaque jeu JME3 est une instance de com.jme3.app.SimpleApplication. La classe SimpleApplication gère votre graphe de scène 3D et dessine automatiquement à l'écran - qui en somme, ce qu' un moteur de jeu fait pour vous!



Vous commencez chaque jeu JME3 à partir de la méthode main () et  comme tout application Java standard:

    • Instanciez votre classe de base SimpleApplication 
    • Appelez la méthode start () de l'application pour démarrer le moteur de jeu.

    public static void main(String[] args){
        HelloJME3 app = new HelloJME3(); // instancie le jeu
        app.start();                     // démarre le jeu!
    }
Ce code vous ouvre la fenêtre de votre application. Voyons par la suite comment ajouter du contenu dans la fenêtre de notre application.

Principe:

Qu'est ce que vous voulez faire?Comment vous devez le dire à JME3
Créer un cubeCréer une géométrie 1x1x1 en forme de boîte.
Utiliser la couleur bleue.Créé une matière avec les propriétés de la couleur bleue
Colorier le cube en bleuColler la matière sur la géométrie de la boîte
Ajouter le cube à la scèneAttaché la géométrie de la boîte au noeud racine (rootNode)
faire apparaître le cube au centre de l'écrancréé la boite ayant pour coordonnées origine = Vector3f.ZERO.


Si vous n'êtes pas familier avec le vocabulaire, en savoir plus sur les graphes scéniques ici.

Initialisation de la scène

Voyons le reste de l'échantillon de code. La méthode simpleInitApp () est automatiquement appelée une fois au début, lorsque l'application démarre. Chaque jeu  JME3 doit avoir cette méthode. Dans la méthode simpleInitApp (), vous devez charger les objets du jeu avant que le jeu commence.


 public void simpleInitApp() {
       // your initialization code...
    }


L'initialisation du code du cube bleu


   public void simpleInitApp() {
        Box b = new Box(Vector3f.ZERO, 1, 1, 1); // créé une une boite de coordonnées 1x1x1 à partir de l'origine
        Geometry geom = new Geometry("Box", b);  // créé la géometrie du cube à partir de la boite.
        Material mat = new Material(assetManager,
          "Common/MatDefs/Misc/Unshaded.j3md");  // créé une simple matière
        mat.setColor("Color", ColorRGBA.Blue);   // attribut la couleur bleu à la matière
        geom.setMaterial(mat);                   // attribut la géométrie cubique à la matière
        rootNode.attachChild(geom);              // fait apparaître le cube dans la scène.
    }


Un typique jeu JME3 a le processus d'initialisation suivante:



  • Vous initialisez les objets du jeu:
    • Vous pouvez créer ou charger des objets et les positionner.
    • Vous faite apparaître les objets dans la scène en les rattachant au noeud racine.
    • Exemples: Chargement du joueur , terrain, ciel, les ennemis, les obstacles, ..., et les placer dans leurs positions de départ.

  • Vous initialiser les variables
    • Vous pouvez créer des variables permettant de suivre l'état du jeu.
    • Vous pouvez définir des variables à leurs valeurs initiales.
    • Exemples: Définir le score à 0, mettre la santé à 100%, ...

  • Vous initialisez les clés et les actions de la souris.
    • Les liaisons d'entrée suivants sont pré-configurés:
      • touches W, A, S, D  - Déplacez-vous dans la scène
      • Mouvement de la souris et les touches fléchées - Mettez la caméra
      • La touche Échap - Quitter le jeu
    • Définissez vos propres touches supplémentaires et les actions de clic de souris.
    • Exemples: Cliquez pour tirer, appuyez sur espace pour sauter, ...


Conclusion


Vous avez appris que l'utilisation de SimpleApplication est un bon point de départ car il vous offre:


  • La méthode simpleInitApp () dans laquelle vous pouvez créer des objets.
  • Un noeud racine (rootNode) où vous pouvez attacher les objets pour les faire apparaître dans la scène.
  • Paramètres  d'entrée utiles par défaut que vous pouvez utiliser pour la navigation dans la scène.

Lorsque vous développez une application de jeu, vous devez:

  • Initialiser le jeu de scène
  • Déclencher des actions de jeu
  • Répondre à une entrée de l'utilisateur.

Les tutoriels suivants à partir de maintenant vous permettrons d'apprendre comment accomplir ces tâches avec le moteur jmonkeyengine 3.

Continuer avec le tutoriel Bonjour nœud , où vous apprendrez plus de détails sur la façon d'initialiser le monde du jeu 3D, également connu sous le graphe de scène ou graphe scénique ....

<< Précédent                           Sommaire                     Suivant >>
-



1 commentaire: