Communauté

Position d'un recta...
 
Notifications
Retirer tout

[Résolu] Position d'un rectangle dit "pad" (atelier casse-briques)

7 Posts
3 Utilisateurs
0 Likes
492 Vu
0
Début du sujet

Bonjour

 

Je cherche la véritable position d'un "objet".

Dans l'atelier pong, par exemple, et aussi dans la documentation pour love.graphics :

La position d'un objet est celle du point situé au coin supérieur gauche.

D'après ce que j'ai compris, love.draw() sert à afficher des formes. Et ce qu'on affiche à l'écran peut être différent de la logique de love.update()

Pourtant, ensuite quand il faudra faire des calculs sur ce rectangle "pad" (video 3, 2m7s), on fera comme si la position du rectangle était celle du centre du rectangle (!!!)

 

Du coup la position du rectangle, c'est son coin, ou son centre finalement ?

 

Merci pour votre réponse.

 

7 Réponses
0

@pouty 

Pour un cercle, c'est son centre.

Pour un rectangle, c'est son coin supérieur gauche.

Pour une image, c'est son coin supérieur gauche, sauf si on décale l'origine avec les paramètres ox et oy de love.draw.

L'exemple de helwina sur le rectangle est erroné, on ne peut pas changer l'origine d'un rectangle. Son code ne fait que le décaler.

0

@pouty dans une des vidéo précédente on a changer l origine du pad pour qu elle ne soit plus au coin en haut a gauche mais au centre du rectangle

0

voir video 2 a 7:50 a ce moment la on deplace l origine au centre du rectangle

0

dans les video pong on utilise encore le coin comme origine pour ne pas trop compliquer les chose mais par contre pour les autres ateliers on deplace l origine par programation pour qu elle soit au centre de l objet

0

on fait par exemple love.graphics.rectangle("fill", pad.x + (pad.largeur / 2), pad.y + (pad.hauteur / 2), pad.largeur, pas.hauteur) pour centrer l origine du pad 

0
Début du sujet

Bonjour Helwina,

et merci pour tes réponses. J'ai bien compris qu'on essaie de "changer l'origine", mais pour moi le problème est un problème de précision.

Pour moi quand on fait love.graphics.rectangle("fill", pad.x + (pad.largeur / 2), pad.y + (pad.hauteur / 2), pad.largeur, pas.hauteur) 

On dessine un rectangle qui a pour origine (point en haut à gauche) le centre du rectangle de base. Mais c'est différent du rectangle qu'on manipule dans update, qui est le rectangle de base.

Est-ce que quelqu'un d'autre peut nous éclairer par rapport à l'origine du rectangle (du point de vue logique) ?

 

0

si tu veut plus de logique tu peut directement donné ces valeur quand tu crée les variable pad.x et Pad.y en haut de ton main.lua

comme ca tu aura les meme valeur pour ton pad.x et Pad.y dans l update et le draw

Répondre
Share:

Dialoguez avec les autres membres de la gamecodeur school.

Accédez maintenant à notre serveur Discord privé : Entraide, Game Jams, Partage de projets, etc.

Vous devez être membre de la Gamecodeur School Premium pour être autorisé à accéder au serveur.