Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 06-01-2005, 11:08   #1 (permalink)
Neuer User
 
Benutzerbild von Sanjarok
 
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.
Sanjarok ist offline   Mit Zitat antworten
Alt 06-01-2005, 11:57   #2 (permalink)
Art Director
 
Benutzerbild von tomtom69
 
Registriert seit: Sep 2002
Ort: Mülheim/Ruhr
Beiträge: 698
Exclamation … mmmmhhhhhhhhh

No Cross-Posting please

Greetz
__________________
__________________________________________
"… blubb!"
tomtom69 ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 18:43 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele