Aller au contenu

Scripts

Chaque composant contient une section script très importante.

Elle sert non seulement à définir les actions à réaliser au déclenchement des différents évènements, mais aussi à définir les valeurs des propriétés du composant.

Cette section est le script lua qui sera exécuté par le moteur de jeu, et contient deux parties principales:

  • La fonction Start() qui est exécutée à la création du composant dans l'application et permet de définir les valeurs initiales des propriétés du composant.
  • Les fonctions On<event>() qui sont exécutées lors du déclenchement des évènements du composant et contiennent le code à exécuter pour ces évènements.

Ces scripts sont constitués d'appels de méthodes, créés à partir des blocs assemblés par l'utilisateurs (voir section Blockly).

Voici un exemple de script pour un composant Crank (manivelle) nommé Crank1, avec un autre curseur Slider1.

Le script généré initialise une manivelle Crank1 qui peut aller de -360° à +360°, par défaut à 45°. Et la rotation de cette manivelle déplace le curseur Slider1 de 10 centimètre par degré de rotation:

_G["Crank1"].events.Start = function()
    _G["Crank1"].interactable.SetAngle(45)
    _G["Crank1"].interactable.SetMinAngle(-360)
    _G["Crank1"].interactable.SetMaxAngle(360)
end

_G["Crank1"].events.OnAngleChanged = function()
    _G["Slider1"].interactable.SetPos(
        _G["Crank1"].interactable.GetAngle() * 0.1
    )
end