• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

Bilder zufällig anzeigen

xxmurdockxx

Geomaster
Hallo,

ich versuche mich gerade an meinem ersten Wherigo.
Als Builder verwende ich den Urwigo und hab auch schon die ersten Zonen, Personen und Gegenstände in Interaktion. Musik ausprobiert, Bilder angezeigt, Items ins Inventory geschoben usw.

Nun würde ich gerne folgendes realisieren:
Der Spieler soll in einer Zone ein Spiel machen.
Es sollen dann verschiedene Bilder im Zufallsprinzip hintereinander angezeigt werden.

Beispiel:
eine Katze springt auf 3 Mülltonnen hin und her (links, Mitte, rechts)
Die Bilder zeigen die Katze jeweils links auf der Tonne, rechts oder in der Mitte.
Nach ein paar Bildern stoppt die Diashow und der Spieler soll entscheiden, auf welcher Tonne die Katze sitzt.

Ist sowas überhaupt machbar?
Könnte das auch auf allen Geräten laufen?
Meine LUA-Kenntnisse .... ich weiß wie man LUA schreibt :D

Grüße
Stefan
 
OP
xxmurdockxx

xxmurdockxx

Geomaster
Sodalle,

momentaner Stand ist folgender:
Um ein Zufallsbild anzuzeigen hab ich folgenden LUA-Code verwendet:
Code:
require "math"
local images={image1, image2, image3}

local r=math.random(table.getn(images))
Wherigo.MessageBox{Text="Nummer 2", Media=images[r]}

Damit mehrere Bilder hintereinander angezeigt werden starte ich verschiedene Timer mit unterschiedlichen Längen. Jeweils 1 Sekunde auseinander.
Und bei jedem Ablauf wird der LUA-Code aufgerufen.

Im Emulator funktioniert es. :D

Jetzt muß ich nur noch da letzte Zufallsbild irgendwie in eine variable bringen, die ich dann abfragen kann Wahr/Falsch. :???:

hat keiner nen Tipp??
 
OP
xxmurdockxx

xxmurdockxx

Geomaster
OK... habs gelöst. :D

nochmals zu meiner Aufgabenstellung:
Ich wollte eine bestimmte Anzahl von Bildern in einer zufälligen Reihenfolge angezeigt bekommen.
Danach sollte der Spieler entscheiden welches Bild am Schluß zu sehen war.

meine gefundene Lösung:
Code für zufällig angezeigtes Bild
Code:
require "math"
local images={image1, image2, image3}

local r=math.random(table.getn(images))
Wherigo.MessageBox{Text="Nummer 2", Media=images[r]}
Um mehrere Bilder hintereinander angezeigt zu bekommen habe ich mehrere Timer gestartet die jeweils mit 1 Sekunde Verzögerung enden.
Und in jedem Timer bei Ablauf der o.g. Usercode.
Damit ich das letzte Bild in einer Variablen zur Abfrage habe einfach die lokale variable in global ändern.
Code:
r=math.random(table.getn(images)
Damit kann in Urwigo die Variable abgefragt werden.
Wichtig: Im Urwigo muss die Variable auch die gleiche Kennung erhalten wie im Usercode.
Jetzt nur noch die Eingabe (Frage welches Bild) definieren und zwar als "Zahl"
Und dann bei if/when der Vergleich zwischen "Variable" und "Antwort"... und schon klappt´s.
Zumindest im Emulator.
Sobald ich den Outdoor-Test vollzogen hab, sag ch ob es auch auf den geräten läuft. :D

Wenn jemand eine elegantere Lösung hat, immer raus damit.
 
OP
xxmurdockxx

xxmurdockxx

Geomaster
Iphone 3GS und 4 - läuft nicht :kopfwand:

Dort muß ich jedes Bild mit OK bestätigen.

Hat zufällig jemand eine Ahnung, an was das liegen könnte?

Aber irgendwie hab ich das Gefühl hier redet keiner mit mir :ka: ;)

Und nochwas... hab irgendwo gelesen, dass man für einen Sound auch 2 Quellen angeben kann. (für Garmin die fdl und sonst mp3) und das dies beim kompilieren der gwc je nach Typ verwendet wird.
Geht aber nicht... Garmin macht Beep aber Iphone bleibt stumm.
 

maierkurt

Geowizard
Iphone 3GS und 4 - läuft nicht.
Das überrascht mich jetzt nicht wirklich. Di PiGo-Software scheint nicht so ausgereift zu sein. Bei meinem WheriGo stürtzen die (auch das iPad) hier und da mal ab. Mit Garmin und Windows Mobile bisher keinerlei Probleme.

Gruß, maierkurt
 
OP
xxmurdockxx

xxmurdockxx

Geomaster
maierkurt schrieb:
Das überrascht mich jetzt nicht wirklich. Di PiGo-Software scheint nicht so ausgereift zu sein. Bei meinem WheriGo stürtzen die (auch das iPad) hier und da mal ab. Mit Garmin und Windows Mobile bisher keinerlei Probleme.

Gruß, maierkurt
Abgestürzt sind sind sie nicht. Liefen problemlos durch.
Da ist das Garmin einmal abgeschmiert.
Nur eben die Funktion mit der Anzeige von mehreren Bildern hintereinander funktioniert nicht wie ich will.
Ich muss immer erst ein Bild mit OK bestätigen, bevor es weitergeht. Trotz Timer. :kopfwand:
 

bodenseepingu

Geomaster
Vielleicht noch der ein- oder andere Hinweis:

- in der Vergangenheit (Anfang des Jahres) hatte ich schon Probleme auf Android mit table.getn() (Absturz), hab keine Ahnung ob das immer noch der Fall ist - ich vermeide das Konstrukt auf jeden Fall, da ich sowieso immer weiß, wieviele Einträge meine Tables haben und verwalte das lieber selber.

- anstatt mehrere Timer zu verwenden mit unterschiedlichen Zeiten, würde ich lieber einen einzigen Timer im gewünschten Takt nehmen und bei der onTick()-Routine dann lieber mit einem counter arbeiten.

Das hat den Vorteil, daß man nicht unnötig Code duplizieren muss.

Sowas mache ich für wiederholte Aktionen dann immer ganz gerne mit dem Modulo-Operator.

Z.b. manipuliere ich bei Catch me if you can bis zu 5 verschiedene Zonen dynamisch - aus Performance-Gründen aber zu einem Timer-Tick immer nur eine.

Ich zähle also eine (globale) Variable timer beim Timer-Tick immer hoch und frage ab

Code:
if (timer % 5) == 0 then...
elseif (timer %5 == 1 then..
etc.
 

bodenseepingu

Geomaster
ok, hier eine testcartridge, auspacken, mit Urwigo laden und anschauen - bisher nur im Emulator getestet, sollte aber eigentlich so überall laufen
 

Anhänge

  • testspiel2.zip
    31,1 KB · Aufrufe: 41
Oben