Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 10-05-2004, 10:13   #1 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Ort: Sankt Augustin
Beiträge: 25
Kollisionsabfragen ohne hitTest?

Hallo zusammen, ich programmiere seit einiger Zeit an einem einfachen PingPong/ShuffleBoard Spiel.

Nun komme ich aber mit hitTest nicht mehr zurecht weil ich die Schläger auch auf den Ball zu bewegen möchte und dann scheint hitTest die Kollision nicht mehr mitzubekommen gleiches Passiert wenn der Ball zu schnell ist.

Ich suche also nach einer Möglichkeit die Kollisionsabfrage ohne hitTest zu machen, ich habe das mit einer Koordinatenabfrage schon versucht das klappt aber irgendwie nicht ich stell mal die fla hier rein.

wäre nett wenn mir jemand helfen könnte
Klement ist offline   Mit Zitat antworten
Alt 10-05-2004, 10:23   #2 (permalink)
der mit der Axt
 
Benutzerbild von ANTICHRIST
 
Registriert seit: Mar 2003
Ort: Mighty Mighty Ruhrpott
Beiträge: 449
Schau mal in der Referenze unter "setInterval", if-Schleifen und der _x-Eigenschaft nach, damit solltest Du was anfangen können.
ANTICHRIST ist offline   Mit Zitat antworten
Alt 10-05-2004, 10:24   #3 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Ort: Sankt Augustin
Beiträge: 25
upps datei vergessen anzuhängen hier ist sie.
Angehängte Dateien
Dateityp: rar test2.rar (3,9 KB, 6x aufgerufen)
Klement ist offline   Mit Zitat antworten
Alt 10-05-2004, 11:30   #4 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Ort: Sankt Augustin
Beiträge: 25
Zitat:
Geschrieben von ANTICHRIST
Schau mal in der Referenze unter "setInterval", if-Schleifen und der _x-Eigenschaft nach, damit solltest Du was anfangen können.
ich verstehe nicht so richtig wie mir dieses setIntervall helfen kann, kann ich damit die If Abfragen zur x/y Position häufiger stellen oder wie meinst Du das?
Klement ist offline   Mit Zitat antworten
Alt 10-05-2004, 11:37   #5 (permalink)
jungflasher
 
Benutzerbild von sesamstrassenbe
 
Registriert seit: Oct 2002
Ort: Dortmund
Beiträge: 132
mit setInterval() bist du halt nicht mehr an deine framerate gebunden. bei 10 fps hast du ja z.b. nur jede 10tel sekunde eine abfrage! da wird's bei schnellen bällen dann schon eng *g*

gruß! daniel
__________________
sesamstrassenbert. so viel platz muss sein ;-)

www.digisurf.de
sesamstrassenbe ist offline   Mit Zitat antworten
Alt 10-05-2004, 11:40   #6 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Ort: Sankt Augustin
Beiträge: 25
kann ich dann trotzdem mit hitTest arbeiten? oder dann mit setintervall eine If Abfrage auf die einzelnen Koordinaten von den Schlägern und dem Ball machen?
Klement ist offline   Mit Zitat antworten
Alt 10-05-2004, 12:07   #7 (permalink)
der mit der Axt
 
Benutzerbild von ANTICHRIST
 
Registriert seit: Mar 2003
Ort: Mighty Mighty Ruhrpott
Beiträge: 449
Ganz einfach :


ActionScript:
  1. function CheckPositionA () {
  2. if (Ball._x == [DEIN NULLPUNKT AN DEM UMDREHEN SOLL]) {
  3. FUNCTION DIE BEI ERREICHEN AUSGEFÜHRT WERDEN SOLL ;
  4. }
  5. }
  6.  
  7. PruefeXPosition = setInterval(CheckPositionA, 10);
ANTICHRIST ist offline   Mit Zitat antworten
Alt 10-05-2004, 12:08   #8 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Ort: Sankt Augustin
Beiträge: 25
ok ich hab keine Ahnung warum das nicht klappt

hier der code :
function () {
//if (_root.bar_mc1.hitTest(_root.ball_mc._x, _root.ball_mc._y, true)) {
Speed_Y = -Speed_Y;
}
//oder ohne hitTest
if (_root.bar_mc1._y == _root.ball_mc_y){
Speed_Y = -Speed_Y;
}
};

setInterval(function () {
trace("Intervallfunktion aufgerufen");
}, 10);

ist an dem Aufruf was falsch?

Geändert von Klement (10-05-2004 um 12:12 Uhr)
Klement ist offline   Mit Zitat antworten
Alt 10-05-2004, 12:48   #9 (permalink)
_//\\#//\\_
 
Benutzerbild von warrantmaster
 
Registriert seit: Jan 2003
Beiträge: 7.060


schau dir doch das schema bei antichrist an, dann solltest du schon auf deine fehler kommen.
warrantmaster ist offline   Mit Zitat antworten
Alt 10-05-2004, 12:59   #10 (permalink)
der mit der Axt
 
Benutzerbild von ANTICHRIST
 
Registriert seit: Mar 2003
Ort: Mighty Mighty Ruhrpott
Beiträge: 449
ActionScript:
  1. function CheckPosition () {
  2.     //if (_root.bar_mc1.hitTest(_root.ball_mc._x, _root.ball_mc._y, true)) {
  3.         Speed_Y = -Speed_Y;
  4.                  } 
  5.                   //oder ohne hitTest
  6.                  if (_root.bar_mc1._y == _root.ball_mc_y){
  7.                                    Speed_Y = -Speed_Y;
  8. }
  9. };
  10.  
  11. StarteFunktion = setInterval(CheckPosition, 10);

Das funktioniert aber nur, wenn Speed_Y = 1 ist
ANTICHRIST ist offline   Mit Zitat antworten
Alt 10-05-2004, 13:04   #11 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Ort: Sankt Augustin
Beiträge: 25
Ja ein paar fehler hab ich jetzt ausgemerzt hatte das Post abgesetzt während antichrist gepostet hat...

nur leider funktioniert das ganze leider noch nicht so wie es soll.

function positionsueberpruefung() {
if (_root.ball_mc._y == _root.bar_mc1._y) {
_root.ball_mc.Speed_Y = -_root.ball_mc.Speed_Y;
trace(treffer);
}
if (_root.ball_mc._y<_root.bar_mc1._y) {
Speed_Y = -Speed_Y;
trace(treffer);
}
};
PruefeYPosition = setInterval(positionsueberpruefung, 10);

so hab ich es jetzt aber der Ball geht weiterhin durch den Schlaeger mc hindurch und wird nicht zurückgeworfen.

habe noch einen Fehler gefunden

Geändert von Klement (10-05-2004 um 13:09 Uhr)
Klement ist offline   Mit Zitat antworten
Alt 10-05-2004, 13:07   #12 (permalink)
der mit der Axt
 
Benutzerbild von ANTICHRIST
 
Registriert seit: Mar 2003
Ort: Mighty Mighty Ruhrpott
Beiträge: 449
Poste mal die FLA bitte
ANTICHRIST ist offline   Mit Zitat antworten
Alt 10-05-2004, 13:10   #13 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Ort: Sankt Augustin
Beiträge: 25
bitteschön und danke für die Hilfe
Angehängte Dateien
Dateityp: rar test1.rar (2,9 KB, 2x aufgerufen)
Klement ist offline   Mit Zitat antworten
Alt 10-05-2004, 13:29   #14 (permalink)
der mit der Axt
 
Benutzerbild von ANTICHRIST
 
Registriert seit: Mar 2003
Ort: Mighty Mighty Ruhrpott
Beiträge: 449
Jetzt mal so auf die Schnelle .....
Angehängte Dateien
Dateityp: zip test2.zip (3,4 KB, 14x aufgerufen)
ANTICHRIST ist offline   Mit Zitat antworten
Alt 10-05-2004, 13:45   #15 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Ort: Sankt Augustin
Beiträge: 25
hm danke erstmal auch wenn das ganze nicht so gut funktioniert wie gehofft hatte

der Ball fliegt ab und an immer noch durch den unteren Schläger hindurch.
Klement 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:42 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele