Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 02-10-2003, 13:26   #1 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 3
Kollision und Reflektion an einem beweg- und drehbaren Objekt (Nein, keine Kugel...)

Hallo an Alle,

folgendes Problem:

Mein Ball fliegt über die Bühne und wird an den Seiten reflektiert (Einfallswinkel=Ausfallswinkel).

Gleiches soll auch geschehen wenn der Ball an einem "Schläger" (Pong-Like...) auftrifft.

Der Schläger kann sich lediglich auf der y-achse hoch und runter bewegen, jedoch kann man ihn auch drehen.

Ich schaff es aber leider nur eine Reflektion zu bekommen wenn der Ball sich über die x-Achse bewegt.

Ausserdem stimmt wenn der "Schläger" gedreht ist natürlih der Ausfallswinkel nicht da dieser an der y-Achse gemessen wird.

Wie geh ich da am Besten ran? Komplettlösung? Keine Ahnung?

ALLE ANTWORTEN WILLKOMMEN!!! DANKE!!!
NilleAllstar ist offline   Mit Zitat antworten
Alt 02-10-2003, 13:33   #2 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 3
Achja, hier mein bisheriges Script...

Achja, hier mein bisheriges Script.

Nicht lachen, bin doch noch neu...


Das ist die Kugel:

ActionScript:
  1. onClipEvent (load) {
  2.     maxbewegungmaus = 10;
  3.     minbewegungmaus = -10;
  4.     ybewegung = -1;
  5.     xbewegung = 1;
  6.     linkerrand = 44.6;
  7.     rechterrand = 497.9-this._width;
  8.     obererrand = 37.9;
  9.     untererrand = 356.6-this._height;
  10.    
  11.     function mausbewegung() {
  12.         altx = this._x;
  13.         alty = this._y;
  14.     }
  15.    
  16.     function block() {
  17.         if (_root.ball, hitTest(_root.schlaeger) == true) {
  18.             ybewegung = +ybewegung;
  19.             xbewegung = -xbewegung;
  20.         }
  21.     }
  22.    
  23.     function inabox() {
  24.         if (this._x<linkerrand) {
  25.             xbewegung = -xbewegung;
  26.             this._x += (linkerrand-this._x)*2;
  27.         } else if (this._x>rechterrand) {
  28.             xbewegung = -xbewegung;
  29.             this._x -= (this._x-rechterrand);
  30.         }
  31.         if (this._y<obererrand) {
  32.             ybewegung = -ybewegung;
  33.             this._y += (obererrand-this._y)*2;
  34.         } else if (this._y>untererrand) {
  35.             ybewegung = -ybewegung;
  36.             this._y -= (this._y-untererrand)*2;
  37.         }
  38.     }
  39.     function beschleunigung() {
  40.         this._y = this._y-ybewegung;
  41.         this._x = this._x-xbewegung;
  42.     }
  43. }
  44. onClipEvent (enterFrame) {
  45.     if (!dragball) {
  46.         beschleunigung();
  47.         inabox();
  48.         block();
  49.     } else {
  50.         mausbewegung();
  51.     }
  52. }


Und das ist der Schlaeger:

ActionScript:
  1. onClipEvent (load) {
  2.     speed = 5;
  3. }
  4. onClipEvent (enterFrame) {
  5.    
  6.     if (Key.isDown(Key.DOWN) && this._y < 328) {
  7.         _y += speed;
  8.     }
  9.     if (Key.isDown(Key.UP) && this._y >67) {
  10.         _y -= speed;
  11.     }
  12.     if (Key.isDown(Key.UP) && Key.isDown(Key.RIGHT)) {
  13.         _rotation += speed;
  14.     }
  15.     if (Key.isDown(Key.UP) && Key.isDown(Key.LEFT)) {
  16.         _rotation -= speed;
  17.     }
  18.     if (Key.isDown(Key.DOWN) && Key.isDown(Key.RIGHT)) {
  19.         _rotation += speed;
  20.     }
  21.     if (Key.isDown(Key.DOWN) && Key.isDown(Key.LEFT)) {
  22.         _rotation -= speed;
  23.     }
  24.     if (Key.isDown(Key.RIGHT)) {
  25.         _rotation += speed;
  26.     }
  27.     if (Key.isDown(Key.LEFT)) {
  28.         _rotation -= speed;
  29.     }
  30. }


Bin ich da ganz falsch rangegangen?
NilleAllstar 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:41 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele