Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

Individuelle Laufstrecke ausgeben

Adventure-Cartridges für PDAs oder Garmin Colorado/Oregon

Moderator: m.zielinski

Antworten
Benutzeravatar
Inselknolle
Geocacher
Beiträge: 90
Registriert: Do 9. Dez 2010, 17:30
Wohnort: Bergen auf Rügen

Individuelle Laufstrecke ausgeben

Beitrag von Inselknolle » Di 22. Mai 2018, 07:30

Hallo und ja.... ich schon wieder :shocked:

Nachdem ich die letzten beiden Probleme geschafft habe, wurde ich gefragt, ob es eine Möglichkeit gibt, die gelaufene Strecke des Spielers mitzutracken und diese ausgeben zu lassen.

Zwar habe ich einiges gefunden aber so richtig schlau werde ich daraus nicht. Ich will ja nicht den Abstand zwischen 2 Zonen (den kenne ich ja) sondern ich versuche dem Spieler eine Möglickeit zu bieten am Ende des Spiels zu sehen welche Strecke er gelaufen ist. Hat er etwas vergessen und muss zurück laufen hat er halt mehr Meter auf der Uhr.

Sollte jemand eine Idee haben, währe ich sehr dankbar.
Verrückt oder nicht..... Bei mir sucht das Dakota sogar Frau, Kind und Autoschlüssel.

Werbung:
Charlenni
Geomaster
Beiträge: 734
Registriert: Di 17. Aug 2010, 15:27

Re: Individuelle Laufstrecke ausgeben

Beitrag von Charlenni » Di 22. Mai 2018, 10:15

Mit einem Timer. Alle 10 Sekunden die Position des Spielers abfragen, Didtanz zur letzten gemerkten Position berechnen, diese zur Summe hinzurechnen und Position als letzt merken.

Benutzeravatar
Inselknolle
Geocacher
Beiträge: 90
Registriert: Do 9. Dez 2010, 17:30
Wohnort: Bergen auf Rügen

Re: Individuelle Laufstrecke ausgeben

Beitrag von Inselknolle » So 27. Mai 2018, 14:48

So. Danke erstmal für deine Antwort. Habe jetzt viel probiert. Leider ohne Erfolg. Kannst du mir n Tip geben wie man das unter URWIGO realisieren kann?
Verrückt oder nicht..... Bei mir sucht das Dakota sogar Frau, Kind und Autoschlüssel.

Charlenni
Geomaster
Beiträge: 734
Registriert: Di 17. Aug 2010, 15:27

Re: Individuelle Laufstrecke ausgeben

Beitrag von Charlenni » So 27. Mai 2018, 15:17

Du brauchst einen Timer mit der gewünschten Dauer für den Abstand. 5-10 Sekunden sollten reichen. Dann eine Variable, die die letzten Koordinaten speichert (varLastPos). Weiterhin eine Variable, die die gelaufene Strecke enthält (varStrecke). Wenn du die Strecke messen möchtest, dann varStrecke auf 0 setzen, varLastPos auf Player.Position setzen und Timer starten. Im Timer Event musst du nun die Strecke seit dem letzten Ereignis berechnen. Dazu gibt es eine Funktion, die das für dich macht. Letzter Punkt ist varLastPos, aktueller ist Player.Position. Musst du online suchen (siehe http://www.das-wherigo-handbuch.de/inde ... .ZonePoint, Funktion VectorToPoint). Diese Strecke addierst du zu varStrecke und setzt dann varLastPos auf Player.Position. Wenn es ein Ablauf-Timer war, dann neu starten.

Das ist es. Wenn du ein Beispiel brauchst, dann kann ich das erst in einer Woche machen.

Benutzeravatar
Inselknolle
Geocacher
Beiträge: 90
Registriert: Do 9. Dez 2010, 17:30
Wohnort: Bergen auf Rügen

Re: Individuelle Laufstrecke ausgeben

Beitrag von Inselknolle » Mo 28. Mai 2018, 20:44

Vielen Dank. Ganz schlau werde ich noch nicht draus aber ich gucke mal ob ich was basteln kann. über ein beispiel währe ich trotzdem dankbar wenn es deine zeit zulässt.

schöne Grüße
Verrückt oder nicht..... Bei mir sucht das Dakota sogar Frau, Kind und Autoschlüssel.

Charlenni
Geomaster
Beiträge: 734
Registriert: Di 17. Aug 2010, 15:27

Re: Individuelle Laufstrecke ausgeben

Beitrag von Charlenni » Di 29. Mai 2018, 12:08

Ok, habe jetzt mal eine Demo-Cartridge gemacht.

Du brauchst die 4 Funktionen InitMeasuring, StartMeasuring, StopMeasuring und UpdateMeasuring. Diese machen die Hauptarbeit. Zusätzlich brauchst du noch einen Timer (hier MeasuringTimer), der den Ablauf steuert.

InitMeasuring wird beim Start der Cartridge aufgerufen und fügt die 2 verwendeten Variablen zur Cartridge hinzu, damit diese auch beim Abspeichern berücksichtigt werden.
StartMeasuring wird beimStart des Timers aufgerufen. Damit werden alle Variablen auf Null gesetzt.
StopMeasuring wird beim Beenden aufgerufen. Es aktuallisiert die bisher zurück gelegte Strecke.
UpdateMeasuring wird bei jedem Timerevent aufgerufen und berechnet die bisher zurückgelegte Strecke.

Um das Ganze in der Demo-Cartridge zu steuern habe ich einen Gegenstand (Walking) angelegt. Dieser hat zwei Kommandos: Start und Stop :). Bei Start wird StartMeasuring aufgerufen, welches alle Werte auf 0 setzt, und der Timer gestartet. Ab jetzt wird alle zwei Sekunden (kann auch geändert werden) die Position des Spielers bestimmt und die bisher zurückgelegte Distanz berechnet. Bei Stop wird die Messung angehalten und die berechnete Distanz ein letztes mal aktuallisiert. Zusätzlich wird die Beschreibung des Gegenstandes so angepasst, dass du die zurückgelegte Strecke siehst.

So, mehr gibt es eigentlich nicht zu sagen. Bei Fragen einfach melden.
Dateianhänge
WalkedDistance.zip
(2.29 KiB) 14-mal heruntergeladen

Benutzeravatar
Inselknolle
Geocacher
Beiträge: 90
Registriert: Do 9. Dez 2010, 17:30
Wohnort: Bergen auf Rügen

Re: Individuelle Laufstrecke ausgeben

Beitrag von Inselknolle » Do 31. Mai 2018, 07:39

Geil! :gott:

So kann ich was damit anfangen bzw verstehe das mal richtig. Ich probiere mal etwas rum. Vielen Dank auf alle Fälle für die Hilfe.
Verrückt oder nicht..... Bei mir sucht das Dakota sogar Frau, Kind und Autoschlüssel.

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder