Vous lisez 8 fils de discussion
  • Auteur
    Messages
    • #57269
      Lethael
      Participant

      Bonjour tout le monde,

      J’espère pouvoir trouver un peu d’aide par ici, car je sèche sur un problème.
      Je joue avec Phaser 3 depuis une semaine, et je souhaite tester une collision.
      Je m’explique. Je récupère dans un json la map qui a au préalable était faite via Tiled.
      Mes « Tiled Object » sont récupérés via une fonction (le code sera inséré peu après 🙂 ) dans un static group.
      Je set les collisions entre le joueurs et le dit static group. La collision se fait à merveille, cependant je ne sais pas comment récupérer cette collision.
      C’est à dire que si collision je fais ce que je désire…

      Voici le code

      this.itemsLayer = map.getObjectLayer('items')['objects'];
              
      this.items = this.physics.add.staticGroup();
      this.itemsLayer.forEach(object => {
          let obj = this.items.create(object.x, object.y, "axe"); 
          obj.setOrigin(0); 
          obj.body.width = object.width; 
          obj.body.height = object.height; 
      });
      
      this.physics.add.collider(this.player, this.items);
    • #57295
      Lethael
      Participant

      Bon pour ceux que ça intéresse, voici le code dans le update() qui permet de check la collision

      this.physics.collide(this.player, this.items, this.testCollide, false, this);

    • #57386
      Hyperdestru
      Participant

      Hello Lethael,
      On dirait bien que t’as trouvé 🙂
      this.physics.add.collider() et this.physics.collide() prennent une fonction en 3e parametre, perso je fais avec une fonction anonyme fléchée si elle ne fait pas grand chose et une fonction a part entière si elle fait un peu plus :

        this.physics.add.collider(player, trampoline, () => {
          player.setVelocityY(-800);
          sound_bounce.play();
        }, null, this);
    • #57402
      Lethael
      Participant

      Salut Hyperdestru ! Merci pour ta réponse et effectivement j’avais trouvé. (J’avoue quand même que la docs de Phaser 3 est assez dégueulasse 🙂 )

      Ouais j’aurai effectivement pu partir sur une fonction lambda, mais si je peux les éviter je le fais. (J’en vois assez comme ça au taff et qui sont très mal foutues donc bon 🙂 )

    • #57416
      Hyperdestru
      Participant

      C’est clair elle est honteuse, ils sont débordés les pauvres. C’est un jeu de piste de trouver de bonnes refs/exemples, j’étais tombé sur ce repo : https://rexrainbow.github.io/phaser3-rex-notes/docs/site/
      Sûrement tu connais mais on sait jamais, ça m’a un peu aidé parfois.

    • #57453
      Lethael
      Participant

      Merci pour la ressource, je ne connaissais pas (je suis tout nouveau dans l’univers de Phaser et du JS)

      Je vais regarder ça d’un peu plus près 🙂
      Au fait, toi qui a l’air de toucher Phaser, tu te sers de Tiled pour faire tes maps?
      Si oui, est-ce qu’il y a une possibilité de gérer un layer uniquement pour les events? (Actuellement je passe par des Objects Layer, ce qui est un peu lourd 🙂 )

    • #57472
      Hyperdestru
      Participant

      Oula non j’suis un noob en phaser ahaa, js/es6 j’y touche depuis 1 an mais phaser non, et justement j’allais me pencher sur les tilemaps… du coup tu en sais plus que moi sur cette partie. J’ai un peu laisser tomber au profit de la formation gamecodeur (je reprends tout depuis le début, bases fraîches), je reviendrai a phaser par la force des choses grâce a un petit projet 2D avec un ami graphiste qu’on a gentiment commencé (prochaine étape : la map justement), mais bon voila. Peut être même que je vais le faire en Löve au final, c’est un tel chantier phaser (et même la galaxie js tant qu’on y est 😀 )

    • #57496
      Lethael
      Participant

      Pour ma part je ne me sert que de Phaser 3, pas ES6 🙂
      C’est un choix personnel, et ça me convient très bien pour l’utilisation que j’en fais (un simple rpg… D’ailleurs peut être que je devrais faire un devlogs.. A voir)

      Après si jamais tu as des questions sur Phaser, je reste dispo 🙂

    • #57515
      Hyperdestru
      Participant

      Ça marche c’est noté 😉 ça se pourrait bien que j’en ai dans un futur proche.

Vous lisez 8 fils de discussion
  • Vous devez être connecté pour répondre à ce sujet.