Category: harmony_attributes

  • ✨ API Harmony : Structure d’un Xstage

    Pour comprendre comment est structurée une scène Harmony il n’y pas de meilleur endroit que le fichier xstage.

    Si vous ouvrez un xstage dans un éditeur comme nodepad++ vous verrez qu’il s’agit enfait d’un énorme bloc de texte.

    Ce bloc de texte est structuré en balises </> selon un language qu’on appel XML pour eXtensible Markup Language (langage de balisage extensible). Tout ce qui fait la particularité d’une scene, à l’exeption des fichiers vectoriels de dessin, est décrit dans ce xml.

    Ce que vous avez sous les yeux est l’arborescence d’un immense objet xml. Le language xml, comme le json, est un language conçu uniquement pour organiser des données.

    voici notre fiche perso dnd en json

    {
      "name":"guntar",
      "type":"barbare",
      "statistiques" : {
        "endurance":100,
        "attaque":100,
        "interet_pour_la_bossa_nova":0,
        "conversation":5
      }
    }

    et voici le meme objet en xml

    <perso name="guntar" type="barbare" >
      <statistiques>
        <endurance val='100' />
        <attaque val='100' />
        <interetPourLaBossaNova val='0' />
        <conversation val='5' />
      </statistiques>
    </pers>

    L’arborescence d’un objet xml est un peu plus complexe que celle d’un objet json car elle est spécialement pensée pour décrire des ensembles et sous ensembles.

    Le contenu d’un element xml se situe entre :

    ses balises d’ouverture <element>

    Dans cet example on dit que l’elementA est le “parent” de l’elementB. L’élementB est un sous ensemble d’élémentA.

    Il exsite des balises qui n’englobent rien comme ici les statistiques <endurance />

    Chaque balise possède aussi des “propriétés” (name=”guntar”) qui sont une façon de renseigner des valeurs indépendament de la hiérarchie.

    Dans le xml d’un xstage les nodes sont décrit par des balises <module> </module>

    en propriété du module nous avons son type,nom et position dans la nodeview :

    si vous modifiez ces valeurs et sauvegarder le xml. Votre scène sera modifiée !

    En sous élement du module se trouve l’élément <attrs> </attrs>

    C’est là que se déroule toute la liste des attributs du node. Ce sont ces données là qui sont affichée lorsque l’on ouvre la fenêtre “node properties” dans Harmony.

    C’est aussi ces objets que nous allons modifier lorsque nous utilisons les methodes de la classe node : node.getTextAttr et node.setTextAttr