| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Aug 2003
Beiträge: 62
| Kollisionsproblem bei Jump-'n-Run
Hallo, ich programmiere gerade ein Jump-'n-run, und bin gerade darüber, dass das Männchen (namens "held") mit den Steinen, auf denen es läuft, kollidiert, wenn es von rechts oder von links dranstösst. Dafür gibt es auf jedem Stein einen Hittest mit 2 if-Anweisungen: eine prüft, ob der Held von rechts dagegenstösst, die andere, ob er von links dagegenstösst. Leider funktioniert dies immer nur von einer Seite, das Männchen geht immer nur in die erste Anweisung. Der Code sieht so aus: Anm.: - "punkt" ist der linke obere Punkt des Steins. - Der held hat an seinem linken Fuss den _x - und den _y-Wert gleich Null und ist 20 Pixel breit. - Ich habe den Stein, der etwa 100 Pixel breit ist, in zwei Hälften geteilt: die x-Werte, die grösser als 50 sind, und die x-Werte, die kleiner als 50 sind, von "punkt" aus gerechnet. function hit(){ if (this.hitTest(_root.held)){ (...) if ((punkt.x + 50 < _root.held._x) <= punkt.x + this._width) { //wenn held den Stein von rechts berührt trace("von rechts"); _root.held._x = _root.held._x+4; //er wird, solange er gegen den Stein rennt, immer um 4 nach rechts geschoben- auf die Weise kommt er nicht vorwärts. return 0; } else if (punkt.x <= _root.held._x+20 <= punkt.x + 50) { //wenn held die linke Kante des Steins berührt trace("von links"); _root.held._x = _root.held._x-4; return 0; } } } PS: ich habe diese Frage schon mal im falschen Unterforum gepostet, Entschuldigung an die Mods wegen dem doppelten Post. |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |