jack: Sprite steuern

Hallo zusammen,

kennt jemand ein oder mehrere Tutorials in dem erklärt wird, wie die Algorithmen ablaufen zum Steuern von "Sprites".

Mir geht es um folgendes:

Ich möchte ein Sprite in einem rechteckigen Bereich automtisch bwegen lassen. Die Daten des Sprites sind im wesentlichen Drehwinkel bzgl. der senkrechten nach unten und die aktuelle Position.

Was jetzt passieren kann ist folgendes:

Stößt das Sprite an eine Außenwand, so soll es "reflektieren" (Einfallswinkel = Ausfallswinkel). Das habe ich zwar hinbekommmen, ist aber ziemlich umständlich mit vielen ifs (8 Stück: Alle Ränder testen und pos/neg Drehsinn)

Des Weiteren habe ich eine Reihen von Hindernissen, ebenfalls rechteckig. Hier geht es zunächst einmal darum nur zu erkenn, an welche Seite des Hindernisses es stößt und dann wieder Einfallswinkel = Ausfallswinkel.

Nachdem das doch bestimmt schon mal jemand gemacht hat, dachte ich, ich such mal ein Tutorial, aber irgendwie finde ich über Google nichts.

Hat hier jemand eine Idee?

Das Ganze wird übrigens über JS gemacht.

  1. hi,

    Die Daten des Sprites sind im wesentlichen Drehwinkel bzgl. der senkrechten nach unten und die aktuelle Position.

    Was verstehst du unter "Drehwinkel"?
    Wenn man von linearen Bewegungen angeht, dann braucht es ja nur die Schrittweite der Bewegung in x- und y-Achse.

    Stößt das Sprite an eine Außenwand, so soll es "reflektieren" (Einfallswinkel = Ausfallswinkel).

    Ist der Inhalt des Sprites ebenfalls rechteckig?
    Andernfalls (Sprite teiltransparent, darin bestimmte "Figur") wäre "Anstoßen" ja recht Aufwendig zu überprüfen.

    Das habe ich zwar hinbekommmen, ist aber ziemlich umständlich mit vielen ifs (8 Stück: Alle Ränder testen und pos/neg Drehsinn)

    "Viele IFs" meint wohl die Anzahl der abzufragenden Bedingungen, nicht die Anzahl der IFs?
    Es braucht m.E. nur zwei "IFs" - jeweils zur Prüfung, ob das Sprite horizontal oder vertikal aus dem Bereich läuft - wenn ja, wird schlicht die jeweilige Schritteweite negiert.

    Des Weiteren habe ich eine Reihen von Hindernissen, ebenfalls rechteckig. Hier geht es zunächst einmal darum nur zu erkenn, an welche Seite des Hindernisses es stößt und dann wieder Einfallswinkel = Ausfallswinkel.

    Nachdem du erst überprüft hast, ob sich das Sprite noch innerhalb eines bestimmten Bereiches befindet, ist es doch hier nur der umgekehrte Fall - du willst wissen, ob es sich außerhalb eines Bereiches (Hindernis) befindet.
    Sollte also auch nicht viel komplizierter zu realisieren sein.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }