Problème collision avec les tuiles

Salut à tous,

Voila, je vous explique mon problème,

J’ai créer un curseur et je veux afficher un texte quand il entre en collision avec une tuile précise.

J’ai donc fait :

Condition : Curseur est en collision avec tuile 1;0 (calque 0) de tuile1

Action : afficher texte

Mais rien, Merci pour votre aide

Amicalement Jim,

Salut,
Tu peux nous envoyer ton projet (tout le dossier, dans un zip) ?

oui c’est possible,

Mon projet.zip (10.7 KB)

Merci a toi Victor,

Le truc, c’est que la condition pour tester la collision utilise les masques de collision des tuiles : il n’y a donc pas de collision s’il n’y a pas de tuile dans la case.

En attendant, tu peux voir si ton objet Curseur est “sur” une case (même vide) et comparant la position de l’objet Curseur avec la position de la case, par exemple : (mettre les 4 conditions dans l’événement)

  • La position X de Curseur est > à Tuile_Univers.X() + MACOLONNE * Tuile_Univers.TileWidth()
  • La position X de Curseur est < à Tuile_Univers.X() + (MACOLONNE + 1) * Tuile_Univers.TileWidth()
  • La position Y de Curseur est > à Tuile_Univers.Y() + MALIGNE * Tuile_Univers.TileHeight()
  • La position Y de Curseur est < à Tuile_Univers.Y() + (MALIGNE + 1) * Tuile_Univers.TileHeight()

En remplaçant respectivement MACOLONNE et MALIGNE par numéro de la colonne et de la ligne (attention, 1ère ligne/colonne = 0)
TileWidth() et TileHeight() donnent la largeur et la hauteur des tuiles.
Attention au parenthèses autour de (MACOLONNE + 1) et (MALIGNE + 1).

Je réfléchis maintenant à ajouter une condition permettant simplement de tester si un objet est sur une case (avec les coordonnées, pas les masques de collision).

OK, merci de ton aide,

je test ça de suite, :wink:

Edit: Ça ne fonctionne pas Victor, aucun texte ne s’affiche, :frowning:

Personne pour m’aider;; S’il vous plait, Merci,

Personne répond ici alors :open_mouth:
C’est pas sérieux ça :frowning:

En se qui me concerne, comment ont fait pour dire que quand t-elle objet est en collision avec une tuile “Qui à le bouton ‘Collisions ?’ activé” que l’objet stop ?

Il faut quand même pas faire ça un par un quand même ?
Il faut que je dise dans les événements que à chaque fois que objet entre en collision avec une certaine tuile, qu’il s’arrête ?

Si c’est ça alors, c’est franchement pas facile, ya pas mieux, plus simple, plus rapide ?
Style, quand objet est en collisions avec n’importe quel tuile qui à le bouton ‘Collision ?’ activé se stop et voilà :slight_smile:

Faudrait que je rajoute une condition pour ça en effet

Super, cool car sinon ont fait comment actuellement ?
Faut faire une condition par tuile ?
C’est un travail fastidieux !!!

Ah non je dis n’importe quoi. En fait, il suffit d’utiliser la condition de collision par masque de collision (celle dans tous les objets, la carte de tuiles génère automatiquement ce masque de collision avec la tuiles qui ont “Collisions ?” d’activé)

Ok si ta un exemple stp :slight_smile:

C’est pas compliqué, tu utilises l’action de collision de la catégorie “Tous les objets > Collisions”.

Oki c’est bon j’ai vue merci :slight_smile: