Seite 1 von 1

Aufgabe6 - Punkte erhöhen

Verfasst: 23. Mai 2013 18:53
von Zwähn
Hey,
ich habe ein Problem beim erhöhen der Punktzahl:
Trifft der Ball in einem sehr kleinen Winkel auf einen der Collider (diese sind an den Enden des Spielfelds angebracht) so
scheint die Methode "OnCollisionEnter" zwei mal ausgeführt zu werden, was dazu führt, dass auch die Punktzahlinkrementierung
zwei mal erfolgt.

Ich finde allerdings keine Möglichkeit dies zu verhindern. Hat sonst noch jemand ein ähnliches Problem oder eine Idee wie man dies
anderweitig lösen kann?

Gruß,
Sven

Re: Aufgabe6 - Punkte erhöhen

Verfasst: 23. Mai 2013 20:59
von sebastian@TU
Spontane Idee: Beim "ersten" ausführen merken, dass die Kollision aufgerufen wurde, sperren und erst nach dem Reset des Balls wieder entsperren?

Re: Aufgabe6 - Punkte erhöhen

Verfasst: 23. Mai 2013 22:56
von Zwähn
Habs mal probiert mit WaitForSeconds, allerdings hat das garnicht hingehauen, dadurch sind nur sehr große Verzögerungen entstanden, sodass über mehrere Sekunden hinweg keine Punkte mehr gezählt wurden.
Sogar wenn ich eine Sleep-Zeit von 0.1s angegeben habe. Auch mit der OnTriggerEnter() verhält es sich so, dass Punkte teilweise um 2 inkrementiert werden. Ich stehe hier gerade echt vor einem Rätsel, woran
das liegen könnte.

Re: Aufgabe6 - Punkte erhöhen

Verfasst: 24. Mai 2013 08:11
von sebastian@TU
Mit Sperren meinte ich etwas wie:

bool counting = true;
OnCollisionEnter(){ ); if(counting){counting = false; punkte++; resetPosition();}
resetPosition(){ ...\\position auf Anfang; counting = true;}

So funktioniert es zumindest in meinem Bowlingspiel...

Re: Aufgabe6 - Punkte erhöhen

Verfasst: 24. Mai 2013 12:55
von Zwähn
Danke für die Idee Sebastian, aber leider bringt das auch nichts.
Kann mir leider immer noch nicht erklären woran das liegt- Aber noch sind ein paar Tage Zeit, vielleicht findet sich
der Fehler noch.

Re: Aufgabe6 - Punkte erhöhen

Verfasst: 24. Mai 2013 13:16
von Maniac
Erhöhst du vielleicht die Punktezahl auf der Server und auf der Client-Seite jeweils einmal uns synchronisierst das dann?