Class: Entity

Entity(spriteopt, audioopt, xopt, yopt)

Klasse, welche eine Entität darstellt. Diese Entität kann sich bewegen, hat einen Sprite und kann kollidieren

Constructor

new Entity(spriteopt, audioopt, xopt, yopt)

Erstellt eine Entität

Parameters:
Name Type Attributes Default Description
sprite string <optional>
''

URL zu dem Spritesheet der Entität

audio string <optional>
[]

Liste von URLs zu den Audioeffekten

x number <optional>
0

X-Position der Entität

y number <optional>
0

Y-Position der Entität

Properties:
Name Type Description
sprite Image

Der momentane Sprite des Entity

audio Image

Die momentan spielende Audiodatei

state string

Der Status der Entität

Source:

Classes

Entity

Members

audio

Gibt die gerade spielenden Audiodatei wieder dies muss für jeden Entity einzeln festgelegt werden

Source:

collides

Gibt an, ob die Entität mit irgendetwas kollidiert

Source:
See:

collidesBottom

Gibt an, ob die Entität unten mit Etwas Kollidiert

Source:

collidesLeft

Gibt an, ob die Entität links mit Etwas Kollidiert

Source:

collidesRight

Gibt an, ob die Entität rechts mit Etwas Kollidiert

Source:

collidesTop

Gibt an, ob die Entität oben mit Etwas Kollidiert

Source:

corners

Speichere alle Ecken einer Entität. Also die Punkte an denen der Sprite anfängt/aufhört, wenn man den Sprite als ein Rechteck betrachtet

Source:
See:

fallingDownLeftSlope

Gibt an, ob die Entität irgendwo links runterläuft

Source:

fallingDownRightSlope

Gibt an, ob die Entität irgendwo rechts runterläuft

Source:

fallingOnFloor

true, wenn Entiät fällt und mit dem unteren Teil gegen etwas kollidiert

Source:

height

Gibt die Höhe der Entität (also des gerade angezeigten Sprites) an

Source:
See:

jumpingAgainstCeiling

true, wenn Entität nach oben steigt und mit dem oberen Teil gegen etwas kollidiert

Source:

loaded

Gibt an, ob alle Daten für die Entität geladen wurden. Erst dann kann die Entität auch von der Kamera gezeichnet werden

Source:

sprite

gibt den gerade spielenden Sprite wieder dies muss für jeden Entity einzeln festgelegt werden

Source:

vx

gibt die X-Geschwindigkeit der Entität an

Source:

vx

Setzt die X-Geschwindigkeit der Entität

Source:

vy

gibt die Y-Geschwindigkeit der Entität an

Source:

vy

Setzt die Y-Geschwindigkeit der Entität

Source:

walkingIntoLeftWall

Gibt an, ob Entität gegen eine linke Wand läuft

Source:

walkingIntoRightWall

Gibt an, ob Entität gegen eine rechte Wand läuft

Source:

walkingUpLeftSlope

Gibt an, ob die Entität irgendwo links hochläft

Source:

walkingUpRightSlope

Gibt an, ob die Entität irgendwo rechts hochläft

Source:

width

Gibt die Breite der Entität (also des gerade angezeigten Sprites) an

Source:
See:

x

Gibt die X-Position der Entität an

Source:

x

Setzt die X-Position der Entität

Source:

y

Gibt die Y-Position der Entität an

Source:

y

Setzt die Y-Position der Entität

Source:

Methods

computeAudioatlas()

Berechnet den Audioatlas aus dem Audiosheet. Der Audiosheet ist der Parameter "audio" des Generators dieses Objektes. Mittels dieser Methode wird jedem State ein Array aus Audiodateien zugeordnet, welche mittels der URLs vom Audioarray geladen werden. Diese URLs werden hier in Audiodateien Umgewandelt und in this.audioatlas gespeichert.

Source:

computeCollision(level, dsopt, dtopt)

Updated this.collision, sodass neue Kollisionen nachweisbar sind Dabei wird this.corners verwendet und jeder Kante zugeordnet, ob diese kollidiert. Zusätzich werden noch Kanten mit dx oder dy vorne im Namen zusätzlich zu this.collision hinzugefügt, welche die normalen Kanten nach kollisionen überprüfen, wobei diese ein kleines bisschen verschoben wurden

Parameters:
Name Type Attributes Default Description
level Level

das Level in dem nach Kollisionen geprüft wird

ds number <optional>
this.ds

die Größe, die ein kleiner Schritt ist

dt number <optional>
this.dt

Veränderung in Y richtung, die eine ds Änderung in X hat, bzw Veränderung in X Richtung, die eine ds Änderung in Y hat

Source:

computeSpriteatlas()

Berechnet den Spriteatlas aus dem Spritesheet. Also werden die Bilder im Spritesheet zurechtgeschnitten, sodass man die Sprites einzeln verwenden kann muss für jede Entität selber definiert werden

Source:

keyboard()

führt Aktionen aus, je nachdem ob eine Taste gedrückt wurde dies muss für jeden Entity einzeln festgelegt werden

Source:

moveToSurvace(xopt, yopt, conditionopt)

Bewegt die Entität in Richtung [x,y], bis diese auf der Oberfläche ist

Parameters:
Name Type Attributes Default Description
x number <optional>
0

X-Richtung

y number <optional>
1

Y-Richtung

condition condition <optional>
_=>true

Weitere Sachen, die erfüllt sein müssen, damit weiter zur Oberfläche gegangen wird

Source:

physics()

Führt alles aus, was mit Physik zu tuen hat

Source:

update(level)

Updated die Entität. Dazu gehört: timer höhersetzen tastatureingabe verarbeiten Wenn schon geladen, dann auch physik und kollisionen berechnen

Parameters:
Name Type Description
level Level

Das Level in dem sich die Entität befindet

Source:
Fires:
  • Entity#event:keyboard
  • Entity#event:computeCollision
  • Entity#event:physics