StarS: Interaktionstyp BUTTONS
Dieser Interaktionstyp enthält im typischen Szenario BUTTONS ein großes Bild und einige Buttons. Wenn keine Buttons definiert werden, wird nur das Bild dargestellt (z. B. “Das ist die richtige Lösung”). In dieser reduzierten Variante sollte als Interaktionstyp IMAGE_ONLY gesetzt werden.
Nachfolgend werden zunächst die häufigsten Varianten als Bild gezeigt und darunter die jeweils dafür nötige Unitdefinition vollständig in einem Code-Fenster dargestellt. Dazu bitte auf Unitdefintion JSON klicken (ausklappen). Man kann über einen kleinen Button oben rechts im Code-Fenster die Syntax in die Zwischenablage kopieren und dann im Ziel einfügen. Es müssen dann anschließend Text sowie die Audio- und Bilddefinitionen ersetzt werden.
Unitdefintion JSON
{
"id": "stars-unit-definition",
"version": "0.12",
"backgroundColor": "#E1E9FF",
"continueButtonShow": "ALWAYS",
"mainAudio": {
"audioSource": "data:audio/mpeg;base64,//OEZAAAAAAAAAAAAAAAAAA.......",
"firstClickLayer": false,
"animateButton": false,
"maxPlay": 0
},
"interactionType": "BUTTONS",
"interactionParameters": {
"buttonType": "MEDIUM_SQUARE",
"multiSelect": false,
"numberOfRows": 2,
"options": {
"buttons": [
{
"imageSource": "data:image/png;base64,iVBORw0KGgoAAAA...."
},
{
"imageSource": "data:image/png;base64,iVBORw0KGgoAAAA...."
},
{
"imageSource": "data:image/png;base64,iVBORw0KGgoAAAA...."
},
{
"imageSource": "data:image/png;base64,iVBORw0KGgoAAAA...."
}
]
}
},
"variableInfo": [
{
"variableId": "BUTTONS",
"responseComplete": "ON_ANY_RESPONSE",
"codingSource": "VALUE",
"codes": [
{
"method": "EQUALS",
"parameter": "2",
"code": 1,
"score": 1
}
]
}
]
}Achtung: Im Beispiel oben kann man mehrere Optionen anklicken (multiSelect": true). Die Kodierung ist entsprechend angepasst.
Unitdefintion JSON
{
"id": "stars-unit-definition",
"version": "0.12",
"backgroundColor": "#E1E9FF",
"continueButtonShow": "ALWAYS",
"mainAudio": {
"audioSource": "data:audio/mpeg;base64,//OEZAAAAAAAAAAAAAAAAAAAAA.....",
"firstClickLayer": false,
"animateButton": false,
"maxPlay": 0
},
"interactionType": "BUTTONS",
"interactionParameters": {
"variableId": "BUTTONS",
"imageSource": "",
"imagePosition": "LEFT",
"text": "",
"buttonType": "BIG_SQUARE",
"multiSelect": true,
"numberOfRows": 2,
"options": {
"buttons": [
{
"text": "A"
},
{
"text": "B"
},
{
"text": "C"
},
{
"text": "D"
}
]
}
},
"variableInfo": [
{
"variableId": "BUTTONS",
"responseComplete": "ON_ANY_RESPONSE",
"codingSource": "VALUE",
"codes": [
{
"method": "EQUALS",
"parameter": "0101",
"code": 1,
"score": 1
}
]
}
]
}Unitdefintion JSON
{
"id": "stars-unit-definition",
"version": "0.12",
"backgroundColor": "#3cf",
"continueButtonShow": "ALWAYS",
"mainAudio": {
"audioSource": "data:audio/mpeg;base64,//OEZAAAAAAAAAAAAAAAAA..............",
"firstClickLayer": false,
"animateButton": false,
"maxPlay": 0
},
"interactionType": "BUTTONS",
"interactionParameters": {
"imageSource": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAV4A......",
"imagePosition": "LEFT",
"buttonType": "TEXT",
"multiSelect": false,
"options": {
"buttons": [
{
"text": "Fisch"
},
{
"text": "Tisch"
},
{
"text": "Chaiselonge"
},
{
"text": "Stuhl"
}
]
}
},
"variableInfo": [
{
"variableId": "BUTTONS",
"responseComplete": "ON_ANY_RESPONSE",
"codingSource": "VALUE",
"codes": [
{
"method": "EQUALS",
"parameter": "2",
"code": 1,
"score": 1
}
]
}
]
}Achtung: Im Beispiel oben kann man mehrere Optionen anklicken (multiSelect": true). Die Kodierung zielt auf die Summe der angeklickten Buttons ab.
Unitdefintion JSON
{
"id": "stars-unit-definition",
"version": "0.7",
"backgroundColor": "#3cf",
"continueButtonShow": "ALWAYS",
"mainAudio": {
"audioSource": "data:audio/mpeg;base64,//OEZAAAAAAAAAAAAAAAAAAAA......",
"firstClickLayer": false,
"animateButton": false,
"maxPlay": 0
},
"interactionType": "BUTTONS",
"interactionParameters": {
"imageSource": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA.....",
"imagePosition": "TOP",
"buttonType": "SMALL_SQUARE",
"multiSelect": true,
"options": {
"repeatButton": {
"option": {
"icon": "CLAP_HANDS"
},
"numberOfOptions": 6
}
}
},
"variableInfo": [
{
"variableId": "BUTTONS",
"responseComplete": "ON_ANY_RESPONSE",
"codingSource": "SUM",
"codes": [
{
"method": "EQUALS",
"parameter": "3",
"code": 1,
"score": 1
}
]
}
]
}Achtung: Im Beispiel oben kann man mehrere Optionen anklicken (multiSelect": true). Die Kodierung zielt auf die Summe der angeklickten Buttons ab.
Unitdefintion JSON
{
"id": "stars-unit-definition",
"version": "0.7",
"backgroundColor": "#3cf",
"continueButtonShow": "ALWAYS",
"mainAudio": {
"audioSource": "data:audio/mpeg;base64,//OEZAAAAAAAAAAAAAAAAAAAA......",
"firstClickLayer": false,
"animateButton": false,
"maxPlay": 0
},
"interactionType": "BUTTONS",
"interactionParameters": {
"buttonType": "CIRCLE",
"multiSelect": true,
"options": {
"repeatButton": {
"option": {
"text": ""
},
"numberOfOptions": 6
}
}
},
"variableInfo": [
{
"variableId": "BUTTONS",
"responseComplete": "ON_ANY_RESPONSE",
"codingSource": "SUM",
"codes": [
{
"method": "EQUALS",
"parameter": "3",
"code": 1,
"score": 1
}
]
}
]
}variableId
Die Antwort wird stets mit einer id gespeichert. Dies nennt man “Variable”. Der Standard-Wert ist “BUTTONS”. Wenn man eine bestimmte Variablen-ID in den Antwortdaten haben möchte, kann man diesen Wert anpassen.
Diese Variablen-ID wird ggf. im Bereich Kodierung referenziert.
Stimulus Image/Text
Zusätzlich oder alternativ zum Haupt-Audio kann Text oder ein Image übergeben werden.
imageSource: Image als base64-kodierter StringimagePosition: Man kann über die KonstantenTOP(darüber) undLEFT(linkerhand, Standard) die Position des Images relativ zu den Buttons beeinflussen.imageUseFullArea: Normalerweise versucht der Player, das Image so groß wie möglich darzustellen und achtet dabei darauf, dass der Ort des Audio-Buttons nicht vom Bild erreicht wird. Wenn dieser Parameter auftruegesetzt ist, dann wird der Audio-Button ignoriert und überdeckt dann ggf. Teile des Bildes. Man muss in diesem Fall bei der Gestaltung des Bildes einen (möglichen) Audio-Button mitdenken.text: Es wird ein Text dargestellt. Sollte außerdem ein Bild definiert sein, dann befindet sich der Text darüber. Der Text wird umgebrochen, wenn zu wenig Platz ist.
Antwortwert
Die Antwortdaten folgen der Standardstruktur des IQB. Als id wird die gewählte variableId bzw. der Standard BUTTONS gesetzt, und der Status wäre zunächst VALUE_CHANGED (zur Kodierung siehe hier).
Für value muss unterschieden werden, ob multiSelect gesetzt wurde:
multiSelecttrue: Der Antwortwert ist ein String. Jedes Zeichen ist0oder1und steht für einen Button, ob er gewählt wurde oder nicht.multiSelectfalse: Der Antwortwert ist eine Zahl mit der Position des gewählten Buttons.1steht für den ersten Button.




