PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Koordinaten Problem



Arlownay
03.06.2004, 18:05
Hi!

Die Situation ist Folgende:
Du bist auf einer eingezäunten Weide mit Kühen und deine Aufgabe ist es, die Kühe durch ein "Tor" von der Weide hinunter zu treiben (mit Step away fom hero). Sobald eine Kuh im Tor ist, geht ein Zähler/eine Anzeige rauf. Die Kuh soll sobald sie draussen ist ein paar Schritte weglaufen, damit sich die Kühe nicht vor dem Tor stauen.


Gemacht habe ichs so:
Ich hab per parallel Process für jede einzelne Kuh die Koordinaten abgefragt.
In einem anderen Event prüfe ich ebenfalls per Parallel Process und Fork Conditions, ob eine der Kühe dieselben Koorinaten hat wie das Tor.
Falls die Koordinaten überinstimmen, soll die Variable des Zählers eins hoch, der Schalter für die jeweilige Kuh soll angestellt werden, damit diese dann den vorgeschriebenen Weg ausserhalb der Weide macht, und nicht einfach im Tor stehen bleibt.

Das Problem ist:
Die Kuh läuft einfach fröhlich ihren Random Movement weiter, manchmal auch durchs Tor, aber der Zähler geht nicht rauf, es passiert rein gar nichts.

Ich hoffe das war einigermassen Verständlich. Screens kann ich leider keine posten, da ich die auf dem anderen Computer hab.

Woran könnte das liegen?

Leo Norice
03.06.2004, 18:42
besteht ein "kuh-event" aus mehreren seiten? wenn ja solltest du drauf achten dass jede seite vom jedem kuh-event bei movement auf "step away from hero" gestellt ist.
hast du vielleicht noch andere move-events was dem "step away from hero" durcheinander bringen könnte?

wegen dem zähler:
hast du die koordinaten der kuh-events in "scene x/y" oder "coordinate x/y" gespeichert? muss in coordinate x und y gespeichert werden. das gleich auch mit dem tor event.
vielleicht könntest du ja auch mal probieren, wenn du kuh übers torevent läuft.
z.b. tor event is links. hat koordinaten: "13,20" (bespiel).
dann machst du ne bedingung, das das kuh event halt <13 sein muss.

aber eigentlich müsste es so klappen wie du es gemacht hast....

EDIT:

du hast mit einem parallel process event die koordinaten der kuh
abgefragt? (vergangenheitsform)
hast du danach n "clear timer" gesetzt?
falls ja, das event muss ja ständig laufen. genau wie das für die tor variablen.

CapSeb
03.06.2004, 18:46
Du hast gesagt, dass in einem Event für alle Kühe geprüft wird, ob eine Kuh die gleichen Koordinaten wie das Tor hat. Das heißt, dass nacheinander mehrere Forks kommen. Wenn das der Fall ist, kann es sein, dass die Kühe schneller das Feld wieder verlassen, als die notwendige Fork durchläuft.
Lösung: Splitte das Event mit den Forks auf, sodass mehrere Forks parallel laufen.

Arlownay
03.06.2004, 18:50
Ja, der Kuh event hat mehrere seiten. Zuerst laufen sie mit Random movement herum. Dann muss man die Kühe zählen und dafür ist eine neue seite zuständig, wo sie einfach etwas schneller mit random movement herumlaufen. Wenn man alle gezählt hat, geht wieder ein switch an, der mit random movement und step away from hero(=>wenn man die kuh berührt kommt ein bewegungsereignis) läuft.

Tja und dann sollten die Kühe eben durchs Tor getrieben werden.

Das Tor ist kein event, aber die koordinaten sind 15/14. Hab dann einfach abgefragt, ob die koordinaten der kühe auch 15/14 betragen. (ich hab auch nicht scene genommen)

EDIT:

@Leo: Nein das event läuft die ganze zeit.

@cap: Ja das werd ich mal ausprobieren,... jedoch hab ich nach dem Parallel Process ein wait von 0,1 und es sind bloss 8 kühe, also eine relativ kurze abfrage... Aber ein versuch ists wert, danke.

Leo Norice
03.06.2004, 19:03
Original geschrieben von Arlownay
Ja, der Kuh event hat mehrere seiten. Zuerst laufen sie mit Random movement herum. Dann muss man die Kühe zählen und dafür ist eine neue seite zuständig, wo sie einfach etwas schneller mit random movement herumlaufen. Wenn man alle gezählt hat, geht wieder ein switch an, der mit random movement und step away from hero(=>wenn man die kuh berührt kommt ein bewegungsereignis) läuft.

hm. den teil hab ich net ganz verstanden....

diese komischen kühe laufen wild herum. wenn du sie touchst wird n schalter geswitscht (auf an natürlich) dann auf der nächsten seite des kühchen-events, hat die kuh dann kein random movement mehr, sonder n "step away from hero". ich würde dann nochmal n move-event in die codezeilen eintragen (step away from hero). dann machste "move all" und danach wird der switsch wieder augeswitscht.

Arlownay
03.06.2004, 19:15
Nicht ganz. Also ich versuchs nochmal:

Wenn die Kühe gezählt sind, geht der switch "Kühe raustreiben" an. Dieser aktiviert bei allen eine neue seite:

Bei Movement Type hab ich Random movement eingestellt.
Das event ist auf on hero touch. Und wenn man die kuh berührt kommt das move event mit :step away from hero.

Wenn die Kühe dann durchs tor gehen, sollte wieder eine neue seite aktiviert werden, damit sie dann an ihren platz laufen.

Kyuu
03.06.2004, 21:10
Original geschrieben von Arlownay
Woran könnte das liegen?

Finde es raus. -> Klick mich. (http://people.freenet.de/derletztemohikaner/Project2.rar) <-

Dhan
03.06.2004, 21:11
Also so wie dus beschreibst müsst es klappen... vielleicht lädst dus mal hoch (oder schickst es mir und ich lads für alle hoch wenn du keinen space hast)

Arlownay
07.06.2004, 15:33
Danke für die Hilfe!

Es hat jetzt geklappt, ich habe die Abfrage für die Koordinaten-übereinstimmung jetzt für jede Kuh einzuen gemacht, wie CapSeb gesagt hat. Jetzt gehts.

Danke danke! http://www.multimediaxis.de/images/smilies/old/sm_12.gif