Nœud

classe publique Node
Sous-classes directes connues
Sous-classes indirectes connues

Un nœud représente une transformation dans la hiérarchie du graphique de la scène. Elle peut contenir un affichage pour le moteur de rendu.

Chaque nœud peut avoir un nombre arbitraire de nœuds enfants et un parent. Le parent peut être un autre nœud ou la scène.

Cours imbriqués

interface Node.LifecycleListener Définition de l'interface pour les rappels à appeler lorsque des événements de cycle de vie des nœuds se produisent. 
interface Node.OnTapListener Définition de l'interface permettant d'appeler un rappel lorsque l'utilisateur appuie sur un nœud. 
interface Node.OnTouchListener Définition de l'interface pour un rappel à appeler lorsqu'un événement tactile est envoyé à ce nœud. 
interface Node.TransformChangedListener Définition de l'interface pour les rappels à appeler lorsque la transformation du nœud change. 

Constructeurs publics

Nœud()
Crée un nœud sans parent.

Méthodes publiques

void
addLifecycleListener(écouteur de Node.LifecycleListener cycle de vie)
Ajoute un écouteur qui est appelé lorsque des événements de cycle de vie des nœuds se produisent.
void
addTransformChangedListener(Node.TransformChangedListener transformChangedListener)
Ajoute un écouteur qui sera appelé lorsque la transformation du nœud change.
void
callOnHiérarchie(Consumer<Node> consumer)
Traverse la hiérarchie et appelle une méthode sur chaque nœud (y compris ce nœud).
Nœud
findInHiérarchie(Condition de prédicat<Nœud>)
Traverse la hiérarchie pour trouver le premier nœud (y compris ce nœud) qui remplit une condition.
Vector3
getBack()
Récupère le vecteur Retour arrière (+z) de ce nœud.
CollisionShape
getCollisionShape
Récupère la forme à utiliser pour les conflits avec ce nœud.
Vector3
getDown()
Récupère le vecteur World-Space Down (-y) de ce nœud.
Vector3
getForward
Récupère le vecteur avant espace (world) de ce nœud.
Vector3
getLeft
Récupère le vecteur mondial d'espace (-x) de ce nœud.
Léger
getLight
Récupère la lumière actuelle, qui est modifiable.
Vector3
getLocalPosition
Récupère une copie de la position des nœuds par rapport à son parent (espace local).
Quaternion finale
getLocalRotation
Récupère une copie de la rotation des nœuds par rapport à son parent (espace local).
Vector3
getLocalScale()
Récupère une copie des nœuds par rapport à son parent (espace local).
Chaîne finale
getName
Renvoie le nom du nœud.
Nœud final
getParent
Renvoie le parent de ce nœud.
Rendable
getRenderable()
Récupère le rendu de l'affichage pour ce nœud.
Vector3
getdroite
Récupère le vecteur d'espacement droit (+x) de ce nœud.
Scène finale
getScene
Renvoie la scène dont ce nœud fait partie. Valeur null s'il ne fait partie d'aucune scène.
Vector3
getUp
Récupère le vecteur "monde entier" (+y) de ce nœud.
Vector3
getWorldPosition
Obtenez une copie de la position "world-space" des nœuds.
Quaternion finale
getWorldRotation
Récupère une copie de la rotation "world-space" des nœuds.
Vector3
getWorldScale
Récupère une copie de l'échelle mondiale des nœuds.
booléen final
isActive()
Renvoie la valeur "true" si le nœud est actif.
booléen final
isDescendantOf(ancêtre NodeParent)
Vérifie si le parent de nœud donné est un ancêtre de ce nœud de manière récursive.
booléen final
isEnabled ()
Récupère l'état d'activation de ce nœud.
booléen
isTopLevel()
Renvoie la valeur "true" si ce nœud est de niveau supérieur.
Vector3
localToWorldDirection(direction Vector3)
Convertit une direction de l'espace local de ce nœud en monde-espace.
Vector3
localToWorldPoint(point Vector3)
Convertit un point de l'espace local de ce nœud en "world-space".
void
onActivate ()
Gère quand ce nœud devient actif.
void
onDisable
Gère quand ce nœud devient inactif.
booléen
onTouchEvent(HitTestResult hitTestResult, MotionEvent motionEvent)
Gère lorsque vous touchez ce nœud.
void
onTransformChange(Nœud d'origine du nœud)
Gère quand la transformation de ce nœud est modifiée.
void
onUpdate(FrameTime frameTime)
Gère la mise à jour de ce nœud.
void
removeLifecycleListener(écouteur de Node.LifecycleListener cycle de vie)
Supprime un écouteur appelé lorsque des événements de cycle de vie des nœuds se produisent.
void
removeTransformChangedListener(Nœud.TransformChangedListener transformChangedListener)
Supprime un écouteur appelé lorsque la transformation du nœud change.
void
setCollisionShape (collision CollisionShape)
Définit la forme utilisée pour détecter les collisions au niveau de cet élément Node.
dernière valeur
setEnabled(valeur booléenne)
Définit l'état d'activation de ce nœud.
void
setLight(lumière lumière)
Définit le Light à afficher.
void
setLocalPosition(position Vector3)
Définit la position de ce nœud par rapport à son parent (espace local).
void
setLocalRotation (rotation Quaternion)
Définit la rotation de ce nœud par rapport à son parent (espace local).
void
setLocalScale(échelle Vector3)
Définit l'échelle de ce nœud par rapport à son parent (espace local).
dernière valeur
setLookDirection(lookDirection Vector3)
Définit la direction que le nœud recherche dans l'espace.
dernière valeur
setLookDirection(vecteur Vector3, Vector3 upDirection)
Définit la direction que le nœud recherche dans l'espace.
dernière valeur
setName (nom de la chaîne (String))
Définit le nom de ce nœud.
void
setOnTapListener(Node.OnTapListener onTapListener)
Enregistre un rappel à invoquer lorsque l'utilisateur appuie sur ce nœud.
void
setOnTouchListener(Node.OnTouchListener sur TouchListener)
Enregistre un rappel à invoquer lorsqu'un événement tactile est envoyé à ce nœud.
void
setParent(parent NodeParent)
Modifie le nœud parent de ce nœud.
void
setRenderable (Rendable Rendable)
Définit l'élément Renderable à afficher pour ce nœud.
void
setWorldPosition(position Vector3)
Définit la position dans l'espace libre de ce nœud.
void
setWorldRotation(rotation Quaternion)
Définit la rotation mondiale de ce nœud.
void
setWorldScale(échelle Vector3)
Définit l'échelle mondiale de ce nœud.
String
Vector3
worldToLocalDirection(direction Vector3)
Convertit une direction de l'espace mondial à l'espace local de ce nœud.
Vector3
worldToLocalPoint(point Vector3)
Convertit un point de l'espace-espace en espace local de ce nœud.

Méthodes protégées

booléen final
canAddChild(enfant du nœud, StringBuilder failureReason)
dernière valeur
onAddChild(enfant Node)
dernière valeur

Méthodes héritées

Constructeurs publics

public Nœud ()

Crée un nœud sans parent.

Méthodes publiques

public void addLifecycleListener (Node.LifecycleListener lifestyleListener)

Ajoute un écouteur qui est appelé lorsque des événements de cycle de vie des nœuds se produisent. Les écouteurs seront appelés dans l'ordre dans lequel ils ont été ajoutés.

Paramètres
écouteur de cycle de vie

public void addTransformChangedListener (Node.TransformChangedListener transformChangedListener)

Ajoute un écouteur qui sera appelé lorsque la transformation du nœud change.

Paramètres
TransformChangedListener

public void callOnHierarchy (Consumer<Node> consumer)

Traverse la hiérarchie et appelle une méthode sur chaque nœud (y compris ce nœud). Le balayage est d'abord la profondeur.

Paramètres
Consommateur La méthode pour appeler sur chaque nœud

public Nœud findInHiérarchie (Prédicat<Nœud> condition)

Traverse la hiérarchie pour trouver le premier nœud (y compris ce nœud) qui remplit une condition. Une fois le prédicat réalisé, le balayage s'arrête. Le balayage est la priorité.

Paramètres
état Prédicat définit les conditions du nœud à rechercher.
Renvoie
  • le premier nœud correspondant aux conditions du prédicat, sinon il est renvoyé.

public final Vector3 getBack ()

Récupère le vecteur Retour arrière (+z) de ce nœud.

Renvoie
  • un nouveau vecteur qui représente la direction de retour du nœud dans l'espace

public CollisionShape getCollisionShape ()

Récupère la forme à utiliser pour les conflits avec ce nœud. Si la forme est nulle et que setRenderable(Renderable) est défini, getCollisionShape() permet de détecter les conflits pour cette Node.

Renvoie
  • représente une forme géométrique, c'est-à-dire une sphère, une boîte ou une coque convexe.

public final Vector3 getDown ()

Récupère le vecteur World-Space Down (-y) de ce nœud.

Renvoie
  • un nouveau vecteur qui représente la direction descendante du nœud dans l'espace

public final Vector3 getForward ()

Récupère le vecteur avant espace (world) de ce nœud.

Renvoie
  • un nouveau vecteur qui représente la direction d'avance du nœud dans l'espace

public final Vector3 getLeft ()

Récupère le vecteur mondial d'espace (-x) de ce nœud.

Renvoie
  • un nouveau vecteur qui représente la direction de gauche du nœud dans l'espace

public Light getLight ()

Récupère la lumière actuelle, qui est modifiable.

public final Vector3 getLocalPosition ()

Récupère une copie de la position des nœuds par rapport à son parent (espace local). Si isTopLevel() est défini sur "true", ce champ correspond à getWorldPosition().

Renvoie
  • un nouveau vecteur qui représente la position de l'espace local du nœud
Voir également

final Quaternion getLocalRotation ()

Récupère une copie de la rotation des nœuds par rapport à son parent (espace local). Si isTopLevel() est défini sur "true", ce champ correspond à getWorldRotation().

Renvoie
  • un nouveau quaternion représentant la rotation de l'espace local du nœud ;

public final Vector3 getLocalScale ()

Récupère une copie des nœuds par rapport à son parent (espace local). Si isTopLevel() est défini sur "true", ce champ correspond à getWorldScale().

Renvoie
  • un nouveau vecteur qui représente l'échelle de l'espace local du nœud
Voir également

public final Chaîne getName ()

Renvoie le nom du nœud. La valeur par défaut est "Node".

public final Nœud getParent ()

Renvoie le parent de ce nœud. Si cette Node possède un parent et qu'il est une sous-classe Node ou Node, cette fonction renvoie le parent en tant que Node. Renvoie la valeur "null" si le parent est Scene. Utilisez getScene() pour récupérer le parent.

Renvoie
  • le parent en tant que Node, si le parent est Node.

public Renderable getRenderable ()

Récupère le rendu de l'affichage pour ce nœud.

Renvoie
  • rendu à afficher pour ce nœud

public final Vector3 getright ()

Récupère le vecteur d'espacement droit (+x) de ce nœud.

Renvoie
  • un nouveau vecteur qui représente la bonne direction du nœud dans l'espace

public final Scène getScene ()

Renvoie la scène dont ce nœud fait partie. Valeur null s'il ne fait partie d'aucune scène. Un nœud fait partie d'une scène si son ancêtre de niveau supérieur est un Scene

public final Vector3 getUp ()

Récupère le vecteur "monde entier" (+y) de ce nœud.

Renvoie
  • un nouveau vecteur qui représente la direction du nœud dans l'espace

public final Vector3 getWorldPosition ()

Obtenez une copie de la position "world-space" des nœuds.

Renvoie
  • un nouveau vecteur qui représente la position mondiale de l'espace du nœud
Voir également

final Quaternion getWorldRotation ()

Récupère une copie de la rotation "world-space" des nœuds.

Renvoie
  • un nouveau quaternion représentant la rotation mondiale des nœuds ;

public final Vector3 getWorldScale ()

Récupère une copie de l'échelle mondiale des nœuds. Si le nœud est asymétrique, vous perdrez de la précision.

Renvoie
  • un nouveau vecteur qui représente l'échelle du monde pour les nœuds
Voir également

booléen final publicisActive()

Renvoie la valeur "true" si le nœud est actif. Un nœud est considéré comme actif s'il remplit TOUTES les conditions suivantes:

  • Le nœud fait partie d'une scène.
  • le parent du nœud est actif.
  • Le nœud est activé.
Un nœud actif se comporte comme suit :

Renvoie
  • état actif du nœud
Voir également

public final boolean isDescendantOf (ancêtre Node)

Vérifie si le parent de nœud donné est un ancêtre de ce nœud de manière récursive.

Paramètres
ancestor le parent du nœud à vérifier
Renvoie
  • "true" si le nœud est un ancêtre de ce nœud

final booléen final isEnabled ()

Récupère l'état d'activation de ce nœud. Notez qu'un nœud peut être activé, mais toujours inactif s'il ne fait pas partie de la scène ou si son parent est inactif.

Renvoie
  • état d'activation du nœud.
Voir également

public boolean isTopLevel ()

Renvoie la valeur "true" si ce nœud est de niveau supérieur. Un nœud est considéré comme de niveau supérieur s'il n'a pas de parent ou si le parent est la scène.

Renvoie
  • Valeur "true" si le nœud est de niveau supérieur

public final Vector3 localToWorldDirection (direction Vector3)

Convertit une direction de l'espace local de ce nœud en monde-espace. La position et l'échelle du nœud ne sont pas affectées.

Paramètres
direction dans l'espace local
Renvoie
  • un nouveau vecteur représentant la direction de l'espace

public final Vector3 localToWorldPoint (point Vector3)

Convertit un point de l'espace local de ce nœud en "world-space".

Paramètres
point le point dans l'espace local pour effectuer la conversion
Renvoie
  • un nouveau vecteur représentant le point dans l'espace

public void onActivate ()

Gère quand ce nœud devient actif. Un nœud est actif s'il est activé, qu'il fait partie d'une scène et que son parent est actif.

Ignore la configuration nécessaire pour effectuer l'installation lorsque le nœud est activé.

Voir également

public void onDisable ()

Gère quand ce nœud devient inactif. Un nœud est inactif s'il est désactivé, s'il ne fait pas partie d'une scène ou si son parent est inactif.

Ignore la configuration nécessaire pour effectuer l'installation lorsque le nœud est désactivé.

Voir également

public booleanonTouchEvent(HitTestResult hitTestResult, MotionEvent mouvementEvent)

Gère lorsque vous touchez ce nœud.

Remplacez-la pour exécuter toute logique qui doit se produire lorsque ce nœud est touché. La manière dont les événements tactiles sont propagés est dupliquée, de la même manière qu'elle est propagée dans les vues Android. Cette méthode n'est appelée que lorsque le nœud est actif.

Lorsqu'un événement ACTION_DOWN se produit, cela représente le début d'un geste. ACTION_UP ou ACTION_CANCEL à la fin d'un geste Lorsqu'un geste commence:

  • Transmettre les événements tactiles au nœud qui a été détecté comme étant détecté par hitTest(MotionEvent).
  • Si le nœud ne consomme pas l'événement, récurrence par le biais des parents du nœud et déclenchez l'événement tactile jusqu'à ce que l'un des nœuds utilise cet événement.
  • Si aucun nœud ne consomme l'événement, le geste est ignoré et les événements ultérieurs faisant partie du geste ne seront transmis à aucun nœud.
  • Si l'un des nœuds utilise l'événement, ce nœud utilisera tous les événements tactiles futurs du geste.
Lorsqu'un événement tactile est envoyé à un nœud, il est d'abord transmis au Node.OnTouchListener du nœud. Si l'événement Node.OnTouchListener ne gère pas l'événement, il est transmis à onTouchEvent(HitTestResult, MotionEvent).

Paramètres
hitTestResult Représente le nœud qui a été touché, ainsi que des informations sur l'endroit où il a été touché. Pour les événements ACTION_DOWN, getNode() sera toujours ce nœud ou l'un de ses enfants. Dans d'autres événements, le toucher a pu être déplacé, ce qui a entraîné un changement de la valeur getNode() (ou peut être la valeur nulle).
mouvement Événement de mouvement
Renvoie
  • Valeur "true" si l'événement a été géré, valeur "false" dans le cas contraire.

public voidonTransformChange(Node originNode)

Gère quand la transformation de ce nœud est modifiée.

Le nœud d'origine est le nœud de niveau supérieur dans la hiérarchie qui a déclenché la modification de ce nœud. Il s'agira toujours du même nœud ou de l'un de ses parents. Par exemple, si la position du nœud A est modifiée, onTransformChange(Node) est appelé pour tous les enfants dont le nœud d'origine est le nœud A.

Paramètres
Nœud d'origine nœud qui a déclenché la transformation de ce nœud

public void onUpdate (FrameTime frameTime)

Gère la mise à jour de ce nœud. Un nœud est mis à jour avant le rendu de chaque image. Ce n'est appelé que lorsque le nœud est actif.

Ignorer pour effectuer les mises à jour nécessaires pour chaque image.

Paramètres
frametime affiche l'heure pour l'image actuelle

public void removeLifecycleListener (Node.LifecycleListener lifestyleListener)

Supprime un écouteur appelé lorsque des événements de cycle de vie des nœuds se produisent.

Paramètres
écouteur de cycle de vie

public void removeTransformChangedListener (Node.TransformChangedListener transformChangedListener)

Supprime un écouteur appelé lorsque la transformation du nœud change.

Paramètres
TransformChangedListener

public void setCollisionShape (CollisionShape collisionShape)

Définit la forme utilisée pour détecter les collisions au niveau de cet élément Node. Si la forme n'est pas définie et que setRenderable(Renderable) est défini, getCollisionShape() permet de détecter les conflits pour cette Node.

Paramètres
forme_collision représente une forme géométrique, c'est-à-dire une sphère, une boîte ou une coque convexe. Si la valeur est "null", la forme de collision actuelle de ce nœud sera supprimée.

public final void setEnabled (valeur booléenne activée)

Définit l'état d'activation de ce nœud. Notez qu'un nœud peut être activé, mais toujours inactif s'il ne fait pas partie de la scène ou si son parent est inactif.

Paramètres
activé le nouvel état d'activation du nœud
Voir également

public void setLight (lumière)

Définit le Light à afficher. Pour l'utiliser, commencez par créer un Light avec Light.Builder. Définissez les paramètres qui vous intéressent, puis associez-les au nœud à l'aide de cette fonction. Un nœud peut avoir un rendu et une lumière, ou simplement servir de Light.

Paramètres
lumière Propriétés de Light à afficher. Spécifiez null pour supprimer la lumière.

public void setLocalPosition (position Vector3)

Définit la position de ce nœud par rapport à son parent (espace local). Si isTopLevel() est défini sur "true", ce champ correspond à setWorldPosition(Vector3).

Paramètres
position Poste à appliquer.
Voir également

public void setLocalRotation (rotation Quaternion)

Définit la rotation de ce nœud par rapport à son parent (espace local). Si isTopLevel() est défini sur "true", ce champ correspond à setWorldRotation(Quaternion).

Paramètres
rotation Rotation à appliquer.
Voir également

public void setLocalScale (échelle Vector3)

Définit l'échelle de ce nœud par rapport à son parent (espace local). Si isTopLevel() est défini sur "true", ce champ correspond à setWorldScale(Vector3).

Paramètres
Google. Échelle à appliquer.
Voir également

public final void setLookDirection (Vector3 lookDirection)

Définit la direction que le nœud recherche dans l'espace. Après l'appel, getForward() correspond à la direction de l'expression transmise. Un espace vers le haut (0, 1, 0) permet de déterminer l'orientation du nœud par rapport à la direction.

Paramètres
lookDirection Un vecteur représentant la direction souhaitée dans l'espace

public final void setLookDirection (Vector3 lookDirection, Vector3 upDirection)

Définit la direction que le nœud recherche dans l'espace. Après l'appel, getForward() correspond à la direction de l'expression transmise. La direction vers le haut déterminera l'orientation du nœud. L'orientation et l'orientation ne doivent pas correspondre à un coïncidence (parallèle) ou l'orientation ne sera pas valide.

Paramètres
lookDirection Un vecteur représentant la direction souhaitée dans l'espace
Direction Un vecteur représentant un vecteur actif valide, tel que Vector3.up()

public final void setName (String name)

Définit le nom de ce nœud. Les nœuds sont identifiés par leur nom. Plusieurs nœuds peuvent avoir le même nom. Dans ce cas, appeler findByName(String) renverra le premier nœud portant le nom donné.

Paramètres
name (nom) Nom du nœud.

public void setOnTapListener (Node.OnTapListener onTapListener)

Enregistre un rappel à invoquer lorsque l'utilisateur appuie sur ce nœud. Si un rappel est enregistré, les événements tactiles ne s'afficheront pas dans l'info-bulle du parent de ce nœud. Si Node.onTouchEvent est ignoré et que super.onTouchEvent n'est pas appelé, l'appui n'aura pas lieu.

Paramètres
onTapListener
Voir également

public void setOnTouchListener (Node.OnTouchListener onTouchListener)

Enregistre un rappel à invoquer lorsqu'un événement tactile est envoyé à ce nœud. La manière dont les événements tactiles sont propagés est dupliquée, de la même manière qu'elle est propagée dans les vues Android. Cette méthode n'est appelée que lorsque le nœud est actif.

Lorsqu'un événement ACTION_DOWN se produit, cela représente le début d'un geste. ACTION_UP ou ACTION_CANCEL à la fin d'un geste Lorsqu'un geste commence:

  • Transmettre les événements tactiles au nœud qui a été détecté comme étant détecté par hitTest(MotionEvent).
  • Si le nœud ne consomme pas l'événement, récurrence par le biais des parents du nœud et déclenchez l'événement tactile jusqu'à ce que l'un des nœuds utilise cet événement.
  • Si aucun nœud ne consomme l'événement, le geste est ignoré et les événements ultérieurs faisant partie du geste ne seront transmis à aucun nœud.
  • Si l'un des nœuds utilise l'événement, ce nœud utilisera tous les événements tactiles futurs du geste.
Lorsqu'un événement tactile est envoyé à un nœud, il est d'abord transmis au Node.OnTouchListener du nœud. Si l'événement Node.OnTouchListener ne gère pas l'événement, il est transmis à onTouchEvent(HitTestResult, MotionEvent).

Paramètres
écouteur tactile
Voir également

public void setParent (parent NodeParent)

Modifie le nœud parent de ce nœud. Si la valeur est définie sur null, ce nœud sera dissocié de son parent. La position locale, la rotation et l'échelle de ce nœud resteront les mêmes. Par conséquent, la position mondiale, la rotation et l'échelle de ce nœud peuvent être différentes après la modification du parent.

Le parent peut être un autre élément Node ou Scene. S'il s'agit d'une scène, cette Node est considérée comme une racine. getParent() renvoie la valeur "null", et getScene() renvoie la scène.

Paramètres
parent Nouveau parent dont ce nœud sera un enfant. Si la valeur est nulle, ce nœud sera dissocié de son nœud parent.
Voir également

public void setRenderable (Rendable pouvant être affiché)

Définit l'élément Renderable à afficher pour ce nœud. Si setCollisionShape(CollisionShape) n'est pas défini, getCollisionShape() permet de détecter les conflits pour ce Node.

Paramètres
rendu Généralement un modèle 3D. S'il est nul, le rendu possible de ce nœud sera supprimé.

public void setWorldPosition (position Vector3)

Définit la position dans l'espace libre de ce nœud.

Paramètres
position Poste à appliquer.
Voir également

public void setWorldRotation (rotation Quaternion)

Définit la rotation mondiale de ce nœud.

Paramètres
rotation Rotation à appliquer.
Voir également

public void setWorldScale (échelle Vector3)

Définit l'échelle mondiale de ce nœud.

Paramètres
Google. Échelle à appliquer.
Voir également

public String toString ()

public final Vector3 worldToLocalDirection (direction Vector3)

Convertit une direction de l'espace mondial à l'espace local de ce nœud. La position et l'échelle du nœud ne sont pas affectées.

Paramètres
direction l'orientation dans l'espace pour effectuer une conversion
Renvoie
  • Un nouveau vecteur représentant la direction dans l'espace local

public final Vector3 worldToLocalPoint (point Vector3)

Convertit un point de l'espace-espace en espace local de ce nœud.

Paramètres
point le point de conversion dans l'espace
Renvoie
  • Un nouveau vecteur représentant le point dans l'espace local

Méthodes protégées

protection booléenne booléenne canAddChild (enfant Node, StringBuilder échecReason)

Paramètres
enfant
échecReason

finaux protection void onAddChild (Node enfant)

Paramètres
enfant

finaux protection nul onRemoveChild (enfant Node)

Paramètres
enfant