Étape 8: L’exécution de Code a en Animatron8.3
Maintenant, nous sommes prêts à lancer l’exécution. La boucle principale exécute trois fonctions principales :
- Vérifie les croquis control et s’interrompt si un commutateur externe est défini
- Réagit aux externe input. À l’heure actuelle, c’est un hybride d’externes et internes inout. Le seul scénario codé est si le script nécessite un fichier audio à jouer, Animatron8.3 lira l’enveloppe audio du son et déplacer la bouche à l’unisson, cependant, c’est où des fonctionnalités supplémentaires seront appliquées, telles que :
cocher pour emplacement du visiteur
cocher pour la proximité du visiteur
Recherchez le commentaire de vsitor (audience)
La troisième fonction est d’exécuter le Code a. Chaque action prédéfinie, agit sur l’objet de Script et l’objet de joueur afin d’obtenir le résultat souhaité. (Ok, pour vous, les puristes, je sais ce ne sont pas des « objets », mais si cela ont été programmé en C++, ils seraient. Alors s’il vous plaît me couper un peu de mou).
Je vais donner quelques exemples de pseudo-code. Notez que chaque action commence par une instruction de débogage ; Je suis ignorant qui
OK, Pause au hasard...
- la valeur min = ScriptDescription
- La valeur max = ScriptOption
- Set timepause = rnd () *(Max-min) + min
- Définissez PlayerEndWait*= currenttime (ms) + timepause
- Définir la prochaine étape pour le joueur de ScriptStack
* PlayerEndWait est un tableau utilisé dans la définition des joueurs. Un joueur ne reçoit pas une autre tranche de temps jusqu'à ce que l’heure actuelle est supérieure à la PlayerEndWait.
Une autre commande populaire, PlayMove
- Obtenir la commande déplacer de mémoire indexé par ScriptDescription
- L’envoyer par l’intermédiaire de communication série au contrôleur de servo.
- Définir la prochaine étape pour le joueur de ScriptStack