Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
21.06.2009, 16:31
sicus



Hallo,
die suche konnte mir keine Lösung meines Problems liefern, also erstelle ich mal ein neues Thema. Mein Problem ist folgendes, ich habe einen track aus 2 path_tracks. Der Zug soll nun von punkt 1 zu punkt 2 fahren, davon wieder zurück zu punkt 1 und bei diesem eine zeitlang stehen bleiben. Der Vorgang soll 5 mal wiederholt werden. Ich bin also so vorgegangen:

* path1 hat als "next target" path2
* path2 hat als "next target" path1
* path1 hat als output bei "OnPass" einen "Stop" zum Train und einen "Add" "1" zu einem math_counter.
* der math_counter hat als init value 0 und als max value 5.
* der counter hat einen output "OnGetValue" zum train "StartForward" und "SetSpeed", beide mit einem delay von 10 sekunden.

Nach meiner Logik hält der Zug bei path1 an, triggert den counter (+1), dieser aktiviert nach 10 sekunden den Zug, dieser fährt zu path2, zurück zu path1, hält an, und triggert den counter erneut... solange bis max_value erreicht ist.

Das reale Verhalten ist jedoch, der Zug fährt zu path2, zurück zu 1 und bleibt stehen. Mehr passiert nicht.

Achja, der math_counter ist natürlich enabled.

Hat jemand eine Lösung wie ich das ganze hinbekomme?
Danke im voraus

--

zum Seitenanfang zum Seitenende Profil || Suche
001
21.06.2009, 16:49
sicus



Ahhh, hab das problem grad selber gelöst. Ich dachte daß "OnGetValue" automatisch bei "Add" getriggert wird (der counter erhält ja ein Value), dem ist aber nicht so. ich musste nach "Add" noch ein "GetValue" machen um den "OnGetValue" zu triggern.

Hoffentlich hilft dieser beitrag noch anderen, dann wäre er wenigstens nicht umsonst.

--


Dieser Beitrag wurde am 21.06.2009 um 16:50 von sicus bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
002
22.06.2009, 14:00
Morpheus_Deluxe



Würde es nicht reichen den Pathtracks einfach nur zu sagen "on path Train Start forward" dann bei Path 2 "on pass train stop" und "on pass train start backward after 10sec" da brauchst du kein Counter

--

Wer etwas riskiert kann verlieren ....
Wer nix riskiert hat schon verloren!

zum Seitenanfang zum Seitenende Profil || Suche
003
22.06.2009, 20:04
sicus



nein, dann wäre es ja eine unendlichschleife. ich wollte aber daß sich dieser vorgang exakt 5 mal wiederholt und dann aufhört. desshalb diesen counter, bei jedem passieren von path_track 1 wurde er um 1 erhöhrt bis max. 5. danach sollte der train deaktiviert werden. ich wüßte keine andere möglichkeit die anzahl der wiederholungen zu begrenzen außer mit einem counter. um das ganze in programmiercode auszudrücken:

for(int i=0;i<5;i++) {
moveTo(path2); // bewegen von path1 -> path2
moveTo(path1); // bewegen von path2 -> path1
sleep(10); // 10 sek warten.
}

deine methode wäre ja:
while(true) {
moveTo(path2); // bewegen von path1 -> path2
moveTo(path1); // bewegen von path2 -> path1
sleep(10); // 10 sek warten.
}

--


Dieser Beitrag wurde am 22.06.2009 um 20:05 von sicus bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche