Stap 8: A-Code wordt uitgevoerd in Animatron8.3
Nu zijn we klaar om te beginnen uitvoeren. De HOOFDLUS heeft drie belangrijke functies:
- Controleert op schets control en pauzeert als een externe schakelaar is ingesteld
- Reageert op externe input. Nu, het is een hybride van externe en interne inout. Het enige scenario gecodeerd is als het script wordt aangeroepen voor een audio bestand te spelen, Animatron8.3 leest de audio envelop van het geluid en de mond bewegen in koor, echter, dit is waar extra functies zullen worden geïmplementeerd, zoals:
selectievakje voor locatie van bezoeker
selectievakje voor nabijheid van bezoeker
selectievakje voor vsitor commentaar (hoorzitting)
De derde functie is het A--Codeuit te voeren. Elke vooraf gedefinieerde actie, fungeert op het Script-Object en het Object van de speler zodat het gewenste resultaat bereiken. (Ok, voor u puristen, ik weet deze niet 'objecten', maar als dit werden geprogrammeerd in C++, zij zouden zijn. Zo gelieve sneed me één of andere verslapping).
Ik zal een paar voorbeelden van pseudo-code verstrekken. Merk op dat elke actie met een debuginstructie begint; Ik ben dat overslaan
OK, willekeurige pauze...
- instellen min = ScriptDescription
- Ingesteld max = ScriptOption
- Set timepause = (rnd) *(Max-min) + min
- Instellen van PlayerEndWait*= currenttime (ms) + timepause
- De volgende stap instellen voor de speler om te ScriptStack
* PlayerEndWait is een matrix gebruikt in de definitie van spelers. Een speler krijgt een andere tijdsegment niet tot de huidige tijd groter dan de PlayerEndWait is.
Een andere populaire opdracht, PlayMove
- De opdracht verplaatsen te krijgen uit het geheugen geïndexeerd door ScriptDescription
- Stuur het via seriële communicatie naar de servo-controller.
- De volgende stap instellen voor de speler om te ScriptStack