Maps et tuiles

https://www.leshylabs.com/apps/sstool/https://www.leshylabs.com/apps/sstool/

I) GRAPHISME :

Un éditeur de niveaux 2D est nécessaire : Tiled Map Editor

Cet éditeur permet de créer des fichiers TMX

Un fichier TMX est constitué de tuiles (tile) regroupées dans une feuille (tile sheet)

Pour créer des tuiles (exemple 32 pixels par 32 pixels) créez un fichier de dimension ntuiles (exemple 32 tuiles par 32 = définition 1024 x 1024 pixels) à l’aide de GIMP. GIMP permet de définir une grille de 32×32 pixels (Image/Guide pour définir la grille puis Affichage/Afficher Grille pour l’afficher)

Créez une nouvelle carte « tile sheet » et choisissez soit ajoutez un tileset externe (fichier tsx) soit créez le fichier tsx à partir d’une image : fichier nouveau -> nouveau tileset puis « basé sur l’image, allez chercher l’image et définir la couleur de transparence grâce à la pipette.

Les calques permettent de juxtaposer au fond des images…

  1. Utilisation de la carte :

http://www.gamefromscratch.com/post/2014/04/16/LibGDX-Tutorial-11-Tiled-Maps-Part-1-Simple-Orthogonal-Maps.aspx

2) Déplacement sur la carte :

The InputProcessor is the interface that allows you to define what to do when some action (like for example touching screen) is being performed.

So the first thing is to implement the interface in your class:

    public class CameraTestMain extends ApplicationAdapter implements InputProcessor

then in create() method set the class as InputProcessor by calling:

    //create() method
    Gdx.input.setInputProcessor(this);

The second one is to implement touchDragged method. Notice that it’s x and y parameters are just relative to last pointer position so to get actual position of pointer you should save it in some global variable in touchDown method. Of course you do not need here the absolute pointer position since you can just modify camera position instead of setting this.

@Override
public boolean touchDragged(int screenX, int screenY, int pointer) {
    float x = Gdx.input.getDeltaX();
    float y = Gdx.input.getDeltaY();

    camera.translate(-x,y);
    return true;
}

To get more information take a look at this tutorialRemember to call camera.update() at the beginning of render() method!

a) Spirite :

Création :

Définir

    SpriteBatch sb;
    Texture texture;
    Sprite sprite;

Dans create :

        sb = new SpriteBatch();
        texture = new Texture(Gdx.files.internal("pik.png"));
        sprite = new Sprite(texture);

Dans render :

  sb.setProjectionMatrix(camera.combined);//Le spirite reste là où il est clické      
sb.begin();
        sprite.draw(sb);
        sb.end();

Positionnement sur click :

@Override
public boolean touchDown(int screenX, int screenY, int pointer, int button) {
   Vector3 clickCoordinates = new Vector3(screenX,screenY,0);
   Vector3 position = camera.unproject(clickCoordinates);
   sprite.setPosition(position.x, position.y);
   return true;
}

Code source pour cet exemple https://app.box.com/s/ewyycbmi2cg5oimxqr7htx7y2vpnkeca

Ressources (tuiles et images) :

http://www.heroscribe.org/theferret1/tilez.html

https://xtreme1992.deviantart.com/favourites/44194111/Tilesets

https://www.gamedeveloperstudio.com/index.php?orderby=priceup&resultsperpage=25

https://design.tutsplus.com/articles/the-must-have-game-assets-for-designers-and-digital-artists–cms-26641

Manipulation des images :

https://ezgif.com/

Tuto : http://www.gamefromscratch.com/post/2014/04/15/A-quick-look-at-Tiled-An-open-source-2D-level-editor.aspx

II) ANIMATIONS :

Utilisation de Box2D, GitHub: here.

Ce moteur d’effets « physiques » fonctionne selon le processus suivant :

  • Description de tous les éléments « physiques » de votre jeux incluant les volumes, la vitesse, la masse etc…
  • Indication au moteur de la période d’actualisation de l’action
  • Le moteur calcule les effets
  • Mise à jour du jeux en fonction des paramètres calculés.

Pour utiliser le moteur Box2D il faut lors de la création du jeux cocher la case Box2D

 

Références : http://www.gamefromscratch.com/post/2014/08/27/LibGDX-Tutorial-13-Physics-with-Box2D-Part-1-A-Basic-Physics-Simulations.aspx

http://www.gamefromscratch.com/post/2014/09/25/LibGDX-LibGDX-Tutorial-13-Physics-with-Box2D-Part-3-Collisions.aspx

Code source jusqu’à part3 = testanim

 

Publicités
Articles récents
Commentaires récents
fatima sur Bienvenue !
AdminDroid sur Bienvenue !
fatima sur Bienvenue !
Archives
Catégories
%d blogueurs aiment cette page :