[Résolu][DB-AL] Faire varier un point d'un EdgeCollider2D

Pour les scripts écrits en C#
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
Avatar de l’utilisateur
Aelhan
Messages : 124
Inscription : 11 Déc 2019 23:00

[Résolu][DB-AL] Faire varier un point d'un EdgeCollider2D

Message par Aelhan » 08 Juil 2020 09:32

Bonjour,

Cela fait un moment que je ne suis pas passé par ici, je ne fais pas partie de ceux pour qui le confinement a été un boost, au contraire :pleur4:
Je reviens malgré tout avec une question a priori toute simple, j'ai un objet dont je fais varier la taille en x et en y grâce à certaines actions, dans cet objet (visuellement dedans, pas dans la hiérarchie) j'ai un collider que je ne veux faire varier que en y. J'ai intégré ce petit bout dans mon code qui fait varier l'objet en question :

Code : Tout sélectionner

public void Extension()
{
collider.GetComponent[EdgeCollider2D]().points[0] += new Vector2 (0f, 0.0001f) ;
}
J'ai bien mon objet qui grandit toujours, mais mon collider lui ne réagit pas. Tout est correctement déclaré, pas d'erreurs retournées, simplement le point reste strictement aux mêmes coordonnées. Si quelqu'un a une petite idée, merci d'avance !
Dernière édition par Aelhan le 08 Juil 2020 16:01, édité 2 fois.
Celui qui pose une question risque cinq minutes d'avoir l'air bête.
Celui qui ne pose pas de question restera bête toute sa vie.

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6185
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [DB-AL] Faire varier un point d'un EdgeCollider2D

Message par boubouk50 » 08 Juil 2020 09:38

Appelle-tu cette méthode quelque part?

Je ne connais pas la syntaxe GetComponent[EdgeCollider2D], la doc n'en parle pas. C'est fonctionnel? :pasdrole:

Aussi, merci de poster le code dans son ensemble, avec les appels à cette fonction.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Avatar de l’utilisateur
Aelhan
Messages : 124
Inscription : 11 Déc 2019 23:00

Re: [DB-AL] Faire varier un point d'un EdgeCollider2D

Message par Aelhan » 08 Juil 2020 10:07

Merci de ta réponse, a priori ce n'est pas fonctionnel puisque ça ne fonctionne pas :triste1: mais en tout cas Unity ne se fâche pas. Pour le code dans son ensemble, cela devra attendre, je n'ai que le tel pour le moment, ce soir je pourrai le poster.
Sinon, oui, la fonction est appelée par plusieurs boutons, et vu que c'est la même void qui fait varier la taille de mon objet et que ça fonctionne de ce côté là je n'ai pas de souci d'appel.

En tout cas si quelqu'un a une solution pour arriver au résultat escompté d'une autre manière je suis preneur !
Celui qui pose une question risque cinq minutes d'avoir l'air bête.
Celui qui ne pose pas de question restera bête toute sa vie.

Avatar de l’utilisateur
Max
Messages : 8763
Inscription : 30 Juil 2011 13:57
Contact :

Re: [DB-AL] Faire varier un point d'un EdgeCollider2D

Message par Max » 08 Juil 2020 14:13

Hello,
Aelhan a écrit :
08 Juil 2020 09:32

Code : Tout sélectionner

public void Extension()
{
collider.GetComponent[EdgeCollider2D]().points[0] += new Vector2 (0f, 0.0001f) ;
}
Tu ne peux pas accéder directement à un point. Tu dois récupérer l'array, changer le point souhaité et réassigner l'array. Donc si tu souhaites accéder à un des points de ton EdgeCollider2D, le principe de base est:

Code : Tout sélectionner

public void Extension()
{
            EdgeCollider2D edgeCollider = GetComponent<EdgeCollider2D>();
            Vector2[] colliderpoints;
            colliderpoints = edgeCollider.points;
	// point à modifer
            colliderpoints[0] += new Vector2(0f, 0.4f); // par exemple
            
            edgeCollider.points = colliderpoints;
}
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

Avatar de l’utilisateur
Aelhan
Messages : 124
Inscription : 11 Déc 2019 23:00

Re: [DB-AL] Faire varier un point d'un EdgeCollider2D

Message par Aelhan » 08 Juil 2020 15:23

Je te remercie, pas aussi direct et intuitif que ma proposition de départ, je teste ça et je clos si ça fonctionne !
Celui qui pose une question risque cinq minutes d'avoir l'air bête.
Celui qui ne pose pas de question restera bête toute sa vie.

Répondre

Revenir vers « (C#) CSharp »