Epingler sans rotation (menu au dessus d'un personnage)

1
  • 0 favoris

Taggé

Fichiers attachés

Les fichiers suivants ont été attachés à ce tutoriel:

.capx

playerandmenurotating.capx

Télécharger maintenant 76.89 KB

Statistiques

2,061 visites, 2,358 vues

Outils

Partager

License

This tutorial is licensed under CC BY 4.0. Please refer to the license text if you wish to reuse, share or remix the content contained within this tutorial.

Le comportement "Pin" (épingler) fonctionne très bien dans la plupart des cas, mais il y a une situation courante qui peut poser problème.

Par exemple, si vous souhaitez avec un menu au dessus d'un personnage, suivant ce personnage quand il se déplace, le menu suivra la rotation du joueur, y compris en choisissant l'option "Position seule".

Ce mini- tutoriel est ici pour vous aider à utiliser le comportement "Pin" dans ces situations.

Problème

Dans cet exemple, le jour (carré noir) a un comportement "rotate" (tourner).

Les 3 MenuIcons (carré bleus avec 1 à 3 barres) sont épinglés au joueur, avec l'option "Position seule".

Quand le joueur tourne, les menuIcons tournent aussi, car leur position relative par rapport au joueur doit rester la même (ceci n'est pas un bug, c'est le comportement supposé de cette behavior). Seulement, ce n'est pas ce que nous souhaitons dans notre cas.

Solution

Nous devons d'abord comprendre pourquoi les icônes tournent autour du jouer. Elles sont toutes trois positionnées à un emplacement au dessus du joueur. Seulement quand le joueur tourne, cet emplacement tourne aussi. Il reste "au dessus" du joueur, relativement à son orientation. Ce dont nous avons besoin donc est d'épingler les icônes par rapport à l'origine du personnage, car l'origine ne se déplace pas lors d'une rotation. Comme le comportement "épingler" ne permet pas de choisir un point d'épinglage (image point dans C2), nous allons devoir en simuler un.

Ainsi, nous créons un nouvel objet, le point d'ancrage (objet Hook), un sprite 1x1, invisible, positionné et épinglé au centre du joueur, avec le réglage "position seule". Ce pixel va suivre le joueur sans jamais tourner. C'est donc le candidat parfait pour épingler nos icônes.

Implémentation

Avec ces quelques événements simples, nous créons une "chaîne d'épinglage", et le comportement final est exactement le comportement voulu. Cette astuce peut très facilement être utilisée dans de nombreux cas, et est bien plus simple que de repositionner manuellement à chaque tick les objets que nous ne pouvions épingler auparavant.

Dans le capx fourni avec ce tutoriel, j'ai créé un point d'ancrage plus gros et je l'ai laissé visible afin de rendre le tout plus compréhensible.

.CAPX

playerandmenurotating.capx

Download now 76.89 KB
  • 0 Comments

  • Order by
Want to leave a comment? Login or Register an account!