Scripting
Een script is is een reeks van commando’s die achtereenvolgens worden uitgevoerd. GeoGebra ondersteunt twee scripting-talen - GGBScript en Javascript. De uitvoering van een scrip kan je starten door :
-
te klikken op een object object
-
een object te updaten (wanneer waarden of eigenschappen van het object gewijzigd worden)
-
een bestand in te laden (bij JavaScript)
-
Voor meer informatie over Javascript zie Javascript
Je kunt een script maken in de tab Scripting van het Eigenschappenvenster.
GGBScript
Je kunt een script maken met GeoGebra commando’s. Bij het opstarten van het script worden alle commando’s een na een uitgevoerd.
-
a is Schuifknop met gehele waarden van 1 tot 3
-
lijst1 = {"rood", "groen", "blauw"}
-
in de eigenschappen van a, kan je in een script de kleur bepalen "On Update" als
SetColor[a, Element[list1, a]]
-
wanneer je waarde van de schuifknop wijzigt, wijzigt ook zijn kleur
Uitleg: Elke keer wanneer je de schuifknop beweegt wordt beschouwd als een Update. Daarom zal bij elke wijziging in de schuifknop het script aangesproken worden om de kleur te wijzigen. Er zijn commando’s die enkel in scripting kunnen gebruikt worden. Je vind ze op de pagina Scripting_Commando’s.
JavaScript
JavaScript is een programmeertaal die veel gebruikt wordt op het internet. Je vindt meerdereinstructiehandleidingen over
Java op het internet. In GeoGebra, kan je JavaScript methodes gebruiken om je constructie aan te passen. Deze methodes
horen tot een ggbApplet object, zodat je het kunt aanspreken met ggbApplet.method_name(parameter,..,parameter)
.
Voor een complete lijst van deze methodes, zie Javascript.
for(var i =0;i<10;i++) ggbApplet.evalCommand("A_"+i+"=(random()*10,random()*10)");
Dit script creëert 10 punten, van A0 tot A9 met willekeurige coördinaten.
Globaal JavaScript
In de tab Globaal JavaScript part van het Eigenschappenvenster kan je functies definiëren (geen variabelen). Je kunt ook de functie ggbOnInit() definiëren, die automatisch wordt aangesproken wanneer het bestand wordt ingeladen. De functie ggbOnInit function kan gebruikt worden om gebruikters te registreren, zoals in volgend voorbeeld.
function onAdd(name){ alert("Object "+name+" werd toegevoegd."); } function ggbOnInit(){ ggbApplet.registerAddListener("onAdd"); }
Eerst definieerden we de functie onAdd die een string oplevert met een mededeling, afhankelijk van deze string. nadien wordt met de functie ggbOnInit deze functie opgeroepen, telkens een nieuw object wordt toegevoegd. Bij het herladen van de constructie zal de functie ggbOnInit worden aangesproken en vanaf dan zal telkens een boodschap verschijnen. B.v. wanneer de gebruiker een punt A toevoegt, zal volgende boodschap verschijnen: "Object A werd toegevoegd".