Dynamic Variables/fr: Difference between revisions

From Resonite Wiki
Created page with "La manière la plus simple d'utiliser les variables dynamiques est d'utiliser les composants DynamicValueVariable<T> et DynamicReferenceVariable<T>. Ils fonctionnent pour des valeurs (int, float, String...) et references (Slot, Utilisateur...)."
Created page with "Si vous voulez utiliser un champ ou référence comme contenu d'une variable dynamique, vous pouvez utiliser les composants DynamicField<T> ou DynamicReference<T>. A la place de stocker quelque chose directement, ils pointent a un champ contenant une certaine valeur ou référence."
Line 37: Line 37:
La manière la plus simple d'utiliser les variables dynamiques est d'utiliser les composants [[DynamicValueVariable%601_(Component)|DynamicValueVariable<T>]] et [[DynamicReferenceVariable%601_(Component)|DynamicReferenceVariable<T>]]. Ils fonctionnent pour des valeurs (int, float, String...) et references (Slot, Utilisateur...).
La manière la plus simple d'utiliser les variables dynamiques est d'utiliser les composants [[DynamicValueVariable%601_(Component)|DynamicValueVariable<T>]] et [[DynamicReferenceVariable%601_(Component)|DynamicReferenceVariable<T>]]. Ils fonctionnent pour des valeurs (int, float, String...) et references (Slot, Utilisateur...).
   
   
<span lang="en" dir="ltr" class="mw-content-ltr">These components store a value or reference directly. If two variable components have the same name, then they will have identical contents.</span>
Ces components stockent une valeur ou référence directement. Si deux variable ont le même nom, elles auront des valeurs identiques.


=== <span lang="en" dir="ltr" class="mw-content-ltr">Fields</span> ===
=== Champs ===


<span lang="en" dir="ltr" class="mw-content-ltr">If you want to use an existing field or reference as the contents of a dynamic variable, you can use the [[DynamicField%601_(Component)|DynamicField<T>]] or [[DynamicReference%601_(Component)|DynamicReference<T>]] components. Instead of storing something directly, they point at a field that contains a value or reference type, respectively.</span>
Si vous voulez utiliser un champ ou référence comme contenu d'une variable dynamique, vous pouvez utiliser les composants [[DynamicField%601_(Component)|DynamicField<T>]] ou [[DynamicReference%601_(Component)|DynamicReference<T>]]. A la place de stocker quelque chose directement, ils pointent a un champ contenant une certaine valeur ou référence.


<span lang="en" dir="ltr" class="mw-content-ltr">(TODO: clarify value vs. reference types; I think this isn't fully correct)</span>
(A FAIRE: clarifier les types valeur vs référence)


=== <span lang="en" dir="ltr" class="mw-content-ltr">Drivers</span> ===
=== Pilotes ===


<span lang="en" dir="ltr" class="mw-content-ltr">You can use the contents of a dynamic variable to drive a field or reference, using the [[DynamicValueVariableDriver%601_(Component)|DynamicValueVariableDriver<T>]] and [[DynamicReferenceVariableDriver%601_(Component)|DynamicReferenceVariableDriver<T>]] components.</span>
Vous pouvez utiliser le contenu d'une variable dynamique pour piloter un champ ou référence en utilisant les composants [[DynamicValueVariableDriver%601_(Component)|DynamicValueVariableDriver<T>]] ou [[DynamicReferenceVariableDriver%601_(Component)|DynamicReferenceVariableDriver<T>]].


=== <span lang="en" dir="ltr" class="mw-content-ltr">Unlisted types</span> ===
=== Types non-listés ===


<span lang="en" dir="ltr" class="mw-content-ltr">When creating a dynamic variable component, you will be given a list of "common types". If the type you seek is not in that list, you will have to enter it by hand. See [[Complex Types in Components]].</span>
<span lang="en" dir="ltr" class="mw-content-ltr">When creating a dynamic variable component, you will be given a list of "common types". If the type you seek is not in that list, you will have to enter it by hand. See [[Complex Types in Components]].</span>

Revision as of 17:40, 26 January 2024


This article or section is a Stub. You can help the Resonite Wiki by expanding it.


Aperçu

Les variables dynamiques vous permettent de lire et écrire des information depuis un simple nom. Elles rendent simple la gestion de données dans des systèmes larges; chaque bout de données est étiquetée correctement que vous pouvez décomposer en plusieurs espaces.

Restrictions de noms

En utilisant les variables dynamiques, il y a quelques restrictions sur le nommage sur les variables et espaces.

Les noms de variables et espaces ne peuvent pas contenir:

Utilisation

Optionnellement, un nom de variable peut être préfixé avec le nom d'un espace, se finissant avec /, pour choisir un espace de variables. Cela est utile pour distinguer des systèmes indépendants.

Quelques noms valides incluent:

  • Vie -- pas d'espaces, juste nommé Vie
  • World/Couleur -- nommé Couleur, dans l'espace World
  • MonSysteme/Score -- Nommé Score, dans l'espace MonSysteme

Espaces

Les variables dynamiques peuvent être n'importe ou ou sous un slot contenant le composant DynamicVariableSpace.

Donc, une variable sur l'origine du monde peut être utilisée de partout alors qu'une variable dans un espace sur votre avatar ne peut être utilisée que sur votre avatar.

Variables

La manière la plus simple d'utiliser les variables dynamiques est d'utiliser les composants DynamicValueVariable<T> et DynamicReferenceVariable<T>. Ils fonctionnent pour des valeurs (int, float, String...) et references (Slot, Utilisateur...).

Ces components stockent une valeur ou référence directement. Si deux variable ont le même nom, elles auront des valeurs identiques.

Champs

Si vous voulez utiliser un champ ou référence comme contenu d'une variable dynamique, vous pouvez utiliser les composants DynamicField<T> ou DynamicReference<T>. A la place de stocker quelque chose directement, ils pointent a un champ contenant une certaine valeur ou référence.

(A FAIRE: clarifier les types valeur vs référence)

Pilotes

Vous pouvez utiliser le contenu d'une variable dynamique pour piloter un champ ou référence en utilisant les composants DynamicValueVariableDriver<T> ou DynamicReferenceVariableDriver<T>.

Types non-listés

When creating a dynamic variable component, you will be given a list of "common types". If the type you seek is not in that list, you will have to enter it by hand. See Complex Types in Components.

Warning

Creating, duplicating, or moving a dynamic variable requires binding that variable to its space. This usually takes a small amount of time, before which the dynamic variable can appear to be present, but not be readable or writable. Therefore, if you create a dynamic variable using the Create Dynamic Variable or Write Or Create Dynamic Variable ProtoFlux Node, or cause it to be duplicated using the Duplicate Slot ProtoFlux Node, or cause it to be moved using the Set Parent ProtoFlux Node, you may find it necessary to add an Updates Delay or Updates Delay With Value ProtoFlux Node afterwards in order to ensure the dynamic variables have been bound by the time you use them. A delay of 1 to 3 updates usually suffices.