Hallo zusammen,
ich bastle gerade mit Urwigo an meinem ersten Whereigo. Ich war auch soweit fertig, im Simulator und auf Android lief das Ganze wie es soll. Nun bin ich, ich weiß, reichlich spät, auf die Probleme mit den Garmins gestoßen und hab nun Etliches zu ändern
Mein bisheriger Ablauf sah vor:
Zone betreten -> Task dieser Zone aktivieren -> Nutzer muss Task abschließen (Frage richtig beantworten) -> Zone wird deaktiviert, nächste Spielzone wird aktiviert usw.
Dabei war es so, dass der Input durch onClick-Event gestartet wurde, sodass man also manuell das Eingabeformular aufrief - da war es auch kein Problem, wenn die Frage falsch beantwortet wurde, es gab den Hinweis auf eine falsche Lösung als Message und der Nutzer konnte durch Anklicken des Tasks die Eingabe wiederholen.
Wie bau ich dieses Verhalten denn jetzt am besten ohne onClick nach?
Ich hab das jetzt so, dass gar keine Tasks mehr da sind, sondern dass beim Betreten der Zone direkt der Input aufgerufen wird und bei falschen Eingaben (onError) bzw. wenn die Antwort nicht mit der erwarteten übereinstimmt, der Input sich selbst neu aufruft.
Das führt aber zu Problemen, wenn der Nutzer falsche Eingaben macht. Ohne jetzt genauer getestet zu haben funktionieren nur "wenige" Falscheingaben, sobald ich mehr als ~3 mal falsch antworte, stürtzt das ganze mit einem Stack-Overflow ab, ich nehme an, weil die Inputs zu verschachtelt werden.
Ein weiteres Problem ist, wenn der Nutzer die Spielzone verlässt, während der Input noch offen ist und sie wieder betritt: das alte offene wird als falsch beantwortet gewertet, ruft sich also selbst neu auf und durch das Betreten der Zone wird der selbe Input auch nochmal aufgerufen.
Und zu guter Letzt ist noch das Problem, dass solang der Input offen ist, der Nutzer nicht aufs Inventar zugreifen kann, in dem sich manchmal Hinweise zur Aufgabe befinden. Zwar kann ich den Input abbrechen, aber ihn ja nicht mehr manuell aufrufen, nachdem ich mich im Inventar umgesehen habe.
Mit onClick->Input war das alles so einfach :/
In die Zone einen Character oder Item zu stellen, der mir durch ein Command "Ansprechen" o.ä. die Frage stellt, finde ich blöd...
Und eine zweite Frage, die ist nicht ganz so wichtig: Kann ich in einer Message statt eines Textes ein Bild darstellen?
ich bastle gerade mit Urwigo an meinem ersten Whereigo. Ich war auch soweit fertig, im Simulator und auf Android lief das Ganze wie es soll. Nun bin ich, ich weiß, reichlich spät, auf die Probleme mit den Garmins gestoßen und hab nun Etliches zu ändern
Mein bisheriger Ablauf sah vor:
Zone betreten -> Task dieser Zone aktivieren -> Nutzer muss Task abschließen (Frage richtig beantworten) -> Zone wird deaktiviert, nächste Spielzone wird aktiviert usw.
Dabei war es so, dass der Input durch onClick-Event gestartet wurde, sodass man also manuell das Eingabeformular aufrief - da war es auch kein Problem, wenn die Frage falsch beantwortet wurde, es gab den Hinweis auf eine falsche Lösung als Message und der Nutzer konnte durch Anklicken des Tasks die Eingabe wiederholen.
Wie bau ich dieses Verhalten denn jetzt am besten ohne onClick nach?
Ich hab das jetzt so, dass gar keine Tasks mehr da sind, sondern dass beim Betreten der Zone direkt der Input aufgerufen wird und bei falschen Eingaben (onError) bzw. wenn die Antwort nicht mit der erwarteten übereinstimmt, der Input sich selbst neu aufruft.
Das führt aber zu Problemen, wenn der Nutzer falsche Eingaben macht. Ohne jetzt genauer getestet zu haben funktionieren nur "wenige" Falscheingaben, sobald ich mehr als ~3 mal falsch antworte, stürtzt das ganze mit einem Stack-Overflow ab, ich nehme an, weil die Inputs zu verschachtelt werden.
Ein weiteres Problem ist, wenn der Nutzer die Spielzone verlässt, während der Input noch offen ist und sie wieder betritt: das alte offene wird als falsch beantwortet gewertet, ruft sich also selbst neu auf und durch das Betreten der Zone wird der selbe Input auch nochmal aufgerufen.
Und zu guter Letzt ist noch das Problem, dass solang der Input offen ist, der Nutzer nicht aufs Inventar zugreifen kann, in dem sich manchmal Hinweise zur Aufgabe befinden. Zwar kann ich den Input abbrechen, aber ihn ja nicht mehr manuell aufrufen, nachdem ich mich im Inventar umgesehen habe.
Mit onClick->Input war das alles so einfach :/
In die Zone einen Character oder Item zu stellen, der mir durch ein Command "Ansprechen" o.ä. die Frage stellt, finde ich blöd...
Und eine zweite Frage, die ist nicht ganz so wichtig: Kann ich in einer Message statt eines Textes ein Bild darstellen?