love

audio

event

filesystem

graphics

image

joystick

keyboard

math

mouse

physics

sound

system

thread

timer

touch

video

window

love

Types

Callbacks

Functions

love.getVersion

Gibt die aktuelle Version von LÖVE zurück.

major, minor, revision, codename = love.getVersion()

majornumberDie Hauptversion von LÖVE.
minornumberDie Unterversion von LÖVE.
revisionnumberDie Revisionsversion von LÖVE.
codenamestringDer Codename der aktuellen Version.

love.conf

Wenn eine Datei namens conf.lua in deinem Spielordner (oder .love-Datei) vorhanden ist, wird sie ausgeführt, bevor die LÖVE-Module geladen werden. Sie können diese Datei verwenden, um die Funktion love.conf zu überschreiben, die später vom LÖVE 'Boot' -Skript aufgerufen wird. Mit der Funktion "love.conf" können Sie einige Konfigurationsoptionen festlegen und Dinge wie die Standardgröße des Fensters ändern, welche Module geladen werden, und andere Sachen.

love.conf( t )

ttableDie love.conf-Funktion nimmt ein Argument: eine Tabelle, die mit allen Standardwerten gefüllt ist, die Sie nach Ihren Wünschen überschreiben können. Wenn Sie die Standardfenstergröße ändern möchten, dann: Funktion love.conf (t)     t.window.width = 1024     t.window.height = 768 Ende Wenn Sie das Physikmodul oder das Joystick-Modul nicht benötigen, gehen Sie wie folgt vor. Funktion love.conf (t)     t.modules.joystick = false     t.modules.physics = false Ende Das Setzen von unbenutzten Modulen auf false wird ermutigt, wenn Sie Ihr Spiel freigeben. Es verringert die Startzeit etwas (besonders wenn das Joystick-Modul deaktiviert ist) und reduziert den Speicherverbrauch (leicht). Beachten Sie, dass Sie das love.filesystem nicht deaktivieren können. es ist zwingend erforderlich. Das gleiche gilt für das Liebesmodul selbst. love.graphics braucht love.window, um aktiviert zu werden.
t.identity (nil)stringDiese Markierung bestimmt den Namen des Sicherungsverzeichnisses für Ihr Spiel. Beachten Sie, dass Sie nur den Namen angeben können, nicht den Ort, an dem er erstellt wird: t.identity = "gabe_HL3" - Richtig t.identity = "c: / Users / gabe / HL3" - Falsch Alternativ kann love.filesystem.setIdentity verwendet werden, um das Speicherverzeichnis außerhalb der Konfigurationsdatei festzulegen.
t.version ("0.10.2")stringt.version sollte ein String sein, der die Version von LÖVE darstellt, für die dein Spiel gemacht wurde. Es sollte als "X.Y.Z" formatiert werden, wobei X die Haupt-Release-Nummer, Y der Minderjährige und Z die Patch-Ebene ist. Es erlaubt LÖVE, eine Warnung anzuzeigen, wenn es nicht kompatibel ist. Sein Standard ist die Version von LÖVE läuft.
t.console (false)booleanLegt fest, ob eine Konsole neben dem Spielfenster geöffnet werden soll (nur Windows) oder nicht. Hinweis: Auf OSX können Sie die Konsolenausgabe über LI-VE über das Terminal ausführen.
t.accelerometerjoystick (true)booleanLegt fest, ob der Gerätebeschleuniger auf iOS und Android als 3-Achsen-Joystick ausgesetzt sein soll. Das Deaktivieren des Beschleunigungsmessers, wenn es nicht verwendet wird, kann die CPU-Auslastung reduzieren.
t.externalstorage (false)booleanLegt fest, ob Dateien im externen Speicher (true) oder interner Speicher (false) auf Android gespeichert sind.
t.gammacorrect (false)booleanBestimmt, ob das gamma-korrekte Rendering aktiviert ist, wenn das System es unterstützt.
t.windowtableEs ist möglich, die Fenstererstellung zu verschieben, bis love.window.setMode zuerst in deinem Code aufgerufen wird. Um dies zu tun, setze t.window = nil in love.conf (oder t.screen = nil in älteren Versionen). Wenn dies geschieht, kann LÖVE abstürzen, wenn irgendeine Funktion von love.graphics vor der ersten Liebe angerufen wird. window.setMode in deinem Code. Der t.window-Tisch wurde in Versionen vor 0.9.0 als t.screen benannt. Die t.screen Tabelle existiert nicht in love.conf in 0.9.0, und die t.window Tabelle existiert nicht in love.conf in 0.8.0. Dies bedeutet, dass love.conf nicht ausführen wird (daher wird es auf Standardwerte zurückfallen), wenn es nicht darum geht, die richtige Tabelle für die verwendete LÖVE-Version zu verwenden.
t.modulestableModuloptionen

love.directorydropped

Callback-Funktion ausgelöst, wenn ein Verzeichnis gezogen und auf das Fenster gelegt wird.

love.directorydropped( path )

pathstringDer volle plattformabhängige Pfad zum Verzeichnis. Es kann als Argument für love.filesystem.mount verwendet werden, um Lesezugriff auf das Verzeichnis mit love.filesystem zu erhalten.

love.draw

Eine Rückruffunktion, welche in jeden Frame den Bildschirminhalt zeichnet.

love.draw()

love.errhand

Diese Rückruffunktion ist zum Anzeigen von Fehlernachrichten zuständig.

love.errhand( msg )

msgstringDie Fehlermeldung.

love.filedropped

Callback-Funktion ausgelöst, wenn eine Datei gezogen und auf das Fenster gelegt wird.

love.filedropped( file )

fileFileDas ungeöffnete Datei-Objekt, das die Datei darstellt, die gelöscht wurde.

love.focus

Eine Rückruffunktion, welche ausgeführt wird, wenn das Fenster den Fokus erhält oder verliert.

love.focus( focus )

focusbooleanOb das Fenster fokussiert ist.

love.gamepadaxis

Eine Rückruffunktion, welche aufgerufen wird, wenn eine virtuelle Gamepad-Achse bewegt wird.

love.gamepadaxis( joystick, axis )

joystickJoystickDas Joystick-Objekt.
axisGamepadAxisDie virtuelle Gamepad Achse.

love.gamepadpressed

Wird aufgerufen, wenn die virtuelle Gamepad-Taste eines Joysticks gedrückt wird.

love.gamepadpressed( joystick, button )

joystickJoystickDas Joystick-Objekt.
buttonGamepadButtonDie virtuelle Gamepad-Taste.

love.gamepadreleased

Wird aufgerufen, wenn die virtuelle Gamepad-Schaltfläche eines Joysticks freigegeben wird.

love.gamepadreleased( joystick, button )

joystickJoystickDas Joystick-Objekt.
buttonGamepadButtonDie virtuelle Gamepad-Taste.

love.joystickadded

Wird aufgerufen, wenn ein Joystick angeschlossen ist.

Dieser Rückruf wird auch nach love.load für jeden Joystick ausgelöst, der bereits beim Start des Spiels verbunden war.

love.joystickadded( joystick )

joystickJoystickDas neu verbundene Joystick-Objekt.

love.joystickaxis

Wird aufgerufen, wenn sich eine Joystickachse bewegt.

love.joystickaxis( joystick, axis, value )

joystickJoystickDas Joystick-Objekt.
axisnumberDie Achsnummer.
valuenumberDer neue Achsenwert.

love.joystickhat

Wird aufgerufen, wenn sich eine Joystick-Hutrichtung ändert.

love.joystickhat( joystick, hat, direction )

joystickJoystickDas Joystick-Objekt.
hatnumberDie Hutnummer.
directionJoystickHatDer neue Hut Richtung.

love.joystickpressed

Wird aufgerufen, wenn eine Joystick-Taste gedrückt wird.

love.joystickpressed( joystick, button )

joysticknumberDie Joystick-Nummer.
buttonnumberDie Schaltflächennummer.

love.joystickreleased

Wird aufgerufen, wenn eine Joystick-Taste losgelassen wird.

love.joystickreleased( joystick, button )

joysticknumberDie Joystick-Nummer.
buttonnumberDie Schaltflächennummer.

love.joystickremoved

Wird aufgerufen, wenn ein Joystick getrennt ist.

love.joystickremoved( joystick )

joystickJoystickDas nun abgetrennte Joystick-Objekt.

love.keypressed

Eine Rückruffunktion, welche ausgeführt wird, sobald der Nutzer eine Taste drückt.

Zur korrekten Verarbeitung von Unicode-Input muss love.textinput verwendet werden.

love.keypressed( key, scancode, isrepeat )

keyKeyConstantZeichen der gedrückten Taste.
scancodeScancodeDie Scancode, die den gedrückten Schlüssel darstellt.
isrepeatbooleanOb dieses Keypress-Event eine Wiederholung ist. Die Verzögerung zwischen den Tastenwiederholungen hängt von den Systemeinstellungen des Benutzers ab.

love.keyreleased

Eine Rückruffunktion, die ausgeführt wird, wenn eine Taste losgelassen wird.

Im Vergleich zu love.keypressed hat love.keyreleased kein Unicode-Argument, da diese Charaktere nur generiert werden, wenn eine Taste gedrückt wird.

love.keyreleased( key, scancode )

keyKeyConstantCharakter der freigegebenen Taste.
scancodeScancodeDie Scancode, die den freigegebenen Schlüssel darstellt.

love.load

Diese Rückruffunktion wird nur einmal beim Starten des Spiels ausgeführt.

love.load( arg )

argtableArgumente, welche via Kommandozeile an das Spiel übergeben werden sollen.

love.lowmemory

Callback-Funktion ausgelöst, wenn das System auf mobilen Geräten nicht mehr benötigt wird.

 Mobile Betriebssysteme können das Spiel zwangsläufig töten, wenn es zu viel Speicher verwendet, so dass jede unkritische Ressource nach Möglichkeit entfernt werden muss (indem alle Variablen, die auf die Ressourcen verweisen, auf nil und das Aufrufen von collectgarbage ()), wenn dieses Ereignis ausgelöst wird. Klänge und Bilder im Besonderen neigen dazu, die meisten Speicher zu verwenden.

love.lowmemory()

love.mousefocus

Eine Rückruffunktion, welche ausgeführt wird, sobald das Fenster den Mausfokus verliert oder erlangt.

love.mousefocus( focus )

focusbooleanWahr wenn die Maus auf das Fenster fokussiert ist. Falsch, wenn nicht.

love.mousemoved

Eine Rückruffunktion, welche ausgelöst wird sobald der Mauszeiger bewegt wird.

love.mousemoved( x, y, dx, dy, istouch )

xnumberDie Mausposition auf der x-Achse.
ynumberDie Mausposition auf der y-Achse.
dxnumberDie Menge bewegte sich entlang der x-Achse seit dem letzten Mal love.mousemoved wurde genannt.
dynumberDer Betrag bewegte sich auf der y-Achse seit dem letzten Mal, als ich mich liebte.
istouchbooleanTrue, wenn die Maustaste aus einem Touchscreen berührt.

love.mousepressed

Eine Rückruffunktion, welche ausgeführt wird, wenn eine Maustaste gedrückt wird.

love.mousepressed( x, y, button, isTouch )

xnumberMaus x Position, in Pixel.
ynumberMaus y Position, in Pixel.
buttonnumberDer Button-Index, der gedrückt wurde. 1 ist die primäre Maustaste, 2 ist die sekundäre Maustaste und 3 ist die mittlere Taste. Weitere Tasten sind mausabhängig
isTouchbooleanTrue, wenn die Maustaste aus einem Touchscreen berührt.

love.mousereleased

Eine Rückruffunktion, welche ausgeführt wird, wenn eine Maustaste losgelassen wird.

love.mousereleased( x, y, button, isTouch )

xnumberMaus x Position, in Pixel.
ynumberMaus y Position, in Pixel.
buttonnumberDer Button-Index, der freigegeben wurde. 1 ist die primäre Maustaste, 2 ist die sekundäre Maustaste und 3 ist die mittlere Taste. Weitere Tasten sind mausabhängig.
isTouchbooleanTrue, wenn die Maustaste aus einem Touchscreen-Touch-Release entstand.

love.quit

Eine Rückruffunktion, die ausgeführt wird, wenn das Spiel beendet wird.

r = love.quit()

rbooleanFalsch wenn das Spiel beendet werden soll. Wahr wenn das Spiel nicht beendet werden soll.

love.resize

Wird aufgerufen, wenn das Fenster verkleinert wird, z. B. wenn der Benutzer das Fenster verändert oder wenn love.window.setMode mit einer nicht unterstützten Breite oder Höhe im Vollbildmodus aufgerufen wird und das Fenster die nächstgelegene Größe wählt.

Anrufe an love.window.setMode wird nur dieses Ereignis auslösen, wenn die Breite oder Höhe des Fensters nach dem Aufruf nicht mit der angeforderten Breite und Höhe übereinstimmt. Dies kann passieren, wenn ein Vollbildmodus angefordert wird, der nicht mit einem unterstützten Modus übereinstimmt oder wenn der Vollbildmodus "Desktop" ist und die angeforderte Breite oder Höhe nicht mit der Desktopauflösung übereinstimmt.

love.resize( w, h )

wnumberDie neue Breite.
hnumberDie neue Höhe.

love.run

Die Hauptfunktion, welche die Hauptereignisschleife enthält. Standardmäßig wird eine sinnvolle Voreinstellung genutzt.

love.run()

love.textedited

Wird aufgerufen, wenn sich der Kandidatentext für einen IME (Input Method Editor) geändert hat.

Der Kandidatentext ist nicht der letzte Text, den der Benutzer schließlich wählen wird. Benutze love.textinput dafür.

love.textedited( text, start, length )

textstringDer UTF-8 codierte Unicode-Kandidatentext.
startnumberDer Startcursor des ausgewählten Kandidatentextes.
lengthnumberDie Länge des ausgewählten Kandidatentextes. Kann 0 sein

love.textinput

Eine Rückruffunktion, welche durch Texteingaben aufgerufen wird. Hierdurch können Zeichen eingegeben werden, die sonst nur durch Tastenkombinationen erreichbar sind (z.B. würde shift-4 bei einem deutschen Tastenlayout $ generieren).

love.textinput( text )

textstringDer mit UTF-8 enkodierte Text.

love.threaderror

Callback-Funktion ausgelöst, wenn ein Thread auf einen Fehler trifft.

love.threaderror( thread, errorstr )

threadThreadDer Faden, der den Fehler verursacht hat.
errorstrstringDie Fehlermeldung.

love.touchmoved

Callback-Funktion ausgelöst, wenn eine Berührungstaste im Touchscreen bewegt wird.

love.touchmoved( id, x, y, dx, dy, pressure )

idlight userdataDie Kennung für die Berührung drücken.
xnumberDie x-Achsen-Position der Berührung im Fenster, in Pixel.
ynumberDie y-Achsen-Position der Berührung innerhalb des Fensters, in Pixeln.
dxnumberDie x-Achsen-Bewegung der Berührung im Fenster, in Pixeln.
dynumberDie y-Achse Bewegung der Berührung innerhalb des Fensters, in Pixel.
pressurenumberDie Druckmenge wird angelegt. Die meisten Touchscreens sind nicht druckempfindlich, in welchem ​​Fall der Druck 1 ist.

love.touchpressed

Callback-Funktion ausgelöst, wenn der Touchscreen berührt wird.

love.touchpressed( id, x, y, dx, dy, pressure )

idlight userdataDie Kennung für die Berührung drücken.
xnumberDie x-Achsen-Position der Berührungspresse innerhalb des Fensters, in Pixeln.
ynumberDie y-Achsen-Position der Berührung drückt innerhalb des Fensters in Pixel.
dxnumberDie x-Achsen-Bewegung der Berührung drückt im Fenster in Pixel. Das sollte immer nil sein.
dynumberDie y-Achsen-Bewegung der Berührungspresse innerhalb des Fensters, in Pixeln. Das sollte immer nil sein.
pressurenumberDie Druckmenge wird angelegt. Die meisten Touchscreens sind nicht druckempfindlich, in welchem ​​Fall der Druck 1 ist.

love.touchreleased

Callback-Funktion ausgelöst, wenn der Touchscreen nicht mehr berührt wird.

love.touchreleased( id, x, y, dx, dy, pressure )

idlight userdataDie Kennung für die Berührung drücken.
xnumberDie x-Achsen-Position der Berührung im Fenster, in Pixel.
ynumberDie y-Achsen-Position der Berührung innerhalb des Fensters, in Pixeln.
dxnumberDie x-Achsen-Bewegung der Berührung im Fenster, in Pixeln.
dynumberDie y-Achse Bewegung der Berührung innerhalb des Fensters, in Pixel.
pressurenumberDie Druckmenge wird angelegt. Die meisten Touchscreens sind nicht druckempfindlich, in welchem ​​Fall der Druck 1 ist.

love.update

Eine Rückruffunktion, welche den Zustand des gesamtes Spiels zwischen jedem Frame aktualisiert.

love.update( dt )

dtnumberDie Zeit in Sekunden welche seit dem letzten Update vergangen ist. Falls das Timer-Modul deaktiviert ist, ist dt immer 0.

love.visible

Diese Rückruffunktion wird ausgelöst sobald das Fenster minimiert, versteckt oder wieder angezeigt wird.

love.visible( visible )

visiblebooleanDie Sichtbarkeit des Fensters.

love.wheelmoved

Callback-Funktion ausgelöst, wenn das Mausrad bewegt wird.

love.wheelmoved( x, y )

xnumberAnzahl der horizontalen Mausradbewegung. Positive Werte zeigen die Bewegung nach rechts an.
ynumberAnzahl der vertikalen Mausradbewegung. Positive Werte zeigen Aufwärtsbewegung an.

Data

Die Superklasse aller Datentypen.

Functions

Supertypes

Subtypes

Data:getPointer

Gibt einen Zeiger auf das Datum zurück. Kann zusammen mit Bibliotheken wie LuaJITs FFI verwendet werden.

pointer = Data:getPointer()

pointerlight userdataEin roher Zeiger auf das Datum.

Data:getSize

Gibt die Größe des Datums in Bytes zurück.

size = Data:getSize()

sizenumberDie Größe des Datums in Bytes.

Data:getString

Gibt das gesamte Datum als Zeichenkette zurück.

data = Data:getString()

datastringDas unbearbeitete Datum.

Drawable

Die Superklasse für alle Dinge, die auf den Bildschirm gezeichnet werden können. Es handelt sich hierbei um einen abstrakten Typen und kann daher nicht direkt erstellt werden.

Supertypes

Subtypes

Object

Die Superklasse aller LÖVE-Typen.

Functions

Subtypes

Object:type

Gibt den Typ des Objekts als String zurück.

type = Object:type()

typestringDer Typ als String.

Object:typeOf

Überprüft, ob ein Objekt einem bestimmten Typen angehört. Wenn das Objekt den Typ mit dem angegebenen Namen in seiner Hierarchie beinhaltet, gibt diese Funktion den Wert true zurück.

b = Object:typeOf( name )

bbooleanTrue, wenn das Objekt vom angegebenen Typ ist, false sonst.
namestringDer Name des zu prüfenden Typs.

love.audio

Types

Functions

Enums

love.audio.getDistanceModel

Ruft das Distanzdämpfungsmodell ab.

model = love.audio.getDistanceModel()

modelDistanceModelDas aktuelle Distanzmodell. Die Voreinstellung ist 'inverseclamped'.

love.audio.getDopplerScale

Ermittelt den aktuellen globalen Skalenfaktor für geschwindigkeitsabhängige Doppler-Effekte.

scale = love.audio.getDopplerScale()

scalenumberDer aktuelle Doppler-Skalenfaktor.

love.audio.getSourceCount

Gibt die Anzahl der aktuell abgespielten Quellen zurück.

numSources = love.audio.getSourceCount()

numSourcesnumberDie Anzahl der aktuell abgespielten Quellen.

love.audio.getOrientation

Ermittelt die Orientierung des Zuhörers.

fx, fy, fz, ux, uy, uz = love.audio.getOrientation()

fxnumberDie X-Komponente des Vorwärtsvektors der Listenerorientierung.
fynumberDie Y-Komponente des Vorwärtsvektors der Hörerorientierung.
fznumberDie Z-Komponente des Vorwärtsvektors der Hörerorientierung.
uxnumberDie X-Komponente des up-Vektors der Listener-Orientierung.
uynumberDie Y-Komponente des Up-Vektors der Hörerorientierung.
uznumberDie Z-Komponente des up-Vektors der Hörerorientierung.

love.audio.getPosition

Gibt die Position vom Zuhörer zurück.

x, y, z = love.audio.getPosition()

xnumberDie X-Position des Zuhörers.
ynumberDie Y-Position des Zuhörers.
znumberDie Z-Position des Zuhörers.

love.audio.getVelocity

Erreicht die Geschwindigkeit des Zuhörers.

x, y, z = love.audio.getVelocity()

xnumberDie X-Geschwindigkeit des Zuhörers.
ynumberDie Y-Geschwindigkeit des Zuhörers.
znumberDie Z-Geschwindigkeit des Zuhörers.

love.audio.getVolume

Ruft das Master-Volume ab.

volume = love.audio.getVolume()

volumenumberDie aktuelle Master-Lautstärke.

love.audio.newSource

Erstellt aus einer Datei eine neue Source, entweder SoundData oder Decoder. Quellen die mittels SoundData erstellt wurden, sind immer statisch.

source = love.audio.newSource( file, type )

sourceSourceEine neue Quelle, die das angegebene Audio abspielen kann.
filestring / FileDer Pfad / Datei zum Erstellen einer Quelle aus.
type ("stream")SourceTypeStreaming oder statische Quelle.

source = love.audio.newSource( soundData )

sourceSourceEine neue Quelle, die das angegebene Audio abspielen kann. Der SourceType des zurückgegebenen Audiosignals ist "statisch".
soundDataSoundData / FileDataDie SoundData / FileData, um eine Quelle zu erstellen.

love.audio.pause

Pausiert abgespielte Quellen.

love.audio.pause()

Pausiert alle aktive Quellen.

love.audio.pause( source )

Pausiert eine bestimmte Quelle.

sourceSourceDie Quelle, welche pausiert werden soll.

love.audio.play

Spielt eine Quelle ab.

love.audio.play( source )

sourceSourceDie Quelle, welche abgespielt werden soll.

love.audio.resume

Setzt alle Audiodaten fort.

love.audio.resume()

love.audio.resume( source )

sourceSourceDie Quelle, die fortgesetzt werden soll.

love.audio.rewind

Spult alle Audiodaten zurück.

love.audio.rewind()

love.audio.rewind( source )

sourceSourceDie Quelle, die zurückgespult werden soll.

love.audio.setDistanceModel

Setzt das Abstandsdämpfungsmodell.

love.audio.setDistanceModel( model )

modelDistanceModelDas neue Distanzmodell.

love.audio.setDopplerScale

Setzt einen globalen Skalenfaktor für geschwindigkeitsabhängige Doppler-Effekte. Der Standard-Skalenwert ist 1.

love.audio.setDopplerScale( scale )

scalenumberDer neue Doppler-Skalenfaktor. Die Waage muss größer als 0 sein.

love.audio.setOrientation

Stellt die Ausrichtung des Zuhörers ein.

love.audio.setOrientation( fx, fy, fz, ux, uy, uz )

fxnumberDie X-Komponente des Vorwärtsvektors der Listenerorientierung.
fynumberDie Y-Komponente des Vorwärtsvektors der Hörerorientierung.
fznumberDie Z-Komponente des Vorwärtsvektors der Hörerorientierung.
uxnumberDie X-Komponente des up-Vektors der Listener-Orientierung.
uynumberDie Y-Komponente des Up-Vektors der Hörerorientierung.
uznumberDie Z-Komponente des up-Vektors der Hörerorientierung.

love.audio.setPosition

Setzt die Position des Zuhörers, die bestimmt, wie Klänge spielen.

love.audio.setPosition( x, y, z )

xnumberDie X-Position des Zuhörers.
ynumberDie Y-Position des Zuhörers.
znumberDie Z-Position des Zuhörers.

love.audio.setVelocity

Stellt die Geschwindigkeit des Zuhörers ein.

love.audio.setVelocity( x, y, z )

xnumberDie X-Geschwindigkeit des Zuhörers.
ynumberDie Y-Geschwindigkeit des Zuhörers.
znumberDie Z-Geschwindigkeit des Zuhörers.

love.audio.setVolume

Bestimmt die Gesamtlautstärke.

love.audio.setVolume( volume )

volumenumber1.0 ist der Maximal- und 0.0 der Minimalwert.

love.audio.stop

Stoppt abgespielte Quellen.

love.audio.stop()

Diese Funktion stoppt alle aktiven Quellen.

love.audio.stop( source )

Diese Funktion stoppt eine bestimmte Quelle.

sourceSourceDie Quelle, welche gestoppt werden soll.

DistanceModel

none

Quellen werden nicht gedämpft

inverse

Inverse Distanzdämpfung

inverseclamped

Inverse Distanzdämpfung Gewinn wird geklemmt In Version 0.9.2 und älter heißt das invers geklemmt.

linear

Lineare Dämpfung.

linearclamped

Lineare Dämpfung. Gewinn wird geklemmt In Version 0.9.2 und älter wird dies als linear geklemmt bezeichnet.

exponent

Exponentielle Dämpfung.

exponentclamped

Exponentielle Dämpfung. Gewinn wird geklemmt In Version 0.9.2 und älter heißt das Exponent geklemmt.

SourceType

static

Die komplette Quelle wird auf einmal dekodiert.

stream

Die Quelle wird schrittweise während des Abspielens dekodiert.

TimeUnit

seconds

Reguläre Sekunden.

samples

Audio Samples.

Source

Eine Geräuschquelle (engl.: Source) stellt einen Ton dar, welcher abgespielt und bearbeitet werden kann.

Es lassen sich interessante Dinge mit Geräuschquellen anstellen. So kann zum Beispiel die Lautstärke, die Tonhöhe oder die Position des Tons in der Spielewelt verändert werden.

Der Zustand einer Quelle kann wie folgt kontrolliert werden.

Constructors

Functions

Supertypes

Source:clone

Erstellt eine identische Kopie einer Geräuschquelle.

source = Source:clone()

sourceSourceDie neue identische Kopie dieser Quelle.

Source:getAttenuationDistances

Ruft die Referenz und den maximalen Abstand der Quelle ab.

ref, max = Source:getAttenuationDistances()

refnumberDer Referenzabstand.
maxnumberDie maximale Entfernung.

Source:getChannels

Ruft die Anzahl der Kanäle in der Quelle ab. Nur 1-Kanal (Mono) Quellen können Richtungs- und Positionseffekte verwenden.

channels = Source:getChannels()

channelsnumber1 für mono, 2 für stereo.

Source:getCone

Erhält die Richtungs-Zapfen der Quelle. Zusammen mit Source: setDirection erlauben die Kegelwinkel, dass das Quellvolumen je nach seiner Richtung variiert.

innerAngle, outerAngle, outerVolume = Source:getCone()

innerAnglenumberDer innere Winkel aus der Richtung der Quelle, im Bogenmaß. Die Quelle wird bei normaler Lautstärke abgespielt, wenn der Zuhörer sich innerhalb des durch diesen Winkel definierten Kegels befindet.
outerAnglenumberDer äußere Winkel aus der Richtung der Quelle, im Bogenmaß. Die Quelle wird bei einem Volumen zwischen den normalen und äußeren Volumina spielen, wenn der Zuhörer zwischen den Kegeln zwischen den inneren und äußeren Winkeln liegt.
outerVolumenumberDas Volumen der Quelle, wenn der Zuhörer außerhalb des inneren und äußeren Kegelwinkels liegt.

Source:getDirection

Gibt die Richtung der Quelle zurück.

x, y, z = Source:getDirection()

xnumberDer X-Wer des Richtungsvektors.
ynumberDer Y-Wer des Richtungsvektors.
znumberDer Z-Wer des Richtungsvektors.

Source:getDuration

Ruft die Dauer der Quelle auf. Für Streaming-Quellen kann es nicht immer Stichprobengenau sein und kann -1 zurückgeben, wenn die Dauer überhaupt nicht bestimmt werden kann.

duration = Source:getDuration( unit )

durationnumberDie Dauer der Quelle oder -1, wenn sie nicht bestimmt werden kann.
unit ("seconds")TimeUnitDie Zeiteinheit für den Rückgabewert.

Source:getPitch

Gibt die aktuelle Tonhöhe der Quelle zurück.

pitch = Source:getPitch()

pitchnumberDie Tonhöhe, wobei 1.0 normal ist.

Source:getPosition

Ruft die Position der Quelle ab.

x, y, z = Source:getPosition()

xnumberDie X-Position der Quelle.
ynumberDie Y-Position der Quelle.
znumberDie Z-Position der Quelle.

Source:getRolloff

Ruft den Rolloff-Faktor der Quelle ab.

rolloff = Source:getRolloff()

rolloffnumberDer Rolloff-Faktor.

Source:getType

Ruft den Typ (statisch oder stream) der Quelle ab.

sourcetype = Source:getType()

sourcetypeSourceTypeDer Typ der Quelle.

Source:getVelocity

Erreicht die Geschwindigkeit der Quelle.

x, y, z = Source:getVelocity()

xnumberDer X-Teil des Geschwindigkeitsvektors
ynumberDer Y-Teil des Geschwindigkeitsvektors.
znumberDer Z-Teil des Geschwindigkeitsvektors

Source:getVolume

Ruft das aktuelle Volumen der Quelle ab.

volume = Source:getVolume()

volumenumberDas Volumen der Quelle, wobei 1,0 normales Volumen ist.

Source:getVolumeLimits

Ruft die Lautstärke der Quelle ab.

min, max = Source:getVolumeLimits()

minnumberDie minimale Lautstärke.
maxnumberDie maximale Lautstärke.

Source:isLooping

Gibt zurück, ob die Quelle sich wiederholt.

loop = Source:isLooping()

loopbooleanWahr, wenn die Quelle Schleife, falsch anders.

Source:isPaused

Gibt zurück, ob die Quelle pausiert ist.

paused = Source:isPaused()

pausedbooleanWahr, wenn die Quelle pausiert ist, falsch anders.

Source:isPlaying

Ermittelt, ob die Quelle spielt.

playing = Source:isPlaying()

playingbooleanWahr, wenn die Quelle spielt, falsch anders.

Source:isStopped

Gibt zurück, ob die Quelle gestoppt ist.

stopped = Source:isStopped()

stoppedbooleanWahr, wenn die Quelle gestoppt ist.

Source:pause

Pausiert die Quelle.

Source:pause()

Source:play

Spielt eine Quelle ab.

success = Source:play()

successbooleanWahr wenn die Quelle erfolgreich abgespielt werden konnte.

Source:resume

Setzt eine angehaltene Quelle fort.

Source:resume()

Source:rewind

Zurückspulen einer Quelle.

Source:rewind()

Source:seek

Legt die Spielposition der Quelle fest.

Source:seek( position, unit )

positionnumberDie Position zu suchen.
unit ("seconds")TimeUnitDie Einheit des Positionswertes.

Source:setDirection

Setzt den Richtungsvektor der Quelle. Ein Nullvektor macht die Quelle ungerichtet.

Source:setDirection( x, y, z )

xnumberDer X-Teil des Richtungsvektors
ynumberDer Y-Teil des Richtungsvektors
znumberDer Z-Teil des Richtungsvektors

Source:setAttenuationDistances

Setzt die Referenz und den maximalen Abstand der Quelle.

Source:setAttenuationDistances( ref, max )

refnumberDer neue Referenzabstand.
maxnumberDie neue maximale Entfernung.

Source:setCone

Setzt die Richtungs-Zapfen der Quelle. Zusammen mit Source: setDirection erlauben die Kegelwinkel, dass das Quellvolumen je nach seiner Richtung variiert.

Source:setCone( innerAngle, outerAngle, outerVolume )

innerAnglenumberDer innere Winkel aus der Richtung der Quelle, im Bogenmaß. Die Quelle wird bei normaler Lautstärke abgespielt, wenn der Zuhörer sich innerhalb des durch diesen Winkel definierten Kegels befindet.
outerAnglenumberDer äußere Winkel aus der Richtung der Quelle, im Bogenmaß. Die Quelle wird bei einem Volumen zwischen den normalen und äußeren Volumina spielen, wenn der Zuhörer zwischen den Kegeln zwischen den inneren und äußeren Winkeln liegt.
outerVolume (0)numberDas Volumen der Quelle, wenn der Zuhörer außerhalb des inneren und äußeren Kegelwinkels liegt.

Source:setLooping

Bestimmt ob sich die Quelle wiederholen soll.

Source:setLooping( loop )

loopbooleanTrue wenn sich die Quelle wiederholen soll, false wenn nicht.

Source:setPitch

Setzt die Tonhöhe der Quelle.

Source:setPitch( pitch )

pitchnumberBerechnet in Bezug auf 1 ist die Grundtonhöhe. Jede Reduktion um 50 Prozent entspricht einer Tonhöhenverschiebung von -12 Halbtönen (eine Oktavreduktion). Jede Verdopplung entspricht einer Tonhöhenverschiebung von 12 Halbtönen (eine Oktavzunahme). Null ist kein gesetzlicher Wert.

Source:setPosition

Setzt die Position der Quelle.

Source:setPosition( x, y, z )

xnumberDie X-Position der Quelle.
ynumberDie Y-Position der Quelle.
znumberDie Z-Position der Quelle.

Source:setRolloff

Setzt den Rolloff-Faktor, der die Stärke der verwendeten Distanzdämpfung beeinflusst.

Weitere Informationen und detaillierte Formeln finden Sie im Kapitel "3.4. Dämpfung nach Entfernung" der OpenAL 1.1 Spezifikation.

Source:setRolloff( rolloff )

rolloffnumberDer neue Rolloff-Faktor.

Source:setVelocity

Setzt die Geschwindigkeit der Quelle.

Dies ändert nicht die Position der Quelle, sondern wird verwendet, um den Doppler-Effekt zu berechnen.

Source:setVelocity( x, y, z )

xnumberDer X-Teil des Geschwindigkeitsvektors
ynumberDer Y-Teil des Geschwindigkeitsvektors.
znumberDer Z-Teil des Geschwindigkeitsvektors

Source:setVolume

Stellt die Lautstärke der Quelle ein.

Source:setVolume( volume )

volumenumberDie Lautstärke der Quelle, wobei 1.0 die standart Lautstärke ist.

Source:setVolumeLimits

Legt die Lautstärke der Quelle fest. Die Grenzen müssen Zahlen von 0 bis 1 sein.

Source:setVolumeLimits( min, max )

minnumberDie minimale Lautstärke.
maxnumberDie maximale Lautstärke.

Source:stop

Stoppt eine Quelle.

Source:stop()

Source:tell

Ruft die aktuell abgespielte Position der Quelle ab.

position = Source:tell( unit )

positionnumberDie aktuell laufende Position der Quelle.
unit ("seconds")TimeUnitDie Art der Einheit für den Rückgabewert.

love.event

Functions

Enums

love.event.clear

Leert die Ereigniswarteschleife.

love.event.clear()

love.event.poll

Gibt einen Iterator für Nachrichten in der Ereigniswarteschleife wider.

i = love.event.poll()

ifunctionIteratorfunktion, welche in einer Schleife benutzt werden kann.

love.event.pump

Fügt Events in die Ereigniswarteschleife ein.

love.event.pump ist eine "lowlevel"-Funktion und wird normalerweise nicht explizit durch den Nutzer, sondern von love.run aufgerufen.

love.event.pump()

love.event.push

Fügt ein Ereignis der Ereignis-Warteschleife hinzu.

love.event.push( e, a, b, c, d )

eEventDer Name der Veranstaltung.
a (nil)VariantErstes Ereignisargument
b (nil)VariantZweites Ereignisargument
c (nil)VariantDrittes Ereignisargument
d (nil)VariantViertes Ereignisargument

love.event.quit

Fügt das Warteschlange-Ereignis zur Warteschlange hinzu.

Das Quit-Event ist ein Signal für den Event-Handler, um LÖVE zu schließen. Es ist möglich, den Ausstieg mit dem love.quit Rückruf abzubrechen.

love.event.quit()

love.event.quit( exitstatus )

exitstatus (0)numberDer Programm-Exit-Status, der beim Schließen der Anwendung verwendet werden soll.

love.event.quit( "restart" )

"restart"stringStartet das Spiel neu, ohne die ausführbare Datei neu zu starten. Das schaltet die Haupt-Lua-Staats-Instanz sauber ab und schafft eine neue.

love.event.wait

Wie love.event.poll, blockiert allerdings alles, bis ein Element in der Ereigniswarteschleife ist.

e, a, b, c, d = love.event.wait()

eEventDie Art des Ereignisses.
aVariantErstes Ereignisargument
bVariantZweites Ereignisargument
cVariantDrittes Ereignisargument
dVariantViertes Ereignisargument

Event

focus

Fensterfokus gewonnen oder verloren

joystickaxis

Joystick-Achsbewegung

joystickhat

Joystick Hut gedrückt

joystickpressed

Joystick gedrückt

joystickreleased

Joystick veröffentlicht

keypressed

Taste gedrückt

keyreleased

Schlüssel freigegeben

mousefocus

Fenster Mausfokus gewonnen oder verloren

mousepressed

Maus gedrückt

mousereleased

Maus freigegeben

resize

Fenstergröße durch den Benutzer geändert

threaderror

Ein Lua-Fehler ist in einem Thread aufgetreten.

quit

Verlassen

visible

Das Fenster wird vom Benutzer minimiert oder nicht minimiert

love.filesystem

Types

Functions

Enums

love.filesystem.append

Hängt ein Datum an eine bereits existierende Datei an.

success, errormsg = love.filesystem.append( name, data, size )

successbooleanWahr, wenn die Operation erfolgreich war. Falsch, wenn nicht.
errormsgstringEine Fehlernachricht, falls ein Fehler aufgetreten ist.
namestringDer Name (und Pfad) der Datei.
datastringDas Datum in Form eines String welches an die Datei angehängt werden soll.
size (all)numberWieviele Bytes geschrieben werden sollen.

love.filesystem.areSymlinksEnabled

Ruft, ob love.filesystem symbolische Links folgt.

enable = love.filesystem.areSymlinksEnabled()

enablebooleanOb love.filesystem folgt symbolischen Links.

love.filesystem.createDirectory

Erstellt einen neuen Ordner.

Wenn ein Pfad an die Funktion übergeben wird (z.B.: "ordner1/ordner2"), werden beide Ordner erstellt falls sie noch nicht existieren.

success = love.filesystem.createDirectory( name )

successbooleanWahr, wenn der Ordner erstellt wurde. Falsch, wenn nicht.
namestringDer Ordner welcher erstellt werden soll.

love.filesystem.exists

Überprüft ob eine Datei oder ein Verzeichnis existiert.

exists = love.filesystem.exists( filename )

existsbooleanWahr wenn die Datei oder der Ordner existiert.
filenamestringDer Pfad der Datei welche, bzw. des Ordners welcher überprüft werden soll.

love.filesystem.getAppdataDirectory

Ruft das Anwendungsdatenverzeichnis ab (könnte das gleiche wie getUserDirectory sein)

path = love.filesystem.getAppdataDirectory()

pathstringDer Pfad des Anwendungsdatenverzeichnisses.

love.filesystem.getDirectoryItems

Ruft eine Tabelle mit den Namen der Dateien und Unterverzeichnisse im angegebenen Pfad ab. Der Tisch ist nicht in irgendeiner Weise sortiert; die Bestellung ist undefiniert.

Wenn der Pfad, der an die Funktion übergeben wird, im Spiel und im Sicherungsverzeichnis existiert, werden die Dateien und Verzeichnisse von beiden Orten aufgelistet.

items = love.filesystem.getDirectoryItems( dir )

itemstableEine Sequenz mit den Namen aller Dateien und Unterverzeichnisse als Strings.
dirstringDas Verzeichnis.

love.filesystem.getIdentity

Gibt das Schreib-Verzeichnis des Spiels zurück.

Hierbei wird nur der Name des Ordners, aber nicht der gesamte Pfad zurückgegeben.

love.filesystem.getIdentity( name )

namestringDie Identität, die als Schreibverzeichnis verwendet wird.

love.filesystem.getLastModified

Ruft die letzte Änderungszeit einer Datei ab.

modtime, errormsg = love.filesystem.getLastModified( filename )

modtimenumberDie letzte Änderungszeit in Sekunden seit der Unix-Epoche oder Nil bei Ausfall.
errormsgstringDie Fehlermeldung beim Ausfall
filenamestringDer Pfad und der Name einer Datei.

love.filesystem.getRealDirectory

Ruft den plattformspezifischen absoluten Pfad des Verzeichnisses mit einem Dateipfad ab.

Dies kann verwendet werden, um festzustellen, ob sich eine Datei im Speicherverzeichnis befindet oder die Quelle des Spiels .love.

realdir = love.filesystem.getRealDirectory( filepath )

realdirstringDer plattformspezifische Vollpfad des Verzeichnisses mit dem Dateipfad.
filepathstringDer Dateipfad, um das Verzeichnis zu erhalten.

love.filesystem.getRequirePath

Ruft die Dateisystempfade ab, die bei Bedarf aufgerufen werden.

Die von dieser Funktion zurückgegebene Pfadfolge ist eine Folge von Pfadvorlagen, die durch Semikolons getrennt sind. Das anforderte Argument wird anstelle eines beliebigen Fragezeichen-Zeichens ("?") In jeder Vorlage eingefügt (nachdem die Punktzeichen im Argument, die an das Erfordernis übergeben wurden, durch Verzeichnistrennzeichen ersetzt werden).

Die Pfade sind relativ zu der Quelle des Spiels und speichern Verzeichnisse, sowie alle Pfade mit love.filesystem.mount montiert.

paths = love.filesystem.getRequirePath()

pathsstringDie Pfade, die die Erforderungsfunktion im Liebes-Dateisystem überprüfen wird.

love.filesystem.getSaveDirectory

Ruft den vollständigen Pfad zum designierten Speicherverzeichnis ab. Dies kann nützlich sein, wenn Sie die Standard-io-Bibliothek (oder etwas anderes) zum Lesen oder Schreiben im Speicherverzeichnis verwenden möchten.

path = love.filesystem.getSaveDirectory()

pathstringDer absolute Pfad zum Speicherverzeichnis.

love.filesystem.getSize

Ruft die Größe in Bytes einer Datei ab.

size, errormsg = love.filesystem.getSize( filename )

sizenumberDie Größe in Bytes der Datei oder nil beim Ausfall.
errormsgstringDie Fehlermeldung beim Ausfall
filenamestringDer Pfad und der Name einer Datei.

love.filesystem.getSource

Ruft den vollständigen Pfad zu der .love-Datei oder dem Verzeichnis ab. Wenn das Spiel mit der ausführbaren Datei von LÖVE verschmolzen ist, wird die ausführbare Datei zurückgegeben.

path = love.filesystem.getSource()

pathstringDer vollständige plattformabhängige Pfad der .love Datei oder des Verzeichnisses.

love.filesystem.getSourceBaseDirectory

Ruft den vollständigen Pfad zu dem Verzeichnis ab, das die .love-Datei enthält. Wenn das Spiel mit der ausführbaren Datei von LÖVE verschmolzen ist, wird das Verzeichnis mit der ausführbaren Datei zurückgegeben.

Wenn love.filesystem.isFused wahr ist, kann der von dieser Funktion zurückgegebene Pfad an love.filesystem.mount übergeben werden, der das Verzeichnis mit dem von love.filesystem lesbaren Hauptspiel verknüpft.

path = love.filesystem.getSourceBaseDirectory()

pathstringDer vollständige plattformabhängige Pfad des Verzeichnisses mit der .love-Datei.

love.filesystem.getUserDirectory

Ruft den Pfad des Benutzerverzeichnisses ab.

path = love.filesystem.getUserDirectory()

pathstringDer Pfad des Benutzer-Verzeichnisses.

love.filesystem.getWorkingDirectory

Ruft das aktuelle Arbeitsverzeichnis ab.

path = love.filesystem.getWorkingDirectory()

pathstringDas aktuelle Arbeitsverzeichnis.

love.filesystem.init

Initialisiert love.filesystem, wird intern genannt, also sollte nicht explizit verwendet werden.

love.filesystem.init( appname )

appnamestringDer Name der Anwendung binär, in der Regel lieben.

love.filesystem.isDirectory

Gibt zurück ob etwas ein Ordner ist.

isDir = love.filesystem.isDirectory( path )

isDirbooleanWahr wenn ein Ordner mit dem angegebenen Namen existiert. Falsch, wenn nicht.
pathstringDer Pfad zu einem potenziellen Ordner.

love.filesystem.isFile

Gibt zurück ob etwas eine Datei ist.

isFile = love.filesystem.isFile( path )

isFilebooleanWahr, wenn eine Datei mit dem angegebenen Namen existiert. Falsch, wenn nicht.
pathstringDer Pfad zu einer potenziellen Datei.

love.filesystem.isFused

Ermittelt, ob das Spiel im Fused-Modus ist oder nicht.

Wenn sich ein Spiel im Fused-Modus befindet, befindet sich sein Speicherverzeichnis direkt im Appdata-Verzeichnis anstelle von Appdata / LOVE /. Das Spiel wird auch in der Lage sein, C Lua dynamische Bibliotheken zu laden, die sich im Speicherverzeichnis befinden.

Ein Spiel ist im verschmolzenen Modus, wenn die Quelle .love mit der ausführbaren Datei verschmolzen wurde (siehe Game Distribution), oder wenn "- fused" als Befehlszeilenargument beim Start des Spiels angegeben wurde.

fused = love.filesystem.isFused()

fusedbooleanTrue, wenn das Spiel im Fused-Modus ist, false anders.

love.filesystem.isSymlink

Ermittelt, ob ein Dateipfad eigentlich eine symbolische Verknüpfung ist.

Wenn symbolische Links nicht aktiviert sind (über love.filesystem.setSymlinksEnabled), wird diese Funktion immer false zurückgeben.

symlink = love.filesystem.isSymlink( path )

symlinkbooleanTrue, wenn der Pfad eine symbolische Verknüpfung ist, sonst false.
pathstringDie Datei oder den Verzeichnispfad zu überprüfen.

love.filesystem.lines

Iterate über die Zeilen in einer Datei.

iterator = love.filesystem.lines( name )

iteratorfunctionEine Funktion, die über alle Zeilen in der Datei iteriert.
namestringDer Name (und Pfad) der Datei.

love.filesystem.load

Lädt eine Lua-Datei (läuft aber nicht).

chunk = love.filesystem.load( name, errormsg )

chunkfunctionDas geladene Stück.
namestringDer Name (und Pfad) der Datei.
errormsg (nil)stringDie Fehlermeldung, wenn Datei nicht geöffnet werden konnte.

love.filesystem.mount

Bereitet eine Zip-Datei oder einen Ordner in das Spiel-Verzeichnis des Spiels zum Lesen.

success = love.filesystem.mount( archive, mountpoint, appendToPath )

successbooleanTrue, wenn das Archiv erfolgreich montiert wurde, sonst false.
archivestringDer Ordner oder die Zip-Datei in das Spiel-Verzeichnis des Spiels zu montieren.
mountpointstringDer neue Pfad des Archivs wird montiert.
appendToPath (false)stringOb das Archiv beim Lesen eines Dateipfads vor oder nach dem bereits vorhandenen Archiv durchsucht wird. Dies beinhaltet die Quelle des Spiels und speichern Verzeichnisse.

love.filesystem.newFile

Erstellt ein neues Dateiobjekt. Es muss geöffnet werden, bevor es zugegriffen werden kann.

file, errorstr = love.filesystem.newFile( filename, mode )

fileFileDas neue File-Objekt oder nil, wenn ein Fehler aufgetreten ist.
errorstrstringDie Fehlerfolge, wenn ein Fehler aufgetreten ist.
filenamestringDer Dateiname der Datei zum Lesen.
mode ("c")FileModeDer Modus zum Öffnen der Datei in.

love.filesystem.newFileData

Erstellt ein neues FileData-Objekt.

data = love.filesystem.newFileData( contents, name, decoder )

dataFileDataDas neue FileData-Objekt.
contentsstringDer Inhalt der Datei.
namestringDer Name der Datei.
decoder ("file")FileDecoderDie Methode, welche zum Dekodieren des Inhalts benutzt werden soll.

data, err = love.filesystem.newFileData( filepath )

Erstellt ein neues FileData-Objekt von einer Datei auf der Festplatte.

dataFileDataDas neue FileData-Objekt oder nil, wenn ein Fehler aufgetreten ist.
errstringEin String, welcher die Fehlernachricht beinhaltet, falls ein Fehler aufgetreten ist.
filepathstringDer Pfad zur Datei.

love.filesystem.read

Lesen Sie den Inhalt einer Datei.

contents, size = love.filesystem.read( name, bytes )

contentsstringDer Inhalt der Datei.
sizenumberWie viele Bytes wurden gelesen.
namestringDer Name (und Pfad) der Datei.
bytes (all)numberWie viele Bytes zu lesen.

love.filesystem.remove

Entfernt eine Datei oder ein Verzeichnis.

success = love.filesystem.remove( name )

successbooleanTrue, wenn die Datei / das Verzeichnis entfernt wurde, false anders.
namestringDie Datei oder das Verzeichnis zu entfernen.

love.filesystem.setIdentity

Bestimmt das Schreib-Verzeichnis für das jeweilige Spiel.

Zu Beachten ist hierbei, dass lediglich der Name des Ordners bestimmt wird, nicht aber der Ort an dem die Dateien gespeichert werden.

love.filesystem.setIdentity( name, appendToPath )

namestringDie neue Identität, die als Schreibverzeichnis verwendet wird.
appendToPath (false)booleanOb das Identitätsverzeichnis beim Lesen eines Dateipfads vor oder nach dem Quellverzeichnis des Spiels und allen aktuell installierten Archiven durchsucht wird.

love.filesystem.setRequirePath

Legt die Dateisystempfade fest, die bei Bedarf aufgerufen werden.

Der Pfadstring, der dieser Funktion gegeben wird, ist eine Folge von Pfadvorlagen, die durch Semikolons getrennt sind. Das anforderte Argument wird anstelle eines beliebigen Fragezeichen-Zeichens ("?") In jeder Vorlage eingefügt (nachdem die Punktzeichen im Argument, die an das Erfordernis übergeben wurden, durch Verzeichnistrennzeichen ersetzt werden).

Die Pfade sind relativ zu der Quelle des Spiels und speichern Verzeichnisse, sowie alle Pfade mit love.filesystem.mount montiert.

love.filesystem.setRequirePath( paths )

pathsstringDie Pfade, die die Erforderungsfunktion im Liebes-Dateisystem überprüfen wird.

love.filesystem.setSource

Setzt die Quelle des Spiels, wo der Code vorhanden ist. Diese Funktion kann nur einmal aufgerufen werden und wird normalerweise automatisch von LÖVE durchgeführt.

love.filesystem.setSource( path )

pathstringAbsoluter Pfad zum Quellordner des Spiels.

love.filesystem.setSymlinksEnabled

Legt fest, ob love.filesystem den symbolischen Links folgt. Es ist standardmäßig in Version 0.10.0 und neuer aktiviert und standardmäßig in 0.9.2 deaktiviert.

love.filesystem.setSymlinksEnabled( enable )

enablebooleanOb love.filesystem den symbolischen Links folgen sollte.

love.filesystem.unmount

Entfernt eine Zip-Datei oder einen Ordner, der zuvor für das Lesen mit love.filesystem.mount installiert wurde.

success = love.filesystem.unmount( archive )

successbooleanTrue, wenn das Archiv erfolgreich unmontiert wurde, sonst false.
archivestringDer Ordner oder die Zip-Datei im Spiel-Verzeichnis, das derzeit montiert ist.

love.filesystem.write

Schreibt Daten in eine Datei im Speicherordner. Wenn die Datei bereits existiert, wird sie komplett mit dem neuen Inhalt überschrieben.

success, message = love.filesystem.write( name, data, size )

successbooleanWenn die Operation erfolgreich war.
messagestringFehlermeldung, wenn die Operation nicht erfolgreich war.
namestringDer Name (und Pfad) der Datei.
datastringDie String-Daten zum Schreiben in die Datei.
size (all)numberWie viele Bytes zu schreiben.

success, message = love.filesystem.write( name, data, size )

successbooleanWenn die Operation erfolgreich war.
messagestringFehlermeldung, wenn die Operation nicht erfolgreich war.
namestringDer Name (und Pfad) der Datei.
dataDataDas Datenobjekt zum Schreiben in die Datei.
size (all)numberWie viele Bytes zu schreiben.

BufferMode

none

Keine Pufferung Das Ergebnis von Schreib- und Anhängevorgängen erscheint sofort.

line

Zeilenpufferung Schreib- und Anhängevorgänge werden gepuffert, bis ein Zeilenumbruch ausgegeben wird oder die Puffergrßengrenze erreicht ist.

full

Vollpufferung Schreib- und Anhängevorgänge werden immer gepuffert, bis die Puffergrßengrenze erreicht ist.

FileDecoder

file

Die Daten sind nicht codiert.

base64

Die Daten sind base64-codiert.

FileMode

r

Öffnet eine Datei zum Lesen.

w

Öffnet eine Datei zum Schreiben.

a

Öffnet eine Datei zum Anhängen von Daten.

c

Öffnet die Datei nicht. Repräsentiert eine geschlossene Datei.

File

Repräsentiert eine Datei im Dateisystem.

Constructors

Functions

Supertypes

File:close

Schließt eine Datei.

success = File:close()

successbooleanGibt zurück, ob die Datei erfolgreich geschlossen wurde.

File:flush

Spült alle gepufferten geschriebenen Daten in der Datei auf die Festplatte.

success, err = File:flush()

successbooleanOb die Datei erfolgreich gepufferte Daten auf den Datenträger gelöscht hat.
errstringDie Fehlerzeichenfolge, wenn ein Fehler aufgetreten ist und die Datei nicht gelöscht werden konnte.

File:getBuffer

Gibt den Buffer-Modus einer Datei zurück.

mode, size = File:getBuffer()

modeBufferModeDer aktuelle Buffer-Modus einer Datei.
sizenumberDie maximale Größe des Buffers in Bytes.

File:getFilename

Ruft den Dateinamen ab, mit dem das File-Objekt erstellt wurde. Wenn das Dateiobjekt aus dem love.filedropped Callback stammt, ist der Dateiname der vollständige plattformabhängige Dateipfad.

filename = File:getFilename()

filenamestringDer Dateiname der Datei.

File:getMode

Gibt den Modus zurück mit welchem die Datei geöffnet wurde.

mode = File:getMode()

modeFileModeDer Modus mit welchem die Datei geöffnet wurde.

File:getSize

Gibt die Größe einer Datei zurück.

size = File:getSize()

sizenumberDie Größe der Datei.

File:isEOF

Gibt an, ob End-of-Datei erreicht wurde.

eof = File:isEOF()

eofbooleanOb EOF erreicht ist.

File:isOpen

Gibt zurück ob eine Datei geöffnet ist.

open = File:isOpen()

openbooleanWahr wenn die Datei gerade geöffnet ist, falsch wenn nicht.

File:lines

Iteriert über alle Zeilen einer Datei.

iterator = File:lines()

iteratorfunctionDer Iterator (kann in for-Schleifen genutzt werden).

File:open

Öffnen Sie die Datei zum Schreiben, Lesen oder Anhängen.

Wenn Sie die Fehlermeldung "Konnte nicht schreiben Schreibverzeichnis", versuchen Sie die Einstellung der Speicher-Verzeichnis. Dies geschieht entweder mit love.filesystem.setIdentity oder durch das Festlegen des Identitätsfeldes in love.conf.

success = File:open( mode )

successbooleanTrue auf Erfolg, falsch anders.
modeFileModeDer Modus zum Öffnen der Datei in.

File:read

Lesen Sie eine Anzahl von Bytes aus einer Datei.

contents, size = File:read( bytes )

contentsstringDer Inhalt der gelesenen Bytes.
sizenumberWie viele Bytes wurden gelesen.
bytes (all)numberDie Anzahl der zu lesenden Bytes

File:seek

Suchen Sie eine Position in einer Datei.

success = File:seek( position )

successbooleanOb der Betrieb erfolgreich war.
positionnumberDie Position zu suchen.

File:setBuffer

Setzt den Puffer-Modus für eine Datei zum Schreiben oder Anhängen geöffnet. Dateien mit Pufferung aktiviert wird keine Daten auf die Festplatte schreiben, bis die Puffergrßengrenze erreicht ist, abhängig vom Puffermodus.

success, errorstr = File:setBuffer( mode, size )

successbooleanOb der Puffer-Modus erfolgreich eingestellt wurde.
errorstrstringDie Fehlerzeichenfolge, wenn der Puffermodus nicht gesetzt werden konnte und ein Fehler aufgetreten ist.
modeBufferModeDer Puffer-Modus zu verwenden.
size (0)numberDie maximale Größe in Bytes des Puffers der Datei.

File:tell

Ruft die Position in der Datei ab.

pos = File:tell()

posnumberDie aktuelle Position.

File:write

Schreiben Sie Daten in eine Datei.

success = File:write( data, size )

successbooleanOb der Betrieb erfolgreich war.
datastringDie zu schreibenden Daten
size (all)numberWie viele Bytes zu schreiben.

FileData

Ein Datum welches den Inhalt einer Datei repräsentiert.

Constructors

Functions

Supertypes

FileData:getExtension

Gibt die Dateiendung des FileData-Objekts zurück.

ext = FileData:getExtension()

extstringDie Dateiendung der Datei, welche das FileData-Objekts repräsentiert.

FileData:getFilename

Ruft den Dateinamen der FileData ab.

name = FileData:getFilename()

namestringDer Name der Datei, die die FileData repräsentiert.

love.graphics

Types

Functions

Enums

love.graphics.arc

Zeichnet einen gefüllten oder ungefüllten Bogen an der Position (x, y). Der Boden wird von winkel1 zu winkel2 gezeichnet (die verwendete Winkeleinheit wird dabei in Radianten angegeben). Das segmente Parameter bestimmte wieviele Segmente beim Zeichnen genutzt werden sollen. Je mehr Segmente der Bogen hat, desto runder / glatter wird er gezeichnet.

love.graphics.arc( drawmode, arctype, x, y, radius, angle1, angle2, segments )

drawmodeDrawModeWie man den Bogen zieht.
arctype ("pie")ArcTypeDie Art des Bogens zu zeichnen.
xnumberDie Position des Zentrums entlang der x-Achse.
ynumberDie Position des Zentrums entlang der y-Achse.
radiusnumberRadius des Bogens
angle1numberDer Winkel, bei dem der Bogen beginnt.
angle2numberDer Winkel, bei dem der Lichtbogen endet.
segments (10)numberDie Anzahl der zum Zeichnen des Bogens verwendeten Segmente

love.graphics.circle

Zeichnet einen Kreis.

love.graphics.circle( mode, x, y, radius )

modeDrawModeWie zeichne ich den Kreis.
xnumberDie Position des Zentrums entlang der x-Achse.
ynumberDie Position des Zentrums entlang der y-Achse.
radiusnumberDer Radius des Kreises.

love.graphics.circle( mode, x, y, radius, segments )

modeDrawModeBestimmt den Zeichenmodus.
xnumberDie Position des Kreismittelpunkts auf der x-Achse.
ynumberDie Position des Kreismittelpunkts auf der y-Achse.
radiusnumberDer Radius der Kreises.
segmentsnumberDie Anzahl der einzelnen Segmente welche zum zeichnen des Kreises verwendet werden sollen (je höher die Anzahl, desto "runder" wird der Kreis.

love.graphics.clear

Löscht den aktuellen Bildschirminhalt und füllt ihn mit der Hintergrundfarbe. Das Koordinatensystem wird ebenfalls zurückgesetzt.

Die Funktion wird automatisch von love.run aufgerufen bevor love.draw läuft.

Zu Beachten ist, dass die zu löschende Fläche durch love.graphics.setScissor gesteuert werden kann.

love.graphics.clear()

Clears the screen to the background color in 0.9.2 and earlier, or to transparent black (0, 0, 0, 0) in LÖVE 0.10.0 and newer.

love.graphics.clear( r, g, b, a )

Löscht den Bildschirm bzw. aktive Canvas auf die angegebene Farbe.

rnumberDer rote Kanal der Farbe, um den Bildschirm zu löschen.
gnumberDer grüne Kanal der Farbe, um den Bildschirm zu löschen.
bnumberDer blaue Kanal der Farbe, um den Bildschirm zu löschen.
a (255)numberDer Alphakanal der Farbe, um den Bildschirm zu löschen.

love.graphics.clear( color, ... )

Löscht mehr aktive Canvases zu verschiedenen Farben, wenn mehrere Canvases sind aktiv sofort über love.graphics.setCanvas.

colortableEin Tisch in Form von {r, g, b, a} mit der Farbe, um die erste aktive Leinwand zu löschen.
...tableZusätzliche Tabellen für jede aktive Leinwand.

love.graphics.discard

Verwirft den Inhalt des Bildschirms oder der aktiven Leinwand. Dies ist eine Performance-Optimierung mit Nischen-Use-Fällen.

Wenn das aktive Canvas gerade geändert wurde und der "replace" BlendMode verwendet wird, um etwas zu zeichnen, das den gesamten Bildschirm abdeckt, ruft love.graphics.discard an, anstatt love.graphics.clear anzurufen oder nichts zu tun, kann die Leistung auf dem Handy verbessern geräte

Auf einigen Desktop-Systemen kann diese Funktion nichts machen.

love.graphics.discard( discardcolor, discardstencil )

discardcolor (true)booleanOb die Textur (en) des aktiven Canvas (es) verwerfen (der Inhalt des Bildschirms, wenn kein Canvas aktiv ist).
discardstencil (true)booleanOb der Inhalt des Schablonenpuffers des Bildschirms / aktives Canvas verwerfen soll.

love.graphics.discard( discardcolors, discardstencil )

discardcolorstableEin Array mit booleschen Werten, die angeben, ob die Textur jedes aktiven Canvas verwerfen soll, wenn mehrere gleichzeitige Leinwände aktiv sind.
discardstencil (true)booleanOb der Inhalt des Schablonenpuffers des Bildschirms / aktives Canvas verwerfen soll.

love.graphics.draw

Zeichnet ein zeichenbares Objekt (z.B. ein Bild) auf den Bildschirm, wobei sich Größe, Rotation und Scherung anpassen lassen.

Objekte werden dabei relativ zu ihrem lokalen Koordinatensystem gezeichnet. Der Ursprung ist standardmäßig die obere linke Ecke bei Bildern und Leinwänden. Alle Skalierungs-, Rotations- und Verformungsoperationen werden daher relativ zu diesem Punkt durchgeführt.

Um ein Objekt um seine eigene Mitte zu rotieren, muss der Ursprung in die Mitte des Objekts verschoben werden. Das Objekt kann durch Verwendung negativer Skalierungswerte gespiegelt werden.

Verschiebungen werden angewendet bevor das Objekt rotiert, skaliert oder deformiert wird. Skalierung und Scherung laufen dabei vor der Rotation ab.

love.graphics.draw( drawable, x, y, r, sx, sy, ox, oy, kx, ky )

drawableDrawableEin zeichenbares Objekt.
x (0)numberDie Position auf der x-Achse an der das Objekt gezeichnet werden soll.
y (0)numberDie Position auf der y-Achse an der das Objekt gezeichnet werden soll.
r (0)numberDie Rotation in Radianten.
sx (1)numberDer Skalierungsfaktor in x-Richtung.
sy (sx)numberDer Skalierungsfaktor in y-Richtung.
ox (0)numberVerschiebung vom Urpsrung auf der x-Achse.
oy (0)numberVerschiebung vom Urpsrung auf der y-Achse.
kx (0)numberDer Scherfaktor in x-Richtung.
ky (0)numberDer Scherfaktor in y-Richtung.

love.graphics.draw( texture, quad, x, y, r, sx, sy, ox, oy, kx, ky )

textureTextureEine Beschaffenheit (Bild oder Leinwand), um die Quad mit zu beschriften.
quadQuadDie Quad auf dem Bildschirm zu zeichnen.
x (0)numberDie Position, um das Objekt (x-Achse) zu zeichnen.
y (0)numberDie Position, um das Objekt (y-Achse) zu zeichnen.
r (0)numberOrientierung (Bogenmaß).
sx (1)numberSkalenfaktor (x-Achse). Kann negativ sein
sy (sx)numberSkalenfaktor (y-Achse). Kann negativ sein
ox (0)numberUrsprungsversatz (x-Achse).
oy (0)numberUrsprungsversatz (y-Achse)
kx (0)numberScherfaktor (x-Achse).
ky (0)numberScherfaktor (y-Achse).

love.graphics.ellipse

Zeichnet eine Ellipse.

love.graphics.ellipse( mode, x, y, radiusx, radiusy, segments )

modeDrawModeWie zeichne die Ellipse.
xnumberDie Position des Zentrums entlang der x-Achse.
ynumberDie Position des Zentrums entlang der y-Achse.
radiusxnumberDer Radius der Ellipse entlang der x-Achse (die Hälfte der Breite der Ellipse).
radiusynumberDer Radius der Ellipse entlang der y-Achse (die Hälfte der Ellipsenhöhe).
segments (based on size)numberDie Anzahl der Segmente, die zum Zeichnen der Ellipse verwendet werden.

love.graphics.getBackgroundColor

Gibt die derzeitige Hintergrundfarbe zurück.

r, g, b, a = love.graphics.getBackgroundColor()

rnumberDer rote Farbanteil (0-255).
gnumberDer grüne Farbanteil (0-255).
bnumberDer blaue Farbanteil (0-255).
anumberDie Transparenz (0-255).

love.graphics.getBlendMode

Gibt den Mischungsmodus für transparente Objekte zurück.

mode, alphamode = love.graphics.getBlendMode()

modeBlendModeDer aktuelle Mischmodus.
alphamodeBlendAlphaModeDer aktuelle Blend Alpha-Modus - es bestimmt, wie das Alpha von gezeichneten Objekten das Blending beeinflusst.

love.graphics.getCanvas

Ruft das aktuelle Ziel Canvas ab.

canvas = love.graphics.getCanvas()

canvasCanvasDie Leinwand von setCanvas gesetzt. Rückkehr nil beim Zeichnen auf den realen Bildschirm.

love.graphics.getCanvasFormats

Ruft die verfügbaren Canvas-Formate ab und ob jeder unterstützt wird.

formats = love.graphics.getCanvasFormats()

formatstableEine Tabelle mit CanvasFormats als Schlüssel und ein Boolescher Wert, ob das Format als Werte unterstützt wird. Nicht alle Systeme unterstützen alle Formate.

love.graphics.getColor

Ruft die aktuelle Farbe ab.

r, g, b, a = love.graphics.getColor()

rnumberDie rote Komponente (0-255).
gnumberDie rote Komponente (0-255).
bnumberDie blaue Komponente (0-255).
anumberDie Alphakomponente (0-255).

love.graphics.getColorMask

Ruft die beim Zeichnen verwendeten aktiven Farbkomponenten ab. Normalerweise sind alle 4 Komponenten aktiv, wenn love.graphics.setColorMask verwendet wurde.

Die Farbmaske bestimmt, ob einzelne Komponenten der Farben von gezeichneten Objekten die Farbe des Bildschirms beeinflussen. Sie beeinflussen love.graphics.clear und Canvas: klar auch.

r, g, b, a = love.graphics.getColorMask()

rbooleanOb die rote Farbkomponente beim Rendern aktiv ist.
gbooleanOb die grüne Farbkomponente beim Rendern aktiv ist.
bbooleanOb die blaue Farbkomponente beim Rendern aktiv ist.
abooleanOb die Alpha-Farbkomponente beim Rendern aktiv ist.

love.graphics.getCompressedImageFormats

Erhält die verfügbaren komprimierten Bildformate und ob jeder unterstützt wird.

formats = love.graphics.getCompressedImageFormats()

formatstableEine Tabelle mit CompressedFormats als Schlüssel und ein Boolescher Wert, ob das Format als Werte unterstützt wird. Nicht alle Systeme unterstützen alle Formate.

love.graphics.getDefaultFilter

Ruft die Standard-Skalierungsfilter ab, die mit Bildern, Leinwänden und Schriftarten verwendet werden.

min, mag, anisotropy = love.graphics.getDefaultFilter()

minFilterModeFiltermodus, der beim Skalieren des Bildes verwendet wird.
magFilterModeFiltermodus, der beim Skalieren des Bildes verwendet wird.
anisotropynumberMaximale Menge an anisotroper Filterung verwendet.

love.graphics.getDimensions

Gibt die Breite und Höhe des Fensters in Pixeln zurück.

width, height = love.graphics.getDimensions()

widthnumberDie Breite des Fensters in Pixeln.
heightnumberDie Höhe des Fensters in Pixeln.

love.graphics.getFont

Ruft das aktuelle Font-Objekt ab.

font = love.graphics.getFont()

fontFontDie aktuelle Schriftart, oder nil wenn keine gesetzt ist.

love.graphics.getHeight

Gibt die Höhe des Fensters in Pixeln zurück.

height = love.graphics.getHeight()

heightnumberDie Höhe des Fensters in Pixeln.

love.graphics.getLineJoin

Ruft den Linien-Join-Stil ab.

join = love.graphics.getLineJoin()

joinLineJoinDer LineJoin-Stil.

love.graphics.getLineStyle

Ruft den Linienstil ab.

style = love.graphics.getLineStyle()

styleLineStyleDer aktuelle Linienstil.

love.graphics.getLineWidth

Ruft die aktuelle Zeilenbreite ab.

width = love.graphics.getLineWidth()

widthnumberDie aktuelle Zeilenbreite.

love.graphics.getShader

Gibt den aktuellen Shader zurück.

shader = love.graphics.getShader()

shaderShaderDer aktive Shader. Wenn kein Shader aktiv ist, so wird nil zurückgegeben.

love.graphics.getStats

Erzielt leistungsbezogene Rendering-Statistiken.

stats = love.graphics.getStats()

statstableEine Tabelle mit folgenden Feldern:
stats.drawcallsnumberDie Anzahl der Anrufe, die während des aktuellen Rahmens so weit gemacht wurden.
stats.canvasswitchesnumberDie Anzahl, wie oft die aktive Leinwand im laufenden Rahmen umgeschaltet wurde.
stats.texturememorynumberDie geschätzte Gesamtgröße in Bytes des Videospeichers, die von allen geladenen Bildern, Leinwänden und Schriftarten verwendet werden.
stats.imagesnumberDie Anzahl der aktuell geladenen Bildobjekte
stats.canvasesnumberDie Anzahl der aktuell geladenen Canvas-Objekte
stats.fontsnumberDie Anzahl der aktuell geladenen Font-Objekte
stats.shaderswitchesnumberDie Anzahl, wie oft der aktive Shader während des aktuellen Rahmens geändert wurde.

love.graphics.getStencilTest

Ermittelt, ob die Schablonentests aktiviert sind.

Wenn die Schablonentests aktiviert sind, wird die Geometrie von allem, was gezeichnet wird, abgeschnitten, indem sie sich darauf beschränken, ob sie mit dem, was zuvor auf den Schablonenpuffer gezeichnet wurde, schneidet.

Jeder Canvas hat seinen eigenen Schablonenpuffer.

enabled, inverted = love.graphics.getStencilTest()

enabledbooleanOb Schablonentests aktiviert sind.
invertedbooleanOb der Schablonentest invertiert ist oder nicht.

love.graphics.getSupported

Erhält die optionalen Grafikfunktionen und ob sie auf dem System unterstützt werden.

Einige ältere oder Low-End-Systeme unterstützen nicht immer alle Grafikfunktionen.

features = love.graphics.getSupported()

featurestableEine Tabelle mit GraphicsFeature-Schlüsseln und booleschen Werten, die angeben, ob jede Funktion unterstützt wird.

love.graphics.getSystemLimits

Ruft die systemabhängigen Maximalwerte für love.graphics-Features ab.

limits = love.graphics.getSystemLimits()

limitstableEine Tabelle mit GraphicsLimit-Schlüsseln und Zahlenwerten.

love.graphics.getPointSize

Gibt die aktuelle Größe mit welcher Punkte gezeichnet werden zurück.

size = love.graphics.getPointSize()

sizenumberDie aktuelle Größe.

love.graphics.getRendererInfo

Ermittelt Informationen über die Grafikkarte und die Treiber des Systems.

name, version, vendor, device = love.graphics.getRendererInfo()

namestringDer Name des Renderers, z.B. "OpenGL" oder "OpenGL ES".
versionstringDie Version des Renderers mit einigen zusätzlichen Treiber-abhängigen Versionsinformationen, z.B. "2.1 INTEL-8.10.44".
vendorstringDer Name des Grafikkartenherstellers, z.B. "Intel Inc".
devicestringDer Name der Grafikkarte, z.B. "Intel HD Graphics 3000 OpenGL Engine".

love.graphics.getScissor

Erhält die aktuelle Scherenbox.

x, y, width, height = love.graphics.getScissor()

xnumberDie x-Komponente des oberen linken Punktes der Box.
ynumberDie y-Komponente des oberen linken Punktes der Box.
widthnumberDie Breite der Box.
heightnumberDie Höhe der Schachtel.

love.graphics.getWidth

Gibt die Breite des Fensters in Pixeln zurück.

width = love.graphics.getWidth()

widthnumberDie Breite des Fensters in Pixeln.

love.graphics.intersectScissor

Setzt die Schere auf das Rechteck, das durch den Schnittpunkt des angegebenen Rechtecks ​​mit der vorhandenen Schere erzeugt wird. Wenn noch keine Schere aktiv ist, verhält es sich wie love.graphics.setScissor.

Die Schere begrenzt den Zeichenbereich auf ein bestimmtes Rechteck. Dies betrifft alle grafischen Anrufe, einschließlich love.graphics.clear.

Die Dimensionen der Schere werden durch grafische Transformationen (translate, scale, ...) nicht beeinflusst.

love.graphics.intersectScissor( x, y, width, height )

Limits the drawing area to a specified rectangle.

xnumberDie x-Koordinate der oberen linken Ecke des Rechtecks, um mit dem vorhandenen Scheren-Rechteck zu schneiden.
ynumberDie y-Koordinate der oberen linken Ecke des Rechtecks, um das vorhandene Scheren-Rechteck zu schneiden.
widthnumberDie Breite des Rechtecks, um sich mit dem vorhandenen Scherenrechteck zu schneiden.
heightnumberDie Höhe des Rechtecks, um das vorhandene Scherenrechteck zu schneiden.

love.graphics.intersectScissor()

Disables scissor.

love.graphics.isGammaCorrect

Ermittelt, ob gamma-korrektes Rendering unterstützt und aktiviert ist. Es kann aktiviert werden, indem man t.gammacorrect = true in love.conf setzt.

Nicht alle Geräte unterstützen gamma-korrektes Rendering, in diesem Fall wird es automatisch deaktiviert und diese Funktion wird false zurückgeben. Es wird auf Desktopsystemen unterstützt, die Grafikkarten haben, die in der Lage sind, OpenGL 3 / DirectX 10 und iOS Geräte zu verwenden, die OpenGL ES 3 verwenden können.

gammacorrect = love.graphics.isGammaCorrect()

gammacorrectbooleanTrue Wenn gamma-korrektes Rendering unterstützt und in love.conf aktiviert wurde, false anders.

love.graphics.isWireframe

Ermittelt, ob der Drahtmodell beim Zeichnen verwendet wird.

wireframe = love.graphics.isWireframe()

wireframebooleanTrue, wenn Wireframe-Linien beim Zeichnen verwendet werden, false, wenn es nicht ist.

love.graphics.line

Zeichnet eine Linie zwischen zwei oder mehr Punkten.

love.graphics.line( x1, y1, x2, y2, ... )

x1numberDie Position des ersten Punkts auf der x-Achse.
y1numberDie Position des ersten Punkts auf der y-Achse.
x2numberDie Position des zweiten Punkts auf der x-Achse.
y2numberDie Position des zweiten Punkts auf der y-Achse.
...numberWeitere Punkte (x, y) um eine Polylinie zu zeichnen.

love.graphics.line( points )

pointstableEin Table mit Punktkoordinaten.

love.graphics.newCanvas

Erstellt einen neuen Offscreen-Buffer.

canvas = love.graphics.newCanvas( width, height, format, msaa )

canvasCanvasEin neues Leinwandobjekt.
width (window width)numberDie Breite der Leinwand.
height (window height)numberDie Höhe der Leinwand.
format ("normal")CanvasFormatDer gewünschte Texturmodus der Leinwand.
msaa (0)numberDie gewünschte Anzahl von Antialiasing-Proben, die beim Zeichnen auf die Leinwand verwendet werden.

love.graphics.newFont

Erstellt ein neues Font Objekt.

font = love.graphics.newFont( file, size )

fontFontEin Schriftartobjekt, das verwendet werden kann, um Text auf dem Bildschirm zu zeichnen.
filestring / File / FileDataDie Datei / Datei / DateiData der TrueType-Schriftartdatei.
size (12)numberDie Größe der Schriftart in Pixel.

font = love.graphics.newFont( file, imagefilename )

fontFontEin Schriftartobjekt, das verwendet werden kann, um Text auf dem Bildschirm zu zeichnen.
filestring / File / FileDataDer Pfad / Datei / FileData der BMFont-Datei.
imagefilename (path inside BMFont file)string / File / FileDataDer Pfad / Datei / FileData der Bilddatei des BMFont.

font = love.graphics.newFont( size )

Diese Variante nutzt den Standard-Font (Vera Sans) mit einer benutzerdefinierten Größe.

fontFontEin Font-Objekt welches dazu benutzt werden kann, Text auf den Bildschirm zu zeichnen.
sizenumberDie Größe des Font in Pixeln.

love.graphics.newMesh

Erstellt ein neues Mesh.

Verwenden Sie Mesh: setTexture, wenn das Mesh mit einem Bild oder Leinwand strukturiert werden soll, wenn es gezeichnet ist.

mesh = love.graphics.newMesh( vertexformat, vertices, mode, usage )

Creates a Mesh with custom vertex attributes and the specified vertex data.

meshMeshDas neue Mesh.
vertexformat (none)tableEine Tabelle in Form von {attribute, ...}. Jedes Attribut ist eine Tabelle, die ein benutzerdefiniertes Scheitelattribut angibt, das für jeden Scheitelpunkt verwendet wird.
vertexformat.attributetableEine Tabelle, die den Namen des Attributs, den Datentyp und die Anzahl der Komponenten im Attribut enthält, in Form von {name, datatype, components}.
vertexformat....tableZusätzliche Vertexattributformattabellen.
verticestableDie Tabelle gefüllt mit Scheitelpunkttabellen für jeden Scheitelpunkt, in Form von {Scheitelpunkt, ...} wobei jeder Scheitelpunkt eine Tabelle in Form von {attributecomponent, ...} ist.
vertices.attributecomponentnumberDie erste Komponente des ersten Scheitelattributs im Scheitelpunkt.
vertices....numberZusätzliche Komponenten aller Scheitelattribute im Scheitelpunkt.
mode ("fan")MeshDrawModeWie die Ecken beim Zeichnen verwendet werden. Der Standardmodus "Lüfter" reicht für einfache konvexe Polygone aus.
usage ("dynamic")SpriteBatchUsageDer erwartete Gebrauch des Mesh. Der angegebene Nutzungsmodus wirkt sich auf den Speicherverbrauch und die Leistung des Mesh aus.

mesh = love.graphics.newMesh( vertexformat, vertexcount, mode, usage )

Creates a Mesh with custom vertex attributes and the specified number of vertices.

meshMeshDas neue Mesh.
vertexformat (none)tableEine Tabelle in Form von {attribute, ...}. Jedes Attribut ist eine Tabelle, die ein benutzerdefiniertes Scheitelattribut angibt, das für jeden Scheitelpunkt verwendet wird.
vertexformat.attributetableEine Tabelle, die den Namen des Attributs, den Datentyp und die Anzahl der Komponenten im Attribut enthält, in Form von {name, datatype, components}.
vertexformat....tableZusätzliche Vertexattributformattabellen.
vertexcountnumberDie Gesamtzahl der Ecken, die das Netz benutzen wird.
mode ("fan")MeshDrawModeWie die Ecken beim Zeichnen verwendet werden. Der Standardmodus "Lüfter" reicht für einfache konvexe Polygone aus.
usage ("dynamic")SpriteBatchUsageDer erwartete Gebrauch des Mesh. Der angegebene Nutzungsmodus wirkt sich auf den Speicherverbrauch und die Leistung des Mesh aus.

love.graphics.newImage

Erstellt ein neues Image aus einem Dateipfad, einer FileData oder aus einer ImageData

image = love.graphics.newImage( file, flags )

imageImageEin Bildobjekt, das auf dem Bildschirm gezeichnet werden kann.
filepath / File / FileData / ImageData / CompressedImageDataDer Dateipfad / Datei / FileData / ImageData / CompressedImageData des Bildes.
flagstableEine Tabelle mit folgenden Feldern:
flags.linear (false)booleanTrue, wenn die Pixel des Bildes als lineares RGB interpretiert werden sollen, anstatt sRGB-codiert, wenn gamma-korrektes Rendering aktiviert ist. Hat sonst nichts anderes
flags.mipmaps (false)boolean or tableWenn es wahr ist, werden mipmaps für das Bild automatisch generiert (oder aus der Bilderdatei genommen, wenn möglich, wenn das Bild aus einer CompressedImageData stammt). Wenn dieser Wert eine Tabelle ist, sollte er eine Liste von anderen Dateinamen von Bildern des gleichen Formats enthalten, die schrittweise halbformatige Dimensionen haben, bis hin zu 1x1. Diese Bilder werden als Mipmap-Level dieses Bildes verwendet.

love.graphics.newImageFont

Erstellt eine neue Schriftart, indem ein speziell formatiertes Bild geladen wird.

In Versionen vor 0.9.0 erwartet LÖVE ISO 8859-1 Kodierung für die Glyphen-String.

font = love.graphics.newImageFont( file, glyphs, extraspacing )

fontFontEin Schriftartobjekt, das verwendet werden kann, um Text auf dem Bildschirm zu zeichnen.
filepath / File / FileDataDer Dateipfad / Datei / DateiData der Bilddatei.
glyphsstringEine Zeichenkette der Zeichen im Bild von links nach rechts.
extraspacing (0)numberZusätzlicher Abstand (positiv oder negativ) für jede Glyphe in der Schriftart anzuwenden.

love.graphics.newParticleSystem

Erstellt ein neues Partikelsystem.

system = love.graphics.newParticleSystem( texture, buffer )

systemParticleSystemEin neues Partikelsystem.
textureTextureDas Bild oder die Leinwand verwenden.
buffer (1000)numberDie maximale Anzahl der Partikel zur gleichen Zeit.

love.graphics.newShader

Erstellt ein neues Shader-Objekt für hardwarebeschleunigte Vertex- und Pixeleffekte. Ein Shader enthält entweder Vertex-Shader-Code, Pixel-Shader-Code oder beide.

Vertex-Shader-Code muss mindestens eine Funktion, benannte Position enthalten, die die Funktion ist, die transformierte Scheitelpositionen von gezeichneten Objekten im Bildschirmraum erzeugt.

Pixel-Shader-Code muss mindestens eine Funktion, benannter Effekt enthalten, die die Funktion ist, die die Farbe erzeugt, die auf dem Bildschirm für jedes Pixel gemischt wird, das ein gezeichnetes Objekt berührt.

shader = love.graphics.newShader( code )

shaderShaderEin Shader-Objekt zur Verwendung in Zeichnungsvorgängen.
codestring / File / FileDataDer Pixel-Shader- oder Vertex-Shader-Code oder eine Datei mit dem Code.

shader = love.graphics.newShader( pixelcode, vertexcode )

shaderShaderEin Shader-Objekt zur Verwendung in Zeichnungsvorgängen.
pixelcodestring / File / FileDataDer Pixel-Shader-Code oder eine Datei mit dem Code.
vertexcodestring / File / FileDataDer Vertex-Shader-Code oder eine Datei mit dem Code.

love.graphics.newText

Erstellt eine neue Schriftart.

text = love.graphics.newText( font, textstring )

textTextDas neue ziehbare Textobjekt.
fontFontDie Schriftart für den Text zu verwenden.
textstring (nil)stringDie erste Textfolge, die das neue Textobjekt enthält. Kann nil sein

love.graphics.newQuad

Erstellt ein neues Quad.

quad = love.graphics.newQuad( x, y, width, height, sw, sh )

quadQuadDas neue Quad.
xnumberDie obere linke Position des Quads auf der x-Achse.
ynumberDie obere linke Position des Quads auf der y-Achse.
widthnumberDie Breite des Quads.
heightnumberDie Höhe des Quads.
swnumberDie Breite des Bildes.
shnumberDie Höhe des Bildes.

love.graphics.newScreenshot

Erstellt einen Screenshot und gibt die Bilddaten zurück.

screenshot = love.graphics.newScreenshot( copyAlpha )

screenshotImageDataDie Bilddaten des Screenshots.
copyAlpha (false)booleanOb der Alpha-Kanal des Bildschirms in der ImageData enthalten ist. Wenn false, ist der Screenshot völlig undurchsichtig.

love.graphics.newSpriteBatch

Erstellt einen neuen SpriteBatch.

spriteBatch = love.graphics.newSpriteBatch( texture, maxsprites, usage )

spriteBatchSpriteBatchDer neue SpriteBatch.
textureTextureDas Bild oder Canvas welches für die Sprites verwendet werden soll.
maxsprites (1000)numberDie maximale Anzahl an Sprites.
usage ("dynamic")SpriteBatchUsageDer erwartete Verwendungszweck für den SpriteBatch.

love.graphics.newVideo

Erstellt ein neues ziehbares Video. Derzeit werden nur Ogg Theora Videodateien unterstützt.

video = love.graphics.newVideo( file, loadaudio )

videoVideoEin neues Video.
filestring / FileDer Dateipfad / Datei der Ogg Theora Videodatei.
loadaudio (nil)booleanOb Sie versuchen, das Video-Audio in eine Audio-Quelle zu laden. Wenn nicht explizit auf true oder false gesetzt, wird es versuchen, ohne einen Fehler zu verursachen, wenn das Video kein Audio hat.

love.graphics.origin

Setzt die aktuelle Koordinatentransformation zurück.

Diese Funktion wird immer verwendet, um alle vorherigen Anrufe an love.graphics.rotate, love.graphics.scale, love.graphics.shear oder love.graphics.translate umzukehren. Es gibt den aktuellen Transformationszustand auf seine Vorgaben zurück.

love.graphics.origin()

love.graphics.points

Zeichnet einen oder mehrere Punkte.

love.graphics.points( x, y, ... )

xnumberDie Position des ersten Punktes auf der x-Achse.
ynumberDie Position des ersten Punktes auf der y-Achse.
...numberDie x- und y-Koordinaten von zusätzlichen Punkten.

love.graphics.points( points )

pointstableEine Tabelle mit mehreren Punktpositionen in Form von {x, y, ...}.
points.xnumberDie Position des ersten Punktes auf der x-Achse.
points.ynumberDie Position des ersten Punktes auf der y-Achse.
points....numberDie x- und y-Koordinaten von zusätzlichen Punkten.

love.graphics.points( points )

pointstableEine Tabelle mit mehreren einzeln farbigen Punkten, in Form von {point, ...}. Jede Tabelle enthält die Position und die Farbe eines Punktes in Form von {x, y, r, g, b, a}. Die Farbkomponenten sind optional.
points.pointtableEine Tabelle, die die Position und die Farbe des ersten Punktes enthält, in Form von {x, y, r, g, b, a}. Die Farbkomponenten sind optional.
points....tableZusätzliche Tabellen, die die Position und Farbe von mehr Punkten enthalten, in Form von {x, y, r, g, b, a}. Die Farbkomponenten sind optional.

love.graphics.polygon

Zeichnet ein Vieleck (Polygon).

Diese Funktion nimmt nach dem Zeichenmodus-Argument weitere numerische Argumente oder einen Table mit numerischen Werten entgegen. Diese Werte werden sodann zum Zeichnen des Polygons genutzt, wobei immer von wechselnden x und y Werten ausgegangen wird.

Wenn der "gefüllte" Zeichenmodus verwendet wird, dann muss das Polygon sowohl convex als auch einfach sein. Ansonsten können Renderartifakte entstehen. Seit love.math.triangulate und love.math.isConvex verwendet werden.

love.graphics.polygon( mode, ... )

modeDrawModeBestimmt wie das Polygon gezeichnet werden soll.
...numberDie Vertices des Polygons.

love.graphics.polygon( mode, vertices )

modeDrawModeBestimmt wie das Polygon gezeichnet werden soll.
verticestableDie Vertices des Polygons in einem Table.

love.graphics.pop

Zieht die aktuelle Koordinatentransformation aus dem Transformationsstapel.

Diese Funktion wird immer verwendet, um einen vorherigen Push-Vorgang umzukehren. Es gibt den aktuellen Transformationszustand an das, was es vor dem letzten vorhergehenden Push war. Ein Beispiel finden Sie in der Beschreibung von love.graphics.push.

love.graphics.pop()

love.graphics.present

Zeigt das Ergebnis der bisherigen Zeichenoperationen auf dem Bildschirm.

Diese Funktion wird nur relevant, wenn man eine benutzerdefinierte love.run-Funktion schreiben möchte. Sie präsentiert das Ergebnis aller Zeichenoperationen auf dem Bildschirm. Ein Beispiel zur Verwendung dieser Funktion findet sich in der vorgegebenen love.run-Funktion.

love.graphics.present()

love.graphics.print

Zeichnet einen Text auf den Bildschirm. Wenn kein Font spezifiziert ist, wird ein Standard-Font erstellt und verwendet.

Verschiebungen und Skalierungen des Koordinatensystems, werden seit LÖVE 0.7.1 beim Zeichnen des Textes berücksichtigt. Dies sollte man beachten, da es sonst vorkommen kann, dass der Text an der falschen Stelle oder gar nicht auf dem Bildschirm gezeichnet wird.

Sowohl love.graphics.print als auch love.graphics.printf unterstützen beide UTF-8 Encoding. Für Spezialcharaktere wird ein passender Font benötigt.

love.graphics.print( text, x, y, r, sx, sy, ox, oy, kx, ky )

textstringDer Text der gezeichnet werden soll.
xnumberDie x-Position an der gezeichnet werden soll.
ynumberDie y-Position an der gezeichnet werden soll.
r (0)numberDie Ausrichtung in Radianten.
sx (1)numberSkalierungsfaktor (x-Achse).
sy (sx)numberSkalierungsfaktor (y-Achse).
ox (0)numberUrsprungsverschiebung (x-Achse).
oy (0)numberUrsprungsverschiebung (y-Achse).
kx (0)numberScherungsfaktor (x-Achse).
ky (0)numberScherungsfaktor (y-Achse).

love.graphics.print( coloredtext, x, y, angle, sx, sy, ox, oy, kx, ky )

coloredtexttableEine Tabelle mit Farben und Strings, um das Objekt hinzuzufügen, in Form von {color1, string1, color2, string2, ...}.
coloredtext.color1tableEine Tabelle mit roten, grünen, blauen und optionalen Alpha-Komponenten, die als Farbe für den nächsten String in der Tabelle verwendet werden sollen, in Form von {rot, grün, blau, alpha}.
coloredtext.string1stringEine Zeichenfolge, die eine von der vorherigen Farbe angegebene Farbe hat.
coloredtext.color2tableEine Tabelle mit roten, grünen, blauen und optionalen Alpha-Komponenten, die als Farbe für den nächsten String in der Tabelle verwendet werden sollen, in Form von {rot, grün, blau, alpha}.
coloredtext.string2stringEine Zeichenfolge, die eine von der vorherigen Farbe angegebene Farbe hat.
coloredtext....tables and stringsZusätzliche Farben und Saiten.
xnumberDie Position des neuen Textes auf der x-Achse.
ynumberDie Position des neuen Textes auf der y-Achse.
angle (0)numberDie Orientierung des Objekts im Bogenmaß.
sx (1)numberSkalenfaktor auf der x-Achse.
sy (sx)numberSkalenfaktor auf der y-Achse.
ox (0)numberUrsprungsversatz auf der x-Achse.
oy (0)numberOrigin-Offset auf der y-Achse.
kx (0)numberScher- / Schrägfaktor auf der x-Achse.
ky (0)numberScher- / Schrägfaktor auf der y-Achse.

love.graphics.printf

Zeichnet formatierten Text mit Zeilenumbrüchen und Textausrichtung.

love.graphics.printf( text, x, y, limit, align, r, sx, sy, ox, oy, kx, ky )

textstringEin String.
xnumberDie Position auf der x-Achse.
ynumberDie Position auf der y-Achse.
limitnumberBestimmt nach wievielen Pixeln die Zeile umgebrochen werden soll.
align ("left")AlignModeDer Modus zur Ausrichtung des Strings.
r (0)numberAusrichtung (Radianten).
sx (1)numberSkalierungsfaktor (x-Achse).
sy (sx)numberSkalierungsfaktor (y-Achse).
ox (0)numberVerschiebung des Ursprungs in Pixeln (x-Achse).
oy (0)numberVerschiebung des Ursprungs in Pixeln (y-Achse).
kx (0)numberScherfaktor (x-Achse).
ky (0)numberScherfaktor (y-Achse).

love.graphics.printf( coloredtext, x, y, wraplimit, align, angle, sx, sy, ox, oy, kx, ky )

coloredtexttableEine Tabelle mit Farben und Strings, um das Objekt hinzuzufügen, in Form von {color1, string1, color2, string2, ...}.
coloredtext.color1tableEine Tabelle mit roten, grünen, blauen und optionalen Alpha-Komponenten, die als Farbe für den nächsten String in der Tabelle verwendet werden sollen, in Form von {rot, grün, blau, alpha}.
coloredtext.string1stringEine Zeichenfolge, die eine von der vorherigen Farbe angegebene Farbe hat.
coloredtext.color2tableEine Tabelle mit roten, grünen, blauen und optionalen Alpha-Komponenten, die als Farbe für den nächsten String in der Tabelle verwendet werden sollen, in Form von {rot, grün, blau, alpha}.
coloredtext.string2stringEine Zeichenfolge, die eine von der vorherigen Farbe angegebene Farbe hat.
coloredtext....tables and stringsZusätzliche Farben und Saiten.
xnumberDie Position des neuen Textes auf der x-Achse.
ynumberDie Position des neuen Textes auf der y-Achse.
wraplimitnumberDie maximale Breite in Pixeln des Textes, bevor er automatisch in eine neue Zeile eingehüllt wird.
alignAlignModeDie Ausrichtung des Textes.
angle (0)numberDie Orientierung des Objekts im Bogenmaß.
sx (1)numberSkalenfaktor auf der x-Achse.
sy (sx)numberSkalenfaktor auf der y-Achse.
ox (0)numberUrsprungsversatz auf der x-Achse.
oy (0)numberOrigin-Offset auf der y-Achse.
kx (0)numberScher- / Schrägfaktor auf der x-Achse.
ky (0)numberScher- / Schrägfaktor auf der y-Achse.

love.graphics.push

Kopiert und schiebt die aktuelle Koordinatentransformation in den Transformationsstapel.

Diese Funktion wird immer verwendet, um eine entsprechende Pop-Operation später vorzubereiten. Es speichert den aktuellen Koordinatentransformationszustand in den Transformationsstapel und hält ihn aktiv. Spätere Änderungen an der Transformation können rückgängig gemacht werden, indem die Pop-Operation verwendet wird, die die Koordinaten-Transformation in den Zustand zurückgibt, in dem sie sich vor dem Aufruf von Push war.

love.graphics.push( stack )

stack ("transform")StackTypeDie Art des Stapels zu drücken (z. B. nur Transformation Zustand, oder alle love.graphics Zustand).

love.graphics.rectangle

Zeichnet ein Rechteck.

love.graphics.rectangle( mode, x, y, width, height, rx, ry, segments )

Zeichnet ein Rechteck mit abgerundeten Ecken.

modeDrawModeWie zeichne das Rechteck.
xnumberDie Position der oberen linken Ecke entlang der x-Achse.
ynumberDie Position der oberen linken Ecke entlang der y-Achse.
widthnumberBreite des Rechtecks
heightnumberHöhe des Rechtecks
rx (0)numberDer x-Achsen-Radius jeder runden Ecke. Kann nicht größer sein als die Hälfte des Rechtecks.
ry (rx)numberDer y-Achsenradius jeder runden Ecke. Kann nicht größer sein als die Hälfte des Rechtecks.
segments (based on size)numberDie Anzahl der Segmente, die zum Zeichnen der runden Ecken verwendet wurden.

love.graphics.reset

Setzt die aktuellen Grafikeinstellungen zurück.

Das Aufrufen von Reset macht die aktuelle Zeichnungsfarbe weiß, die aktuelle Hintergrundfarbe schwarz, setzt alle aktiven Canvas oder Shader zurück und entfernt alle Schereneinstellungen. Es setzt den BlendMode auf alpha. Es setzt auch die Punkt- und Linienzeichnungsmodi zu glätten und ihre Größen auf 1,0.

love.graphics.reset()

love.graphics.rotate

Dreht das Koordinatensystem in zwei Dimensionen.

Das Aufrufen dieser Funktion wirkt sich auf alle zukünftigen Zeichnungsvorgänge aus, indem das Koordinatensystem um den Ursprung um die vorgegebene Anzahl von Bogenmaß gedreht wird. Diese Änderung dauert, bis love.draw ausgibt.

love.graphics.rotate( angle )

anglenumberDie Menge, um das Koordinatensystem im Bogenmaß zu drehen.

love.graphics.scale

Skaliert das Koordinatensystem in zwei Dimensionen.

Das Koordinatensystem in LÖVE entspricht standardmäßig den Anzeigepixeln in horizontaler und vertikaler Richtung eins zu eins und die x-Achse nimmt nach rechts zu, während die y-Achse nach unten zunimmt. Das Skalieren des Koordinatensystems ändert diese Relation.

Nach der Skalierung von sx und sy werden alle Koordinaten so behandelt, als ob sie mit sx und sy multipliziert würden. Jedes Ergebnis eines Zeichnungsvorgangs wird ebenfalls entsprechend skaliert, so dass die Skalierung durch (2, 2) zum Beispiel alles, was doppelt so groß ist, sowohl in x- als auch in y-Richtungen bedeutet. Die Skalierung durch einen negativen Wert umwandelt das Koordinatensystem in die entsprechende Richtung, was bedeutet, dass alles gezeichnet wird, umgedreht oder umgekehrt oder beides. Skalierung durch Null ist keine nützliche Operation.

Maßstab und übersetzen sind keine kommutativen Operationen, daher rufen sie in verschiedenen Aufträgen wird das Ergebnis ändern.

Skalierung dauert, bis love.draw beendet ist.

love.graphics.scale( sx, sy )

sxnumberDie Skalierung in Richtung der x-Achse.
sy (sx)numberDie Skalierung in Richtung der y-Achse. Wenn es weggelassen wird, wird es standardmäßig auf den Parameter sx gesetzt.

love.graphics.setBackgroundColor

Bestimmt die Hintergrundfarbe.

love.graphics.setBackgroundColor( r, g, b, a )

rnumberDer rote Farbanteil (0-255).
gnumberDer grüne Farbanteil (0-255).
bnumberDer blaue Farbanteil (0-255).
a (255)numberDie Transparenz (0-255).

love.graphics.setBackgroundColor( rgba )

rgbatableEin numerisch indizierter Table mit drei Nummern welche die roten, grünen und blauen Farbanteile sowie die Transparenz der Farbe bestimmen.

love.graphics.setBlendMode

Setzt den Mischmodus.

love.graphics.setBlendMode( mode, alphamode )

modeBlendModeDer Mischmodus zu verwenden.
alphamode ("alphamultiply")BlendAlphaModeWas mit dem Alpha von gezeichneten Objekten beim Mischen zu tun ist.

love.graphics.setCanvas

Bestimmt ein neues Renderziel.

love.graphics.setCanvas( canvas )

Alle Zeichenoperationen, welche nach love.graphics.setCanvas ausgeführt werden, erscheinen nicht auf dem Bildschirm sondern werden auf das Canvas umgeleitet.

canvasCanvasDas neue Renderziel.

love.graphics.setCanvas()

Setzt das Renderziel zurück. Alle Zeichenoperationen werden nun wieder direkt auf den Bildschirm gezeichnet.

love.graphics.setCanvas( canvas1, canvas2, ... )

Bestimmt gleichzeitig mehrere Offscreen-Buffer als Renderziele.

Normalerweise würde auf all diese Buff der gleiche Inhalt geschrieben werden. Dies kann sich jedoch ändern, wenn sogenannte pixel shader eingesetzt werden.

Die Canvas Argumente müssen alle die gleiche Breite und Höhe, sowie den gleichen TextureMode haben. Nicht alle Computer unterstützen multiple Renderziele. Dies kann per love.graphics.isSupported überprüft werden.

canvas1CanvasDas erste Renderziel.
canvas2CanvasDas zweite Renderziel.
...CanvasWeitere Ziele.

love.graphics.setColor

Legt die für das Zeichnen verwendete Farbe fest.

love.graphics.setColor( red, green, blue, alpha )

rednumberDie Menge an Rot.
greennumberDie Menge an Grün.
bluenumberDie Menge an Blau.
alphanumberDie Menge an Alpha. Der Alpha-Wert wird auf alle nachfolgenden Zeichnungsoperationen angewendet, auch die Zeichnung eines Bildes.

love.graphics.setColor( rgba )

rgbatableEine numerisch indizierte Tabelle mit den roten, grünen, blauen und alpha-Werten als Zahlen. Das Alpha ist optional und standardmäßig auf 255, wenn es ausgelassen wird.

love.graphics.setColorMask

Setzt die Farbmaske. Aktiviert oder deaktiviert bestimmte Farbkomponenten beim Rendern und Löschen des Bildschirms. Wenn z. B. rot auf false gesetzt ist, werden keine weiteren Änderungen an der roten Komponente aller Pixel vorgenommen.

Ermöglicht alle Farbkomponenten, wenn sie ohne Argumente aufgerufen werden.

love.graphics.setColorMask( red, green, blue, alpha )

Ermöglicht Farbmaskierung für die angegebenen Farbkomponenten.

redbooleanRender-Rot-Komponente.
greenbooleanRender grüne Komponente.
bluebooleanRender blaue Komponente.
alphabooleanAlpha-Komponente abgeben.

love.graphics.setColorMask()

Deaktiviert Farbmaskierung.

- 1.760

Legt die Standard - Skalierungsfilter verwendet mit Images, Canvases und Fonts.

Diese Funktion gilt nicht rückwirkend auf geladene Bilder.

love.graphics.setDefaultFilter

Legt die Standard-Skalierungsfilter fest, die mit Bildern, Leinwänden und Schriftarten verwendet werden.

Diese Funktion gilt nicht rückwirkend für geladene Bilder.

love.graphics.setDefaultFilter( min, mag, anisotropy )

minFilterModeFiltermodus, der beim Skalieren des Bildes verwendet wird.
mag (min)FilterModeFiltermodus, der beim Skalieren des Bildes verwendet wird.
anisotropy (1)numberMaximale Menge an anisotroper Filterung verwendet.

love.graphics.setFont

Setzen Sie eine bereits geladene Schriftart als die aktuelle Schriftart oder erstellen Sie eine neue aus der Datei und Größe.

Es wird empfohlen, dass Font-Objekte mit love.graphics.newFont in der Ladephase erstellt und dann in der Zeichnungsphase an diese Funktion übergeben werden.

love.graphics.setFont( font )

fontFontDas zu verwendende Font-Objekt.

love.graphics.setLineJoin

Setzt den Linienverknüpfungsstil.

love.graphics.setLineJoin( join )

joinLineJoinDas LineJoin zu benutzen.

love.graphics.setLineStyle

Bestimmt den Stil in dem Linien gezeichnet werden.

love.graphics.setLineStyle( style )

styleLineStyleDer Linienstil welcher benutzt werden soll.

love.graphics.setLineWidth

Bestimmt die Breite mit der Linien gezeichnet werden sollen.

love.graphics.setLineWidth( width )

widthnumberDie Breite der Linie.

love.graphics.setNewFont

Erstellt und setzt eine neue Schriftart.

font = love.graphics.setNewFont( filename, size )

fontFontDie neue Schriftart.
filenamestring / File / FileDataDer Dateipfad / Datei / FileData der Schriftart.
size (12)numberDie Größe der Schriftart.

love.graphics.setShader

Setzt oder setzt einen Shader als den aktuellen Pixeleffekt oder die Vertex-Shader zurück. Alle Zeichnungsoperationen bis zum nächsten love.graphics.setShader werden mit dem angegebenen Shader-Objekt gezeichnet.

Deaktiviert die Shader, wenn sie ohne Argumente aufgerufen werden.

love.graphics.setShader()

love.graphics.setShader( shader )

shaderShaderDer neue Shader.

love.graphics.setPointSize

Bestimmt die Größe mit welcher Punkte gezeichnet werden.

love.graphics.setPointSize( size )

sizenumberDie neue Größe.

love.graphics.setScissor

Setzt oder deaktiviert Schere.

Die Schere begrenzt den Zeichenbereich auf ein bestimmtes Rechteck. Dies betrifft alle grafischen Anrufe, einschließlich love.graphics.clear.

love.graphics.setScissor( x, y, width, height )

Limits the drawing area to a specified rectangle.

xnumberDie X-Koordinate der oberen linken Ecke.
ynumberDie Y-Koordinate der oberen linken Ecke.
widthnumberDie Breite des Clipping-Rechtecks.
heightnumberDie Höhe des Clipping-Rechtecks.

love.graphics.setScissor()

Sperrt Schere.

love.graphics.setStencilTest

Konfiguriert oder deaktiviert die Schablonentests.

Wenn die Schablonentests aktiviert sind, wird die Geometrie von allem, was danach gezeichnet wird, auf der Grundlage eines Vergleichs zwischen den Argumenten dieser Funktion und dem Schablonenwert jedes Pixels, das die Geometrie berührt, abgeschnitten / geschert. Die Schablonenwerte von Pixeln werden über love.graphics.stencil beeinflusst.

Jeder Canvas hat seine eigenen Per-Pixel-Schablonenwerte.

love.graphics.setStencilTest( comparemode, comparevalue )

comparemodeCompareModeDie Art des Vergleichs für jedes Pixel zu machen.
comparevaluenumberDer Wert, der beim Vergleich mit dem Schablonenwert jedes Pixels verwendet werden soll. Muss zwischen 0 und 255 liegen.

love.graphics.setStencilTest()

Schablone Tests deaktiviert.

love.graphics.setWireframe

Legt fest, ob Drahtgitterlinien beim Zeichnen verwendet werden.

Wireframe-Modus sollte nur zum Debuggen verwendet werden. Die Zeilen, die mit ihm gezeichnet wurden, verhalten sich nicht wie normale love.graphics Linien: ihre Breiten skalieren nicht mit den Koordinatentransformationen oder mit love.graphics.setLineWidth, und sie verwenden nicht die glatte LineStyle.

love.graphics.setWireframe( enable )

enablebooleanTrue, um den Wireframe-Modus beim Zeichnen zu aktivieren, false, um ihn zu deaktivieren.

love.graphics.shear

Schneidet das Koordinatensystem.

love.graphics.shear( kx, ky )

kxnumberDer Scherfaktor auf der x-Achse.
kynumberDer Scherfaktor auf der y-Achse.

love.graphics.stencil

Zeichnet die Geometrie als Schablone.

Die Geometrie, die von der mitgelieferten Funktion gezeichnet wird, setzt unsichtbare Schablonenwerte von Pixeln ein, anstatt Pixelfarben einzustellen. Die Schablonenwerte von Pixeln können wie eine Maske / Schablone fungieren - love.graphics.setStencilTest kann danach verwendet werden, um zu bestimmen, wie das weitere Rendering von den Schablonenwerten in jedem Pixel beeinflusst wird.

Jeder Canvas hat seine eigenen Per-Pixel-Schablonenwerte. Schablonenwerte liegen im Bereich von {0, 255}.

love.graphics.stencil( stencilfunction, action, value, keepvalues )

stencilfunctionfunctionFunktion, die Geometrie zeichnet. Die Schablonenwerte von Pixeln und nicht die Farbe jedes Pixels werden von der Geometrie beeinflusst.
action ("replace")StencilActionSo ändern Sie alle Schablonenwerte von Pixeln, die von dem, was in der Schablonenfunktion gezeichnet wird, berührt werden.
value (1)numberDer neue Schablonenwert, der für Pixel verwendet werden soll, wenn die "ersetzen" Schablonenaktion verwendet wird. Hat keine Wirkung mit anderen Schablonenaktionen. Muss zwischen 0 und 255 liegen.
keepvalues (false)booleanEs ist wahr, alte Schablonenwerte von Pixeln zu bewahren, falsch, um den Schablonenwert jedes Pixels auf 0 zu setzen, bevor die Schablonenfunktion ausgeführt wird. love.graphics.clear wird auch alle Schablonenwerte neu einstellen.

love.graphics.translate

Übersetzt das Koordinatensystem in zwei Dimensionen.

Wenn diese Funktion mit zwei Ziffern dx und dy aufgerufen wird, wirken alle nachfolgenden Zeichnungsvorgänge so ein, als seien ihre x- und y-Koordinaten x + dx und y + dy.

Maßstab und übersetzen sind keine kommutativen Operationen, daher rufen sie in verschiedenen Aufträgen wird das Ergebnis ändern.

Diese Änderung dauert, bis love.graphics.clear aufgerufen wird (was heißt automatisch vor love.draw in der default love.run-Funktion) oder ein love.graphics.pop kehrt zu einem vorherigen Koordinatensystemzustand zurück.

Das Übersetzen mit ganzen Zahlen verhindert das Reißen / Verschwimmen von Bildern und Zeichensätzen nach dem Übersetzen.

love.graphics.translate( dx, dy )

dxnumberDie Übersetzung relativ zur x-Achse.
dynumberDie Übersetzung relativ zur y-Achse.

AlignMode

center

Text mittig ausrichten.

left

Text links ausrichten.

right

Text rechts ausrichten.

justify

Text links oder rechts ausrichten.

ArcType

pie

Der Bogen ist wie ein Stück Kuchen gezeichnet, wobei der Bogenkreis mit dem Zentrum an seinen Endpunkten verbunden ist.

open

Die beiden Endpunkte des Bogenkreises sind nicht verbunden, wenn der Bogen als Linie gezeichnet wird. Behaves wie der "geschlossene" Bogen-Typ, wenn der Bogen im gefüllten Modus gezeichnet wird.

closed

Die beiden Endpunkte des Bogenkreises sind miteinander verbunden.

AreaSpreadDistribution

uniform

Uniforme Distribution.

normal

Normale (gauß'sche) Distribution.

ellipse

Einheitliche Verteilung in einer Ellipse.

none

Keine Distribution - Die Verteilung von Partikeln ist deaktiviert.

BlendAlphaMode

alphamultiply

Die RGB-Werte von dem, was gezeichnet wird, werden mit den Alpha-Werten dieser Farben beim Mischen multipliziert. Dies ist der Standard-Alpha-Modus.

premultiplied

Die RGB-Werte von dem, was gezeichnet wird, werden nicht mit den Alpha-Werten dieser Farben beim Mischen multipliziert. Für die meisten Blend-Modi, die mit diesem Alpha-Modus korrekt arbeiten, müssen die Farben eines gezeichneten Objekts ihre RGB-Werte mit ihren Alpha-Werten an einem gewissen Punkt ("premultiplied alpha") multipliziert haben.

BlendMode

alpha

Alpha-Modus ('normal').

replace

Ersetzender Modus.

screen

Bildschirm-Modus.

add

Die Pixelfarben von dem, was gezeichnet wird, werden den Pixelfarben hinzugefügt, die bereits auf dem Bildschirm sind. Das Alpha des Bildschirms wird nicht geändert.

subtract

Die Pixelfarben von dem, was gezeichnet wird, werden von den bereits auf dem Bildschirm befindlichen Pixelfarben subtrahiert. Das Alpha des Bildschirms wird nicht geändert.

multiply

Die Pixelfarben von dem, was gezeichnet wird, werden mit den Pixelfarben auf dem Bildschirm multipliziert (verdunkeln sie). Das Alpha der gezeichneten Objekte wird mit dem Alpha des Bildschirms multipliziert, anstatt zu bestimmen, wieviel die Farben auf dem Bildschirm betroffen sind, auch wenn der "Alphamultiply" BlendAlphaMode verwendet wird.

lighten

Die Pixelfarben von dem, was gezeichnet wird, werden mit den vorhandenen Pixelfarben verglichen, und der größere der beiden Werte für jede Farbkomponente wird verwendet. Funktioniert nur, wenn der "premultiplied" BlendAlphaMode in love.graphics.setBlendMode verwendet wird.

darken

Die Pixelfarben von dem, was gezeichnet wird, werden mit den vorhandenen Pixelfarben verglichen, und der kleinere der beiden Werte für jede Farbkomponente wird verwendet. Funktioniert nur, wenn der "premultiplied" BlendAlphaMode in love.graphics.setBlendMode verwendet wird.

CanvasFormat

normal

Das Standard-Canvas-Format - in der Regel ein Alias ​​für das rgba8-Format oder das srgb-Format, wenn das Gamma-korrekte Rendering in LÖVE 0.10.0 und neuer aktiviert ist.

hdr

Ein Format, das für einen hohen Dynamikbereich geeignet ist - ein Alias ​​für das rgba16f-Format, normalerweise.

rgba8

8 Bits pro Kanal (32 bpp) RGBA. Farbkanalwerte reichen von 0-255 (0-1 bei Shader).

rgba4

4 Bits pro Kanal (16 bpp) RGBA.

rgb5a1

RGB mit jeweils 5 Bits und einem 1-Bit-Alphakanal (16 bpp).

rgb565

RGB mit jeweils 5, 6 und 5 Bits (16 bpp). In diesem Format gibt es keinen Alphakanal.

rgb10a2

RGB mit 10 Bits pro Kanal und einem 2-Bit-Alphakanal (32 bpp).

rgba16f

Fließkomma RGBA mit 16 Bits pro Kanal (64 bpp). Farbwerte können von {-65504, +65504} reichen.

rgba32f

Fließkomma RGBA mit 32 Bits pro Kanal (128 bpp).

rg11b10f

Gleitpunkt RGB mit 11 Bits in den roten und grünen Kanälen und 10 Bits im blauen Kanal (32 bpp). Es gibt keinen Alphakanal. Farbwerte können von {0, +65024} reichen.

srgb

Das gleiche wie rgba8, aber das Canvas wird als im sRGB-Farbraum interpretiert. Alles, was auf die Leinwand gezogen wird, wird von linearem RGB zu sRGB umgewandelt. Wenn das Canvas gezeichnet wird (oder in einem Shader verwendet wird), wird es von sRGB zu linearem RGB decodiert. Dies reduziert die Farbbanding bei der gamma-korrekten Wiedergabe, da die sRGB-Codierung mehr Präzision als lineare RGB für dunklere Farben hat.

r8

Einkanaliges (rotes) Format (8 bpp).

rg8

Zwei Kanäle (rote und grüne Komponenten) mit 8 Bits pro Kanal (16 bpp).

r16f

Gleitkomma-Einkanalformat (16 bpp). Farbwerte können von {-65504, +65504} reichen.

rg16f

Gleitkomma-Zweikanal-Format mit 16 Bits pro Kanal (32 bpp). Farbwerte können von {-65504, +65504} reichen.

r32f

Gleitkomma-Einkanal-Format (32 bpp).

rg32f

Gleitkomma-Zweikanalformat mit 32 Bits pro Kanal (64 bpp).

CompareMode

equal

Der Schablonenwert des Pixels muss gleich dem gelieferten Wert sein.

notequal

Der Schablonenwert des Pixels darf nicht gleich dem gelieferten Wert sein.

less

Der Schablonenwert des Pixels muss kleiner sein als der angegebene Wert.

lequal

Der Schablonenwert des Pixels muss kleiner oder gleich dem gelieferten Wert sein.

gequal

Der Schablonenwert des Pixels muss größer oder gleich dem zugeführten Wert sein.

greater

Der Schablonenwert des Pixels muss größer sein als der angegebene Wert.

DrawMode

fill

Die Form ausfüllen.

line

Die Form als Umriss darstellen.

FilterMode

linear

Das Bild wird mit Linearer Interpolation skaliert.

nearest

Das Bild wird mit Nearest-Neighbor-Interpolation skaliert.

GraphicsFeature

clampzero

Ob der "clampzero" WrapMode unterstützt wird.

lighten

Ob die "Aufhellen" und "Dunkeln" BlendModes unterstützt werden.

multicanvasformats

Ob mehrere Canvases mit unterschiedlichen Formaten in demselben love.graphics.setCanvas-Aufruf verwendet werden können.

GraphicsLimit

pointsize

Die maximale Größe der Punkte.

texturesize

Die maximale Breite oder Höhe von Bildern und Leinwänden.

multicanvas

Die maximale Anzahl der gleichzeitig aktiven Leinwände (via love.graphics.setCanvas).

canvasmsaa

Die maximale Anzahl von Antialiasing-Samples für eine Leinwand.

LineJoin

miter

Die Enden der Liniensegmente sind schräg abgeschrägt, so dass sie sich nahtlos verbinden.

bevel

Keine Kappe auf die Enden der Liniensegmente angewendet.

none

Abflacht den Punkt, an dem sich Liniensegmente verbinden.

LineStyle

rough

Grobe Linien zeichnen.

smooth

Glatte Linien zeichnen.

MeshDrawMode

fan

Die Eckpunkte erzeugen eine "Fan" -Form, wobei der erste Eckpunkt als Hubpunkt fungiert. Kann leicht verwendet werden, um einfache konvexe Polygone zu zeichnen.

strip

Die Ecken bilden eine Reihe von verbundenen Dreiecken unter Verwendung der Ecken 1, 2, 3, dann 3, 2, 4 (beachten Sie die Reihenfolge), dann 3, 4, 5 und so weiter.

triangles

Die Ecken schaffen unverbundene Dreiecke.

points

Die Ecken werden als unverbundene Punkte gezeichnet (siehe love.graphics.setPointSize.)

ParticleInsertMode

top

Partikel werden an oberster Stelle auf die Liste der Partikel gesetzt.

bottom

Partikel werden an unterster Stelle auf die Liste der Partikel gesetzt.

random

Partikel werden an einer zufälligen Stelle in die Liste der Partikel eingefügt.

SpriteBatchUsage

dynamic

Der SpriteBatch wird sich mehrfach verändern.

static

Der SpriteBatch wird sich nicht verändern.

stream

Der SpriteBatch wird sich zwischen jedem Frame verändern.

StackType

transform

Der Transformationsstapel (love.graphics.translate, love.graphics.rotate, etc.)

all

Alle love.graphics Zustand, einschließlich Transformation Zustand.

StencilAction

replace

Der Schablonenwert eines Pixels wird durch den in love.graphics.stencil angegebenen Wert ersetzt, falls ein Objekt das Pixel berührt.

increment

Der Schablonenwert eines Pixels wird für jedes Objekt, das das Pixel berührt, um 1 erhöht. Wenn der Schablonenwert 255 erreicht, bleibt er bei 255.

decrement

Der Schablonenwert eines Pixels wird für jedes Objekt, das das Pixel berührt, um 1 dekrementiert. Wenn der Schablonenwert 0 erreicht, bleibt er bei 0.

incrementwrap

Der Schablonenwert eines Pixels wird für jedes Objekt, das das Pixel berührt, um 1 erhöht. Wenn ein Schablonenwert von 255 inkrementiert wird, wird er auf 0 gesetzt.

decrementwrap

Der Schablonenwert eines Pixels wird für jedes Objekt, das das Pixel berührt, um 1 dekrementiert. Wenn der Schablonenwert von 0 dekrementiert wird, wird er auf 255 gesetzt.

invert

Der Schablonenwert eines Pixels wird für jedes Objekt, das das Pixel berührt, bitweise invertiert. Wenn ein Schablonenwert von 0 invertiert wird, wird er 255.

WrapMode

clamp

Wie das Bild in einem Quad mit einer größeren Quad Größe als Bildgröße verpackt. Dies wirkt sich auch darauf aus, wie Meshes mit Texturkoordinaten, die außerhalb des Bereichs von {0, 1} liegen, gezeichnet werden und die von der Texel Shader-Funktion zurückgegebene Farbe bei der Verwendung von Texturkoordinaten außerhalb des Bereichs von {0, 1} verwendet wird.

repeat

Wiederholen Sie das Bild. Füllt das gesamte verfügbare Ausmaß.

mirroredrepeat

Wiederholen Sie die Textur und spiegeln sie jedes Mal, wenn es wiederholt. Kann bessere visuelle Ergebnisse erzielen als der Wiederholungsmodus, wenn die Textur nicht nahtlos kachelt.

clampzero

Klemme die Textur. Füllt den Bereich außerhalb des Normalbereichs der Textur mit transparentem schwarzem (oder opakem Schwarz für Texturen ohne Alphakanal).

Canvas

Ein Offscreen-Buffer welcher für das sogenannte "Off-screen Rendering" verwendet wird.

Ein Offscreen-Buffer ist ein Speicher, in dem Bildschirminhalt aufgebaut werden kann ohne diesen sofort dem Nutzer zu zeigen. Der gleichbedeutende Begriff "Canvas" (dt.: Leinwand) ist treffend gewählt. Vorstellen kann man sich das Ganze als Arbeitsfläche auf der man abseits des eigentlichen Bildschirminhalts den nächsten Inhalt vorbereiten kann. Ist diese Leinwand schließlich fertig bemalt, schickt man sie komplett an den Bildschirm.

Der Vorteil ist, dass man komplexe statische Szenen wie zum Beispiel Hintergründe, welche sich aus vielen einzelnen Bildern zusammensetzen zunächst in den Offscreen-Buffer schreiben und diesen dann schließlich komplett als eigene Einheit zeichnen kann. Das bedeutet, dass man anstatt vieler kleiner Zeichenoperationen nur noch eine einzige durchführen muss, was insbesondere die Performance deutlich positiv beeinflusst.

Ein Nachteil von Canvases ist, dass sie anfällig für das sogenannte power of 2 syndrome sind. Dies betrifft jedoch vor allem ältere Grafikkarten. Die meisten moderneren Grafikkarten, welche Offscreen-Buffer unterstützen, sollten auch non-PO2 Texturen unterstützen. Um sicher zu gehen, kann man dies aber auch mit love.graphics.isSupported("npot") überprüfen und den Nutzer gegebenenfalls mit einer Fehlermeldung informieren.

Constructors

Functions

Supertypes

Canvas:getDimensions

Gibt die Breite und Höhe des Canvas zurück.

width, height = Canvas:getDimensions()

widthnumberDie Breite des Canvas in Pixeln.
heightnumberDie Höhe des Canvas in Pixeln.

Canvas:getFilter

Gibt den Filtermodus des Canvas zurück.

min, mag, anisotropy = Canvas:getFilter()

minFilterModeDer Filter welcher beim Verkleinern des Canvas benutzt wird.
magFilterModeDer Filter welcher beim Vergrößern des Canvas benutzt wird.
anisotropynumberDer Maximalwert welcher zum anisotropen Filtern benutzt wird.

Canvas:getFormat

Ruft das Texturformat der Leinwand ab.

format = Canvas:getFormat()

formatCanvasFormatDas Format der Leinwand.

Canvas:getHeight

Gibt die Höhe des Canvas zurück.

height = Canvas:getHeight()

heightnumberDie Höhe des Canvas in Pixeln.

Canvas:getMSAA

Ruft die Anzahl der Multisample Antialiasing (MSAA) Samples ab, die beim Zeichnen auf die Leinwand verwendet werden.

Dies kann anders sein als die Nummer, die als Argument für love.graphics.newCanvas verwendet wird, wenn das System, das LÖVE läuft, diese Nummer nicht unterstützt.

samples = Canvas:getMSAA()

samplesnumberDie Anzahl der Multisample-Antialiasing-Samples, die von der Leinwand beim Zeichnen verwendet werden.

Canvas:getWidth

Gibt die Breite des Canvas zurück.

width = Canvas:getWidth()

widthnumberDie Breite des Canvas in Pixeln.

Canvas:getWrap

Gibt die Zeilenumbrucheigenschaften eines Canvas zurück.

Diese Funktion gibt die aktuellen horizontalen und vertikalen Zeilenumbruch-Modi für ein Canvas zurück.

horizontal, vertical = Canvas:getWrap()

horizontalWrapModeDer horizontale Zeilenumbruchmodus des Canvas.
verticalWrapModeDer vertikale Zeilenumbruchmodus des Canvas.

Canvas:newImageData

Generiert ImageData aus dem Inhalt der Leinwand.

data = Canvas:newImageData()

dataImageDataDie im Canvas gespeicherten Bilddaten.

data = Canvas:newImageData( x, y, width, height )

dataImageDataDie neue ImageData aus dem Canvas-Inhalt.
xnumberDie x-Achse der oberen linken Ecke des Bereichs innerhalb der Leinwand zu erfassen.
ynumberDie y-Achse der oberen linken Ecke des Bereichs innerhalb der Leinwand zu erfassen.
widthnumberDie Breite des Bereichs innerhalb der Leinwand zu erfassen.
heightnumberDie Höhe des Bereichs innerhalb der Leinwand zu erfassen.

Canvas:renderTo

Zeichnet mit Hilfe einer Funktion in einen Offscreen-Buffer.

Canvas:renderTo( func )

funcfunctionEine Funktion welche die erforderlichen Zeichenoperationen übernimmt.

Canvas:setFilter

Bestimmt den Filtermodus für ein Canvas.

Canvas:setFilter( min, mag, anisotropy )

minFilterModeDer Filter welcher beim Verkleinern des Canvas benutzt werden soll.
mag (min)FilterModeDer Filter welcher beim Vergrößern des Canvas benutzt werden soll.
anisotropy (1)numberDer Maximalwert welcher zum anisotropen Filtern benutzt werden soll.

Canvas:setWrap

Legt die Wrapping-Eigenschaften eines Canvas fest.

Diese Funktion legt fest, wie die Kanten eines Canvas behandelt werden, wenn es skaliert oder gedreht wird. Wenn der WrapMode auf "clamp" gesetzt ist, wird die Flanke nicht interpoliert. Wenn auf "Wiederholung" eingestellt ist, wird die Flanke mit den Pixeln auf der gegenüberliegenden Seite des Framebuffers interpoliert.

Canvas:setWrap( horizontal, vertical )

horizontalWrapModeHorizontaler Wickelmodus der Leinwand.
vertical (horizontal)WrapModeVertikaler Wickelmodus der Leinwand.

Font

Definiert das Aussehen von Charakteren welche auf den Bildschirm gezeichnet werden.

Constructors

Functions

Supertypes

Font:getAscent

Ruft den Aufstieg der Schriftart auf. Der Aufstieg überspannt den Abstand zwischen der Grundlinie und der Oberseite der Glyphe, die am weitesten von der Grundlinie entfernt ist.

ascent = Font:getAscent()

ascentnumberDer Aufstieg der Schrift in Pixel.

Font:getBaseline

Ruft die Grundlinie der Schriftart ab. Die meisten Skripte teilen sich den Begriff einer Grundlinie: eine imaginäre horizontale Linie, auf der sich Zeichen befinden. In einigen Skripten liegen Teile von Glyphen unterhalb der Grundlinie.

baseline = Font:getBaseline()

baselinenumberDie Grundlinie der Schrift in Pixel.

Font:getDescent

Ruft den Abstieg der Schriftart ab. Der Abstieg überspannt den Abstand zwischen der Grundlinie und der tiefsten absteigenden Glyphe in einer Schrift.

descent = Font:getDescent()

descentnumberDer Abstieg der Schrift in Pixeln.

Font:getFilter

Ruft den Filtermodus für eine Schriftart ab.

min, mag, anisotropy = Font:getFilter()

minFilterModeFiltermodus, der beim Minifizieren der Schriftart verwendet wird.
magFilterModeFiltermodus, der beim Vergrößern der Schriftart verwendet wird.
anisotropynumberMaximale Menge an anisotroper Filterung.

Font:getHeight

Ruft die Höhe der Schriftart ab. Die Höhe der Schriftart ist die Größe einschließlich beliebiger Abstand; die Höhe, die es braucht.

height = Font:getHeight()

heightnumberDie Höhe der Schrift in Pixel.

Font:getLineHeight

Gibt die Zeilenhöhe zurück.

Dies wird der Wert sein, welcher vorher mit Font:setLineHeight gesetzt wurde, ansonsten 1.0.

height = Font:getLineHeight()

heightnumberDie aktuelle Zeilenhöhe.

Font:getWidth

Bestimmt die horizontale Größe einer Textzeile. Unterstützt keine Zeilenumbrüche.

width = Font:getWidth( line )

widthnumberDie Breite der Linie.
linestringEine Textzeile.

Font:getWrap

Ruft die Formatierungsinformationen für Text ab, bei einer Umschlaggrenze.

Diese Funktion berücksichtigt die Zeilenumbrüche korrekt (d.h. \ n).

width, wrappedtext = Font:getWrap( text, wraplimit )

widthnumberDie maximale Breite des eingewickelten Textes.
wrappedtexttableEine Sequenz, die jede Textzeile enthält, die eingepackt wurde.
textstringDer Text, der eingepackt werden soll.
wraplimitnumberDie maximale Breite in Pixeln jeder Zeile, die Text vor dem Wrappen erlaubt ist.

Font:hasGlyphs

Ermittelt, ob die Schriftart ein bestimmtes Zeichen darstellen kann.

hasglyph = Font:hasGlyphs( character )

hasglyphbooleanOb die Schriftart die Glyphe durch das Zeichen darstellen kann.
characterstringEin Unicode-Zeichen.

hasglyph = Font:hasGlyphs( codepoint )

hasglyphbooleanOb die Schriftart die Glyphe durch die Codepoint-Nummer darstellen kann.
codepointnumberEine Unicode-Codepoint-Nummer.

Font:setFallbacks

Setzt die Fallback-Schriften. Wenn die Schrift keine Glyphe enthält, ersetzt sie die Glyphe aus den nächsten nachfolgenden Fallback-Schriften. Dies ist verwandt mit der Einstellung eines "font stack" in Cascading Style Sheets (CSS).

Font:setFallbacks( fallbackfont1, ... )

fallbackfont1FontDie erste Fallback-Schriftart.
...FontZusätzliche Fallback-Schriften.

Font:setFilter

Setzt den Filtermodus auf eine Schriftart.

Font:setFilter( min, mag, anisotropy )

minFilterModeWie skaliere ich eine Schriftart.
mag (min)FilterModeWie man eine Schriftart skaliert.
anisotropy (1)numberMaximale Menge an anisotroper Filterung.

Font:setLineHeight

Bestimmt die Zeilenhöhe des Font.

Wenn der Font gerendert wird, wird die tatsächliche Höhe von der Zeilenhöhe multipliziert mit der Höhe des Font bestimmt.

Der Standardwert für die Zeilenhöhe ist 1.0.

Font:setLineHeight( height )

heightnumberDie neue Zeilenhöhe.

Mesh

Ein zweidimensionales Polygonnetz zum Zeichnen von beliebig geformten Texturobjekten.

Constructors

Functions

Supertypes

Mesh:attachAttribute

Bringt ein Scheitelattribut von einem anderen Mesh auf dieses Mesh, für die Verwendung beim Zeichnen. Dies kann verwendet werden, um Vertex-Attributdaten zwischen mehreren verschiedenen Meshes zu teilen.

Mesh:attachAttribute( name, mesh )

namestringDer Name des Scheitelattributs zum Anhängen.
meshMeshDas Mesh, um das Scheitelattribut zu erhalten.

Mesh:getDrawMode

Ruft den Modus ab, der beim Zeichnen des Netzes verwendet wird.

mode = Mesh:getDrawMode()

modeMeshDrawModeDer Modus, der beim Zeichnen des Netzes verwendet wird.

Mesh:getDrawRange

Erhält den Bereich der Ecken, die beim Zeichnen des Netzes verwendet werden.

Wenn der Streckbereich des Mesh nicht zuvor mit Mesh: setDrawRange gesetzt wurde, wird diese Funktion nil zurückgeben.

min, max = Mesh:getDrawRange()

minnumberDer Index des ersten Scheitelpunktes, der beim Zeichnen verwendet wird, oder der Index des ersten Wertes in der Vertex-Map, der verwendet wird, wenn einer für dieses Mesh gesetzt ist.
maxnumberDer Index des letzten Scheitelpunktes, der beim Zeichnen verwendet wird, oder der Index des letzten Wertes in der Vertex-Map, der verwendet wird, wenn einer für dieses Mesh gesetzt ist.

Mesh:getTexture

Erhält die Textur (Bild oder Leinwand), die beim Zeichnen des Netzes verwendet wird.

texture = Mesh:getTexture()

textureTextureDas Bild oder die Leinwand, um das Mesh mit dem Zeichnen zu beschriften, oder nil, wenn keines gesetzt ist.

Mesh:getVertex

Ruft die Eigenschaften eines Scheitelpunktes im Mesh ab.

attributecomponent, ... = Mesh:getVertex( index )

attributecomponentnumberDie erste Komponente des ersten Scheitelattributs im angegebenen Scheitelpunkt.
...numberZusätzliche Komponenten aller Scheitelattribute im angegebenen Scheitelpunkt.
indexnumberDer Index des Scheitelpunktes, den du die Informationen abrufen möchtest.

x, y, u, v, r, g, b, a = Mesh:getVertex( index )

xnumberDie Position des Scheitelpunktes auf der x-Achse.
ynumberDie Position des Scheitelpunktes auf der y-Achse.
unumberDie horizontale Komponente der Texturkoordinate.
vnumberDie vertikale Komponente der Texturkoordinate.
rnumberDie rote Komponente der Farbe des Scheitels.
gnumberDie grüne Komponente der Farbe des Scheitels.
bnumberDie blaue Komponente der Farbe des Scheitels.
anumberDie Alpha-Komponente der Farbe des Scheitelpunktes.
indexnumberDer Index des Scheitelpunktes, den du die Informationen abrufen möchtest.

Mesh:getVertexAttribute

Ruft die Eigenschaften eines bestimmten Attributs innerhalb eines Scheitelpunktes im Mesh ab.

Meshes ohne ein benutzerdefiniertes Scheitelformat, das in love.graphics.newMesh angegeben ist, haben Position als ihr erstes Attribut, Texturkoordinaten als ihr zweites Attribut und Farbe als ihr drittes Attribut.

value1, value2, ... = Mesh:getVertexAttribute( vertexindex, attributeindex )

value1numberDer Wert der ersten Komponente des Attributs.
value2numberDer Wert der zweiten Komponente des Attributs.
...numberAlle zusätzlichen Scheitelattributkomponenten.
vertexindexnumberDer Index des zu modellen Scheitelpunktes
attributeindexnumberDer Index des Attributs innerhalb des Vertexs wird geändert.

Mesh:getVertexCount

Erhält die Gesamtzahl der Ecken im Mesh.

num = Mesh:getVertexCount()

numnumberDie Gesamtzahl der Ecken in diesem Mesh.

Mesh:getVertexFormat

Ruft das Scheitelformat ab, mit dem das Mesh erstellt wurde.

format = Mesh:getVertexFormat()

formattableDas Scheitelformat des Mesh, das eine Tabelle mit Tabellen für jedes Scheitelattribut des Mesh ist, wurde mit in Form von {attribute, ...} erstellt.
format.attributetableEine Tabelle, die den Namen des Attributs, den Datentyp und die Anzahl der Komponenten im Attribut enthält, in Form von {name, datatype, components}.
format....tableZusätzliche Scheitelattribute im Mesh.

Mesh:getVertexMap

Ruft die Scheitelkarte für das Mesh ab. Die Vertex-Karte beschreibt die Reihenfolge, in der die Ecken verwendet werden, wenn das Mesh gezeichnet wird. Die Eckpunkte, die Vertex-Karte und der Mesh-Draw-Modus arbeiten zusammen, um festzustellen, was genau auf dem Bildschirm angezeigt wird.

Wenn bisher keine Vertex-Map über Mesh gesetzt wurde: setVertexMap, dann wird diese Funktion nil in LÖVE 0.10.0+ oder eine leere Tabelle in 0.9.2 und älter zurückgeben.

map = Mesh:getVertexMap()

maptableEine Tabelle mit einer Liste von Scheitelindizes, die beim Zeichnen verwendet werden.

Mesh:isAttributeEnabled

Ermittelt, ob ein bestimmtes Scheitelattribut im Mesh aktiviert ist. Vertex-Daten aus deaktivierten Attributen werden beim Zeichnen des Mesh nicht verwendet.

enabled = Mesh:isAttributeEnabled( name )

enabledbooleanOb das Scheitelattribut beim Zeichnen dieses Mesh verwendet wird.
namestringDer Name des Scheitelattributs zum Aktivieren oder Deaktivieren.

Mesh:setAttributeEnabled

Aktiviert oder deaktiviert ein bestimmtes Scheitelattribut im Mesh. Vertex-Daten aus deaktivierten Attributen werden beim Zeichnen des Mesh nicht verwendet.

Mesh:setAttributeEnabled( name, enable )

namestringDer Name des Scheitelattributs zum Aktivieren oder Deaktivieren.
enablebooleanOb das Scheitelattribut beim Zeichnen dieses Mesh verwendet wird.

Mesh:setDrawMode

Setzt den Modus, der beim Zeichnen des Mesh verwendet wird.

Mesh:setDrawMode( mode )

modeMeshDrawModeDer Modus, der beim Zeichnen des Mesh verwendet wird.

Mesh:setDrawRange

Beschränkt die gezeichneten Ecken des Mesh auf eine Teilmenge der Summe.

Wenn eine Vertex-Map mit dem Mesh verwendet wird, setzt diese Methode eine Untermenge der Werte in dem Vertex-Map-Array, um anstelle einer Teilmenge der gesamten Eckpunkte im Mesh zu verwenden.

Wenn z. B. Mesh: setVertexMap (1, 2, 3, 1, 3, 4) und Mesh: setDrawRange (4, 6) aufgerufen werden, werden die Ecken 1, 3 und 4 gezeichnet.

Mesh:setDrawRange( min, max )

minnumberDer Index des ersten Scheitelpunktes, der beim Zeichnen verwendet wird, oder der Index des ersten Wertes in der Vertex-Map, die verwendet werden soll, wenn man für dieses Mesh gesetzt ist.
maxnumberDer Index des letzten Scheitelpunktes, der beim Zeichnen verwendet wird, oder der Index des letzten Wertes in der Vertex-Map, der verwendet werden soll, wenn man für dieses Mesh gesetzt ist.

Mesh:setDrawRange()

Allows all vertices in the Mesh to be drawn.

Mesh:setTexture

Legt die Textur (Bild oder Leinwand) fest, die beim Zeichnen des Netzes verwendet wird.

Wenn Sie ohne Argument aufgerufen werden, wird die Textur deaktiviert. Untexturierte Maschen haben standardmäßig eine weiße Farbe.

Mesh:setTexture()

Mesh:setTexture( texture )

textureTextureDas Bild oder Canvas, um das Mesh mit dem Zeichnen zu beschriften.

Mesh:setVertex

Setzt die Eigenschaften eines Scheitelpunktes im Mesh.

Mesh:setVertex( index, attributecomponent, ... )

indexnumberDer Index des Scheitelpunktes, den du ändern möchtest.
attributecomponentnumberDie erste Komponente des ersten Scheitelattributs im angegebenen Scheitelpunkt.
...numberZusätzliche Komponenten aller Scheitelattribute im angegebenen Scheitelpunkt.

Mesh:setVertex( index, vertex )

indexnumberDer Index des Scheitelpunktes, den du ändern möchtest.
vertextableEine Tabelle mit Vertex-Informationen, in Form von {attributecomponent, ...}.
vertex.attributecomponentnumberDie erste Komponente des ersten Scheitelattributs im angegebenen Scheitelpunkt.
vertex....numberZusätzliche Komponenten aller Scheitelattribute im angegebenen Scheitelpunkt.

Mesh:setVertex( index, x, y, u, v, r, g, b, a )

Legt die Vertex - Bestandteile a Mesh, der nicht mit einem entstanden benutzerdefinierte Vertex - Format.

indexnumberDer Index des Scheitelpunktes, den du ändern möchtest.
xnumberDie Position des Scheitelpunktes auf der x-Achse.
ynumberDie Position des Scheitelpunktes auf der y-Achse.
unumberDie horizontale Komponente der Texturkoordinate.
vnumberDie vertikale Komponente der Texturkoordinate.
r (255)numberDie rote Komponente der Farbe des Scheitels.
g (255)numberDie grüne Komponente der Farbe des Scheitels.
b (255)numberDie blaue Komponente der Farbe des Scheitels.
a (255)numberDie Alpha-Komponente der Farbe des Scheitelpunktes.

Mesh:setVertex( index, vertex )

Sets the vertex components of a Mesh that wasn't created with a custom vertex format.

indexnumberDer Index des Scheitelpunktes, den du ändern möchtest.
vertextableEine Tabelle mit Scheitelpunktinformationen.
vertex.[1]numberDie Position des Scheitelpunktes auf der x-Achse.
vertex.[2]numberDie Position des Scheitelpunktes auf der y-Achse.
vertex.[3]numberDie horizontale Komponente der Texturkoordinate.
vertex.[4]numberDie vertikale Komponente der Texturkoordinate.
vertex.[5] (255)numberDie rote Komponente der Farbe des Scheitels.
vertex.[6] (255)numberDie grüne Komponente der Farbe des Scheitels.
vertex.[7] (255)numberDie blaue Komponente der Farbe des Scheitels.
vertex.[8] (255)numberDie Alpha-Komponente der Farbe des Scheitelpunktes.

Mesh:setVertexAttribute

Setzt die Eigenschaften eines bestimmten Attributs innerhalb eines Scheitelpunktes im Mesh.

Meshes ohne ein benutzerdefiniertes Scheitelformat, das in love.graphics.newMesh angegeben ist, haben Position als ihr erstes Attribut, Texturkoordinaten als ihr zweites Attribut und Farbe als ihr drittes Attribut.

Mesh:setVertexAttribute( vertexindex, attributeindex, value1, value2, ... )

vertexindexnumberDer Index des zu modellen Scheitelpunktes
attributeindexnumberDer Index des Attributs innerhalb des Vertexs wird geändert.
value1numberDer Wert der ersten Komponente des Attributs.
value2numberDer Wert der zweiten Komponente des Attributs.
...numberAlle zusätzlichen Scheitelattributkomponenten.

Mesh:setVertexMap

Setzt die Scheitelkarte für das Mesh. Die Vertex-Karte beschreibt die Reihenfolge, in der die Ecken verwendet werden, wenn das Mesh gezeichnet wird. Die Eckpunkte, die Vertex-Karte und der Mesh-Draw-Modus arbeiten zusammen, um festzustellen, was genau auf dem Bildschirm angezeigt wird.

Die Vertex-Karte ermöglicht es Ihnen, Eckpunkte beim Zeichnen neu zu ordnen oder wiederzuverwenden, ohne die tatsächlichen Scheitelparameter zu ändern oder die Eckpunkte zu duplizieren. Es ist besonders nützlich, wenn es mit verschiedenen Mesh Draw Modes kombiniert wird.

Mesh:setVertexMap( map )

maptableEine Tabelle, die eine Liste von Vertex-Indizes enthält, die beim Zeichnen verwendet werden sollen. Die Werte müssen im Bereich von {1, Mesh: getVertexCount ()} liegen.

Mesh:setVertexMap( vi1, vi2, vi3 )

vi1numberDer Index des ersten Scheitelpunktes, der beim Zeichnen verwendet wird. Muss im Bereich von {1, Mesh: getVertexCount ()} sein.
vi2numberDer Index des zweiten Scheitelpunktes, der beim Zeichnen verwendet wird.
vi3numberDer Index des dritten Scheitelpunktes, der beim Zeichnen verwendet wird.

Mesh:setVertices

Ersetzt eine Reihe von Ecken im Mesh mit neuen. Die Gesamtzahl der Ecken in einem Mesh kann nach der Erstellung nicht geändert werden.

Mesh:setVertices( vertices )

verticestableDie Tabelle gefüllt mit Scheitelpunkttabellen für jeden Scheitelpunkt, in Form von {Scheitelpunkt, ...} wobei jeder Scheitelpunkt eine Tabelle in Form von {attributecomponent, ...} ist.
vertices.attributecomponentnumberDie erste Komponente des ersten Scheitelattributs im Scheitelpunkt.
vertices....numberZusätzliche Komponenten aller Scheitelattribute im Scheitelpunkt.
vertices.startvertex (1)numberDer Index des ersten Scheitelpunktes zu ersetzen.

Mesh:setVertices( vertices )

Sets the vertex components of a Mesh that wasn't created with a custom vertex format.

verticestableDie Tabelle gefüllt mit Scheitel-Informationstabellen für jeden Scheitel wie folgt:
vertices.[1]numberDie Position des Scheitelpunktes auf der x-Achse.
vertices.[2]numberDie Position des Scheitelpunktes auf der y-Achse.
vertices.[3]numberDie horizontale Komponente der Texturkoordinate. Texture-Koordinaten liegen normalerweise im Bereich von {0, 1}, können aber größer oder kleiner sein (siehe WrapMode).
vertices.[4]numberDie vertikale Komponente der Texturkoordinate. Texture-Koordinaten liegen normalerweise im Bereich von {0, 1}, können aber größer oder kleiner sein (siehe WrapMode).
vertices.[5] (255)numberDie rote Farbkomponente.
vertices.[6] (255)numberDie grüne Farbkomponente.
vertices.[7] (255)numberDie blaue Farbkomponente.
vertices.[8] (255)numberDie Alpha-Farbkomponente.

Image

Ein Bild, welches gezeichnet werden kann.

Constructors

Functions

Supertypes

Image:getData

Ruft die ursprüngliche ImageData oder CompressedImageData ab, die zum Erstellen des Bildes verwendet wird.

Alle Bilder verweisen auf die Daten, die zum Erstellen des Bildes verwendet wurden. Die Daten werden verwendet, um das Bild zu aktualisieren, wenn love.window.setMode oder Image: Refresh aufgerufen wird.

data = Image:getData()

dataImageDataDie ursprüngliche ImageData verwendet, um das Bild zu erstellen, wenn das Bild nicht komprimiert ist.

data = Image:getData()

dataCompressedImageDataDie ursprüngliche CompressedImageData verwendet, um das Bild zu erstellen, wenn das Bild komprimiert ist.

Image:getDimensions

Ruft die Breite und Höhe des Bildes ab.

width, height = Image:getDimensions()

widthnumberDie Breite des Bildes in Pixel.
heightnumberDie Höhe des Bildes in Pixel.

Image:getFilter

Gibt den Filtermodus eines Bildes zurück.

min, mag = Image:getFilter()

minFilterModeBenutzter Filtermodus beim Verkleinern eines Bildes.
magFilterModeBenutzter Filtermodus beim Vergrößern eines Bildes.

Image:getFlags

Ruft die Flags ab, die beim Erstellen des Bildes verwendet wurden.

flags = Image:getFlags()

flagstableEin Tisch mit ImageFlag-Tasten.

Image:getHeight

Ruft die Höhe des Bildes ab.

height = Image:getHeight()

heightnumberDie Höhe des Bildes in Pixel.

Image:getMipmapFilter

Ruft den Mipmap-Filtermodus für ein Bild ab.

mode, sharpness = Image:getMipmapFilter()

modeFilterModeDer Filtermodus wird zwischen den Mipmap-Ebenen verwendet. Wenn die Mipmap-Filterung nicht aktiviert ist.
sharpnessnumberWert, der verwendet wird, um festzustellen, ob das Bild mehr oder weniger detaillierte Mipmap-Ebenen verwenden sollte als normal beim Zeichnen.

Image:getWidth

Ruft die Breite des Bildes ab.

width = Image:getWidth()

widthnumberDie Breite des Bildes in Pixel.

Image:getWrap

Ruft die Wrapping-Eigenschaften eines Bildes ab.

Diese Funktion gibt die aktuell eingestellten horizontalen und vertikalen Wickelmodi für das Bild zurück.

horizontal, vertical = Image:getWrap()

horizontalWrapModeHorizontaler Wickelmodus des Bildes.
verticalWrapModeVertikaler Wickelmodus des Bildes.

Image:refresh

Aktualisiert den Inhalt des Bildes aus der ImageData oder CompressedImageData, die zum Erstellen des Bildes verwendet wird.

Image:refresh()

Image:refresh( x, y, width, height )

xnumberDie x-Achse der oberen linken Ecke des Bereichs innerhalb des Bildes zum erneuten Laden.
ynumberDie y-Achse der oberen linken Ecke des Bereichs innerhalb des Bildes zum erneuten Laden.
widthnumberDie Breite des Bereichs innerhalb des Bildes zum erneuten Laden.
heightnumberDie Höhe des Bereichs innerhalb des Bildes zum erneuten Laden.

Image:setFilter

Setzt den Filtermodus auf ein Bild.

Image:setFilter( min, mag )

minFilterModeSo skaliere ich ein Bild ab.
mag (min)FilterModeWie man ein Bild skaliert.

Image:setMipmapFilter

Setzt den Mipmap-Filtermodus für ein Bild.

Mipmapping ist nützlich, wenn ein Bild in einem reduzierten Maßstab gezeichnet wird. Es kann die Leistung verbessern und Aliasing-Probleme reduzieren.

In 0.10.0 und neuer muss das Image mit dem mipmaps-Flag erstellt werden, das für den mipmap-Filter aktiviert ist.

Image:setMipmapFilter( filtermode, sharpness )

filtermodeFilterModeDer Filter-Modus, der zwischen den Mipmap-Ebenen verwendet wird. "nächstes" wird oft bessere Leistung geben.
sharpness (0)numberEin positiver Schärfewert macht das Bild bei der Zeichnung auf eine detailliertere Mipmap-Ebene, auf Kosten der Leistung. Ein negativer Wert ist umgekehrt.

Image:setMipmapFilter()

Deaktiviert Mipmap - Filterung.

Image:setWrap

Legt die Wrapping-Eigenschaften eines Bildes fest.

Diese Funktion setzt die Art und Weise, wie ein Bild wiederholt wird, wenn es mit einem Quad gezeichnet wird, das größer ist als das Ausmaß des Bildes. Ein Bild kann in horizontaler und vertikaler Richtung geklemmt oder eingestellt werden. Klemmte Bilder erscheinen nur einmal, aber wiederholte wiederholen so viele Male wie es Platz im Quad gibt.

Wenn Sie eine Quad verwenden, die größer ist als die Bildausdehnung und verwenden Sie keine wiederholte Fliesen, kann es eine unerwünschte visuelle Wirkung des Bildes Stretching den ganzen Weg, um die Quad zu füllen. Wenn dies der Fall ist, setzen Sie Image: getWrap ("repeat", "repeat") für alle zu wiederholenden Bilder und die Verwendung von Quad mit entsprechender Größe führt zum besten visuellen Erscheinungsbild.

Image:setWrap( horizontal, vertical )

horizontalWrapModeHorizontaler Wickelmodus des Bildes.
vertical (horizontal)WrapModeVertikaler Wickelmodus des Bildes.

ParticleSystem

Partikelsysteme können dazu benutzt werden viele verschiedene Effekte wie Feuer oder Rauch zu erzeugen.

Constructors

Functions

Supertypes

ParticleSystem:clone

Erstellt eine identische Kopie eines bereits existierenden Partikelsystems.

particlesystem = ParticleSystem:clone()

particlesystemParticleSystemEine neue identische Kopie des Partikelsystems.

ParticleSystem:emit

Stößt einen Partikelhaufen aus.

ParticleSystem:emit( numparticles )

numparticlesnumberDie Anzahl von Partikeln welche ausgestoßen werden sollen. Die Nummer wird automatisch verringert, wenn sie die erlaubte Anzahl übersteigt.

ParticleSystem:getCount

Gibt die Anzahl von Partikeln zurück, welche gerade im System sind.

count = ParticleSystem:getCount()

countnumberDie Anzahl der "lebenden" Partikel.

ParticleSystem:getAreaSpread

Ruft die flächenbasierten Spawn-Parameter für die Partikel ab.

distribution, dx, dy = ParticleSystem:getAreaSpread()

distributionAreaSpreadDistributionDie Art der Verteilung für neue Partikel.
dxnumberDer maximale Laichabstand vom Emitter entlang der x-Achse zur gleichmäßigen Verteilung oder die Standardabweichung entlang der x-Achse zur Normalverteilung.
dynumberDer maximale Laichabstand vom Emitter entlang der y-Achse zur gleichmäßigen Verteilung oder die Standardabweichung entlang der y-Achse zur Normalverteilung.

ParticleSystem:getBufferSize

Ruft die Größe des Puffers ab (die maximal zulässige Partikelmenge im System).

buffer = ParticleSystem:getBufferSize()

buffernumberDie Puffergröße.

ParticleSystem:getColors

Erhält eine Reihe von Farben, um sich auf das Partikel-Sprite zu bewerben. Das Partikelsystem wird zwischen jeder Farbe gleichmäßig über die Lebensdauer des Teilchens interpolieren. Die Farbmodulation muss für diese Funktion aktiviert werden.

Argumente werden in Gruppen von vier übergeben, die die Komponenten des gewünschten RGBA-Werts darstellen. Es muss mindestens eine Farbe angegeben werden. Es können maximal acht verwendet werden.

r1, g1, b1, a1, r2, g2, b2, a2, ... = ParticleSystem:getColors()

r1numberErste Farbe, rote Komponente (0-255).
g1numberErste Farbe, grüne Komponente (0-255).
b1numberErste Farbe, blaue Komponente (0-255).
a1numberErste Farbe, Alphakomponente (0-255).
r2numberZweite Farbe, rote Komponente (0-255).
g2numberZweite Farbe, grüne Komponente (0-255).
b2numberZweite Farbe, blaue Komponente (0-255).
a2numberZweite Farbe, Alphakomponente (0-255).
...numberEtc.

ParticleSystem:getDirection

Ermittelt die Richtung, in die die Partikel ausgegeben werden.

direction = ParticleSystem:getDirection()

directionnumberDie Richtung der Teilchen (im Bogenmaß).

ParticleSystem:getEmissionRate

Erhält die Menge der pro Sekunde emittierten Partikel.

rate = ParticleSystem:getEmissionRate()

ratenumberDie Menge der Teilchen pro Sekunde.

ParticleSystem:getInsertMode

Ruft den Modus auf, wenn das ParticleSystem neue Partikel hinzufügt.

mode = ParticleSystem:getInsertMode()

modeParticleInsertModeDer Modus, der verwendet werden soll, wenn das Partikelsystem neue Partikel hinzufügt.

ParticleSystem:getLinearAcceleration

Ruft die lineare Beschleunigung (Beschleunigung entlang der x- und y-Achsen) für Partikel auf.

Jedes erzeugte Partikel beschleunigt sich entlang der x- und y-Achsen zwischen xmin, ymin und xmax, ymax.

xmin, ymin, xmax, ymax = ParticleSystem:getLinearAcceleration()

xminnumberDie minimale Beschleunigung entlang der x-Achse
yminnumberDie minimale Beschleunigung entlang der y-Achse.
xmaxnumberDie maximale Beschleunigung entlang der x-Achse
ymaxnumberDie maximale Beschleunigung entlang der y-Achse

ParticleSystem:getLinearDamping

Ermittelt die Menge der linearen Dämpfung (konstante Verzögerung) für Partikel.

min, max = ParticleSystem:getLinearDamping()

minnumberDie minimale lineare Dämpfung, die auf Partikel angewendet wird.
maxnumberDie maximale Menge der linearen Dämpfung auf Partikel angewendet.

ParticleSystem:getEmitterLifetime

Erreicht, wie lange das Partikelsystem Partikel emittieren sollte (wenn -1 dann emittiert es Partikel für immer).

life = ParticleSystem:getEmitterLifetime()

lifenumberDie Lebensdauer des Emitters (in Sekunden).

ParticleSystem:getOffset

Holen Sie sich die Offback-Position, die das Partikel-Sprite umgedreht wird. Wenn diese Funktion nicht verwendet wird, drehen sich die Partikel um ihre Mitte.

x, y = ParticleSystem:getOffset()

xnumberDie x-Koordinate des Rotations-Offens.
ynumberDie y-Koordinate des Rotations-Offens.

ParticleSystem:getParticleLifetime

Erhält das Leben der Partikel.

min, max = ParticleSystem:getParticleLifetime()

minnumberDie Mindestlebensdauer der Partikel (Sekunden).
max (min)numberDie maximale Lebensdauer der Partikel (Sekunden).

ParticleSystem:getQuads

Ruft die Reihe der Quads für die Partikel-Sprites verwendet.

quads = ParticleSystem:getQuads()

quadstableEine Tabelle mit den verwendeten Quads.

ParticleSystem:getPosition

Ruft die Position des Emitters ab.

x, y = ParticleSystem:getPosition()

xnumberPosition entlang der x-Achse.
ynumberPosition auf y-Achse.

ParticleSystem:getRadialAcceleration

Holen Sie sich die radiale Beschleunigung (weg vom Emitter).

min, max = ParticleSystem:getRadialAcceleration()

minnumberDie minimale beschleunigung
max (min)numberDie maximale Beschleunigung.

ParticleSystem:getRotation

Erhält die Rotation des Bildes bei der Teilchenbildung (im Bogenmaß).

min, max = ParticleSystem:getRotation()

minnumberDer minimale Anfangswinkel (Bogenmaß).
max (min)numberDer maximale Anfangswinkel (Bogenmaß).

ParticleSystem:getSizes

Erhält eine Reihe von Größen, mit denen ein Partikel-Sprite skaliert werden kann. 1,0 ist normale Größe. Das Partikelsystem wird zwischen jeder Größe gleichmäßig über die Lebensdauer des Teilchens interpolieren.

Mindestens eine Größe muss angegeben werden. Es können maximal acht verwendet werden.

size1, size2, ... = ParticleSystem:getSizes()

size1numberDie erste Größe.
size2numberDie zweite Größe.
...numberEtc.

ParticleSystem:getSizeVariation

Erhält den Grad der Variation (0 bedeutet keine Variation und 1 bedeutet volle Variation zwischen Anfang und Ende).

variation = ParticleSystem:getSizeVariation()

variationnumberDer Grad der Variation (0 bedeutet keine Variation und 1 bedeutet volle Variation zwischen Anfang und Ende).

ParticleSystem:getSpeed

Erreicht die Geschwindigkeit der Partikel.

min, max = ParticleSystem:getSpeed()

minnumberDie minimale lineare Geschwindigkeit der Partikel.
max (min)numberDie maximale lineare Geschwindigkeit der Partikel.

ParticleSystem:getSpin

Erhält den Spin des Sprites.

min, max = ParticleSystem:getSpin()

minnumberDer minimale Spin (Bogenmaß pro Sekunde).
max (min)numberDer maximale Spin (Bogenmaß pro Sekunde).

ParticleSystem:getSpinVariation

Erhält den Grad der Variation (0 bedeutet keine Variation und 1 bedeutet volle Variation zwischen Anfang und Ende).

variation = ParticleSystem:getSpinVariation()

variationnumberDer Grad der Variation (0 bedeutet keine Variation und 1 bedeutet volle Variation zwischen Anfang und Ende).

ParticleSystem:getSpread

Ermittelt die Menge der Ausbreitung für das System.

spread = ParticleSystem:getSpread()

spreadnumberDie Menge der Ausbreitung (Bogenmaß).

ParticleSystem:getTexture

Ruft das Bild oder die Leinwand ab, das ausgegeben werden soll.

texture = ParticleSystem:getTexture()

textureTextureEin Bild oder Leinwand für das Teilchen zu verwenden.

ParticleSystem:getTangentialAcceleration

Ermittelt die tangentiale Beschleunigung (Beschleunigung senkrecht zur Partikelrichtung).

min, max = ParticleSystem:getTangentialAcceleration()

minnumberDie minimale beschleunigung
max (min)numberDie maximale Beschleunigung.

ParticleSystem:hasRelativeRotation

Ermittelt, ob Teilchenwinkel und Rotationen relativ zu ihren Geschwindigkeiten sind. Wenn sie aktiviert sind, werden die Teilchen auf den Winkel ihrer Geschwindigkeiten ausgerichtet und drehen sich relativ zu diesem Winkel.

enabled = ParticleSystem:hasRelativeRotation()

enabledbooleanTrue, wenn die relative Partikelrotation aktiviert ist, false, wenn sie deaktiviert ist.

ParticleSystem:isActive

Überprüft, ob das Partikelsystem aktiv Partikel emittiert.

active = ParticleSystem:isActive()

activebooleanTrue, wenn das System aktiv ist, false anders.

ParticleSystem:isPaused

Überprüft, ob das Partikelsystem pausiert ist.

paused = ParticleSystem:isPaused()

pausedbooleanWahr, wenn das System pausiert ist, sonst false.

ParticleSystem:isStopped

Überprüft, ob das Partikelsystem gestoppt wird.

stopped = ParticleSystem:isStopped()

stoppedbooleanWahr, wenn das System gestoppt wird, falsch anders.

ParticleSystem:moveTo

Bewegt die Position des Emitters. Dies führt zu einem glatteren Partikel-Laichverhalten, als wenn ParticleSystem: setPosition jedes Frame verwendet wird.

ParticleSystem:moveTo( x, y )

xnumberPosition entlang der x-Achse.
ynumberPosition auf y-Achse.

ParticleSystem:pause

Pausiert den Partikel-Emitter.

ParticleSystem:pause()

ParticleSystem:reset

Setzt den Partikel-Emitter zurück, entfernt alle vorhandenen Partikel und setzt den Lebensdauer-Zähler zurück.

ParticleSystem:reset()

ParticleSystem:setAreaSpread

Setzt flächenbasierte Spawn-Parameter für die Partikel. Neu erzeugte Partikel werden in einem Bereich um den Emitter auf der Grundlage der Parameter zu dieser Funktion entstehen.

ParticleSystem:setAreaSpread( distribution, dx, dy )

distributionAreaSpreadDistributionDie Art der Verteilung für neue Partikel.
dxnumberDer maximale Laichabstand vom Emitter entlang der x-Achse zur gleichmäßigen Verteilung oder die Standardabweichung entlang der x-Achse zur Normalverteilung.
dynumberDer maximale Laichabstand vom Emitter entlang der y-Achse zur gleichmäßigen Verteilung oder die Standardabweichung entlang der y-Achse zur Normalverteilung.

ParticleSystem:setBufferSize

Setzt die Größe des Puffers (die maximal zulässige Partikelmenge im System).

ParticleSystem:setBufferSize( buffer )

buffernumberDie Puffergröße.

ParticleSystem:setColors

Setzt eine Reihe von Farben, um sich auf das Partikel-Sprite zu bewerben. Das Partikelsystem wird zwischen jeder Farbe gleichmäßig über die Lebensdauer des Teilchens interpolieren. Die Farbmodulation muss für diese Funktion aktiviert werden.

Argumente werden in Gruppen von vier übergeben, die die Komponenten des gewünschten RGBA-Werts darstellen. Es muss mindestens eine Farbe angegeben werden. Es können maximal acht verwendet werden.

ParticleSystem:setColors( r1, g1, b1, a1, r2, g2, b2, a2, ... )

r1numberErste Farbe, rote Komponente (0-255).
g1numberErste Farbe, grüne Komponente (0-255).
b1numberErste Farbe, blaue Komponente (0-255).
a1numberErste Farbe, Alphakomponente (0-255).
r2numberZweite Farbe, rote Komponente (0-255).
g2numberZweite Farbe, grüne Komponente (0-255).
b2numberZweite Farbe, blaue Komponente (0-255).
a2numberZweite Farbe, Alphakomponente (0-255).
...numberEtc.

ParticleSystem:setDirection

Setzt die Richtung, in die die Partikel ausgegeben werden.

ParticleSystem:setDirection( direction )

directionnumberDie Richtung der Teilchen (im Bogenmaß).

ParticleSystem:setEmissionRate

Setzt die Menge der pro Sekunde emittierten Partikel.

ParticleSystem:setEmissionRate( rate )

ratenumberDie Menge der Teilchen pro Sekunde.

ParticleSystem:setEmitterLifetime

Legt fest, wie lange das Partikelsystem Partikel emittieren muss (wenn -1 dann emittiert es Partikel für immer).

ParticleSystem:setEmitterLifetime( life )

lifenumberDie Lebensdauer des Emitters (in Sekunden).

ParticleSystem:setInsertMode

Setzt den Modus, der verwendet werden soll, wenn das ParticleSystem neue Partikel hinzufügt.

ParticleSystem:setInsertMode( mode )

modeParticleInsertModeDer Modus, der verwendet werden soll, wenn das Partikelsystem neue Partikel hinzufügt.

ParticleSystem:setLinearAcceleration

Stellt die lineare Beschleunigung (Beschleunigung entlang der x- und y-Achse) für Partikel ein.

Jedes erzeugte Partikel beschleunigt sich entlang der x- und y-Achsen zwischen xmin, ymin und xmax, ymax.

ParticleSystem:setLinearAcceleration( xmin, ymin, xmax, ymax )

xminnumberDie minimale Beschleunigung entlang der x-Achse
ymin (0)numberDie minimale Beschleunigung entlang der y-Achse.
xmax (xmin)numberDie maximale Beschleunigung entlang der x-Achse
ymax (ymin)numberDie maximale Beschleunigung entlang der y-Achse

ParticleSystem:setLinearDamping

Stellt den Betrag der linearen Dämpfung (konstante Verzögerung) für Partikel ein.

ParticleSystem:setLinearDamping( min, max )

minnumberDie minimale lineare Dämpfung, die auf Partikel angewendet wird.
maxnumberDie maximale Menge der linearen Dämpfung auf Partikel angewendet.

ParticleSystem:setOffset

Setzen Sie die Offset-Position, die das Partikel-Sprite umgedreht wird. Wenn diese Funktion nicht verwendet wird, drehen sich die Partikel um ihre Mitte.

ParticleSystem:setOffset( x, y )

xnumberDie x-Koordinate des Rotationsversatzes
ynumberDie y-Koordinate des Rotationsversatzes

ParticleSystem:setParticleLifetime

Setzt die Lebensdauer der Partikel.

ParticleSystem:setParticleLifetime( min, max )

minnumberDie Mindestlebensdauer der Partikel (Sekunden).
max (min)numberDie maximale Lebensdauer der Partikel (Sekunden).

ParticleSystem:setPosition

Stellt die Position des Emitters ein.

ParticleSystem:setPosition( x, y )

xnumberPosition entlang der x-Achse.
ynumberPosition auf y-Achse.

ParticleSystem:setQuads

Setzt eine Reihe von Quads für die Partikel-Sprites zu verwenden. Partikel wählen aus der Liste ein Quad aus der Liste, das auf der aktuellen Lebensdauer des Partikels basiert und die Verwendung von animierten Sprite-Blättern mit ParticleSystems ermöglicht.

ParticleSystem:setQuads( quad1, quad2 )

quad1QuadDie erste Quad zu verwenden.
quad2QuadDie zweite Quad zu verwenden.

ParticleSystem:setQuads( quads )

quadstableEine Tabelle mit den Quads zu verwenden.

ParticleSystem:setRadialAcceleration

Stellen Sie die radiale Beschleunigung (weg vom Emitter) ein.

ParticleSystem:setRadialAcceleration( min, max )

minnumberDie minimale beschleunigung
max (min)numberDie maximale Beschleunigung.

ParticleSystem:setRelativeRotation

Stellt fest, ob Teilchenwinkel und Rotationen relativ zu ihren Geschwindigkeiten sind. Wenn sie aktiviert sind, werden die Teilchen auf den Winkel ihrer Geschwindigkeiten ausgerichtet und drehen sich relativ zu diesem Winkel.

ParticleSystem:setRelativeRotation( enable )

enablebooleanTrue, um die relative Partikelrotation zu aktivieren, false, um sie zu deaktivieren.

ParticleSystem:setRotation

Setzt die Rotation des Bildes auf die Partikelbildung (im Bogenmaß).

ParticleSystem:setRotation( min, max )

minnumberDer minimale Anfangswinkel (Bogenmaß).
max (min)numberDer maximale Anfangswinkel (Bogenmaß).

ParticleSystem:setSizes

Setzt eine Reihe von Größen, um eine Teilchen-Sprite zu skalieren. 1,0 ist normale Größe. Das Partikelsystem wird zwischen jeder Größe gleichmäßig über die Lebensdauer des Teilchens interpolieren.

Mindestens eine Größe muss angegeben werden. Es können maximal acht verwendet werden.

ParticleSystem:setSizes( size1, size2, ... )

size1numberDie erste Größe.
size2numberDie zweite Größe.
...numberEtc.

ParticleSystem:setSizeVariation

Setzt den Grad der Variation (0 bedeutet keine Variation und 1 bedeutet volle Variation zwischen Start und Ende).

ParticleSystem:setSizeVariation( variation )

variationnumberDer Grad der Variation (0 bedeutet keine Variation und 1 bedeutet volle Variation zwischen Anfang und Ende).

ParticleSystem:setSpeed

Stellt die Geschwindigkeit der Partikel ein.

ParticleSystem:setSpeed( min, max )

minnumberDie minimale lineare Geschwindigkeit der Partikel.
max (min)numberDie maximale lineare Geschwindigkeit der Partikel.

ParticleSystem:setSpin

Setzt den Spin des Sprites.

ParticleSystem:setSpin( min, max )

minnumberDer minimale Spin (Bogenmaß pro Sekunde).
max (min)numberDer maximale Spin (Bogenmaß pro Sekunde).

ParticleSystem:setSpinVariation

Setzt den Grad der Variation (0 bedeutet keine Variation und 1 bedeutet volle Variation zwischen Start und Ende).

ParticleSystem:setSpinVariation( variation )

variationnumberDer Grad der Variation (0 bedeutet keine Variation und 1 bedeutet volle Variation zwischen Anfang und Ende).

ParticleSystem:setSpread

Setzt den Betrag der Ausbreitung für das System.

ParticleSystem:setSpread( spread )

spreadnumberDie Menge der Ausbreitung (Bogenmaß).

ParticleSystem:setTexture

Setzt das Bild oder die Leinwand, das ausgegeben werden soll.

ParticleSystem:setTexture( texture )

textureTextureEin Bild oder Leinwand für das Teilchen zu verwenden.

ParticleSystem:setTangentialAcceleration

Stellt die tangentiale Beschleunigung ein (Beschleunigung senkrecht zur Teilchenrichtung).

ParticleSystem:setTangentialAcceleration( min, max )

minnumberDie minimale beschleunigung
max (min)numberDie maximale Beschleunigung.

ParticleSystem:start

Startet den Partikel-Emitter.

ParticleSystem:start()

ParticleSystem:stop

Stoppt den Partikel-Emitter und setzt den Lebensdauer-Zähler zurück.

ParticleSystem:stop()

ParticleSystem:update

Aktualisiert das Partikelsystem; Bewegen, Schaffen und Töten von Partikeln.

ParticleSystem:update( dt )

dtnumberDie Zeit (Sekunden) seit dem letzten Rahmen.

Quad

Ein Viereck (ein Polygon mit vier Seiten und vier Ecken) mit Texturkoordinaten.

Ein Quad kann dazu genutzt werden, nur einen bestimmten Teil einer Textur zu zeichnen. Auf diesem Weg, kann ein großer

Texturen-Atlas geladen werden und schließlich durch Quads in kleinere Unterbilder aufgeteilt werden.

Constructors

Functions

Supertypes

Quad:getTextureDimensions

Ruft Referenz-Textur-Dimensionen zunächst in love.graphics.newQuad angegeben.

sw, sh = Quad:getTextureDimensions()

swnumberDie Texturbreite, die von der Quad verwendet wird.
shnumberDie Texturhöhe, die von der Quad verwendet wird.

Quad:getViewport

Gibt das Ansichtsfenster zurück.

x, y, w, h = Quad:getViewport()

xnumberDie obere linke Ecke entlang der x-Achse.
ynumberDie obere rechte Ecke entlang der y-Achse.
wnumberDie Breite des Fensters.
hnumberDie Höhe des Fensters.

Quad:setViewport

Bestimmt die Texturkoordinaten anhand eines bestimmten Ansichtsfensters.

Quad:setViewport( x, y, w, h )

xnumberDie obere linke Ecke entlang der x-Achse.
ynumberDie obere rechte Ecke entlang der y-Achse.
wnumberDie Breite des Fensters.
hnumberDie Höhe des Fensters.

Shader

Ein Shader wird für fortgeschrittene hardware-beschleunigte Pixel oder Vertex Manipulationen genutzt.

Diese Effekte werden in einer Sprache geschrieben, welche auf der OpenGL Shading Language (GLSL) basiert.

Die Anwendungsmöglichkeiten von Shadern sind beinahe unbegrenzt. So sind zum Beispiel HDR/bloom, Bewegungsunschärfe, Schwarz/Weiß, Reflektionen, Bump Mapping und Lichteffekte nur einige wenige Anwendungsbereiche.

Constructors

Functions

Supertypes

Shader:getExternVariable

Ermittelt Informationen über eine "extern" ("Uniform") Variable im Shader.

type, components, arrayelements = Shader:getExternVariable( name )

typeShaderVariableTypeDer Basistyp der Variablen.
componentsnumberDie Anzahl der Komponenten in der Variablen (z. B. 2 für eine vec2 oder mat2)
arrayelementsnumberDie Anzahl der Elemente im Array, wenn die Variable ein Array ist, oder 1 wenn nicht.
namestringDer Name der externen Variablen.

Shader:getWarnings

Ruft alle Warn- und Fehlermeldungen ab, um den Shader-Code zu kompilieren. Dies kann für das Debuggen Ihrer Shader verwendet werden, wenn es irgendetwas gibt, das die Grafikhardware nicht mag.

warnings = Shader:getWarnings()

warningsstringWarnmeldungen (falls vorhanden).

Shader:send

Sendet einen oder mehrere Werte an eine spezielle (einheitliche) Variable innerhalb des Shaders. Einheitliche Variablen müssen mit dem einheitlichen oder externen Schlüsselwort markiert werden.

Shader:send( name, number, ... )

namestringName der Nummer, die an den Shader gesendet werden soll.
numbernumberAnzahl zu senden, um in der einheitlichen Variable zu speichern.
...numberZusätzliche Nummern zu senden, wenn die einheitliche Variable ein Array ist.

Shader:send( name, vector, ... )

namestringName des zu sendenden Vektors an den Shader.
vectortableZahlen, um die einheitliche Variable als Vektor zu senden. Die Anzahl der Elemente in der Tabelle bestimmt den Typ des Vektors (z. B. zwei Zahlen -> vec2). Mindestens zwei und höchstens vier Zahlen können verwendet werden.
...tableZusätzliche Vektoren zu senden, wenn die einheitliche Variable ein Array ist. Alle Vektoren müssen von der gleichen Größe sein (z. B. nur vec3).

Shader:send( name, matrix, ... )

namestringName der Matrix zum Senden an den Shader.
matrixtable2x2, 3x3 oder 4x4 Matrix, um an die einheitliche Variable zu senden. Mit Tabellenform: {{a, b, c, d}, {e, f, g, h}, ...}.
...tableZusätzliche Matrizen des gleichen Typs wie Matrix in einem einheitlichen Array zu speichern.

Shader:send( name, texture )

namestringName der Textur zum Senden an den Shader.
textureTextureTextur (Bild oder Leinwand), um an die einheitliche Variable zu senden.

Shader:send( name, boolean, ... )

namestringName des Booleschen an den Shader zu senden.
booleanbooleanBoolean zu senden, um in der einheitlichen Variable zu speichern.
...booleanZusätzliche Booleans zu senden, wenn die einheitliche Variable ein Array ist.

Shader:sendColor

Sendet eine oder mehrere Farben an eine spezielle (extern / einheitliche) vec3- oder vec4-Variable innerhalb des Shaders. Die Farbkomponenten müssen im Bereich von {0, 255} liegen, im Gegensatz zu Shader: senden. Die Farben werden gamma-korrigiert, wenn die globale Gamma-Korrektur aktiviert ist.

Shader:sendColor( name, color, ... )

namestringDer Name der Farbe extern Variable, um in den Shader zu senden.
colortableEine Tabelle mit roten, grünen, blauen und optionalen Alpha-Farbkomponenten im Bereich von {0, 255}, um an den externen als Vektor zu senden.
...tableZusätzliche Farben zu senden, falls das externe ein Array ist. Alle Farben müssen von der gleichen Größe sein (z. B. nur vec3).

SpriteBatch

Mit Hilfe eines SpriteBatch können beliebig viele Kopien eines Bildes mit einem einzigen Aufruf von love.graphics.draw auf den Bildschirm gezeichnet werden. Hierdurch kann zum Beispiel ein sich ständig wiederholendes Hintergrundbild mit hoher Performanz gezeichnet werden.

Ein SpriteBatch ist sogar noch nützlicher, wenn sich der zu zeichnende Sprite in einem Texturatlas befindet. Durch das Hinzufügen von Quads zu einem SpriteBatch, können verschiedene Teile dieses Atlas zum Zeichnen benutzt werden.

Constructors

Functions

Supertypes

SpriteBatch:add

Fügt einen Sprite zum SpriteBatch hinzu. Sprites werden in der Reihenfolge auf den Bildschirm gezeichnet, in der sie zum SpriteBatch hinzugefügt wurden.

id = SpriteBatch:add( x, y, r, sx, sy, ox, oy, kx, ky )

idnumberAn identifier for the added sprite.
xnumberDie Position des Sprites auf der x-Achse.
ynumberDie Position des Sprites auf der y-Achse.
r (0)numberDie Ausrichtung in Radianten.
sx (1)numberDer Skalierungsfaktor in x-Richtung.
sy (sx)numberDer Skalierungsfaktor in y-Richtung.
ox (0)numberDie Verschiebung von den Ursprungskoordinaten auf der x-Achse.
oy (0)numberDie Verschiebung von den Ursprungskoordinaten auf der y-Achse.
kx (0)numberDer Scherfaktor in x-Richtung.
ky (0)numberDer Scherfaktor in y-Richtung.

id = SpriteBatch:add( quad, x, y, r, sx, sy, ox, oy, kx, ky )

idnumberAn identifier for the added sprite.
quadQuadDas Quad welches hinzugefügt werden soll.
xnumberDie Position des Sprites auf der x-Achse.
ynumberDie Position des Sprites auf der y-Achse.
r (0)numberDie Ausrichtung in Radianten.
sx (1)numberDer Skalierungsfaktor in x-Richtung.
sy (sx)numberDer Skalierungsfaktor in y-Richtung.
ox (0)numberDie Verschiebung von den Ursprungskoordinaten auf der x-Achse.
oy (0)numberDie Verschiebung von den Ursprungskoordinaten auf der y-Achse.
kx (0)numberDer Scherfaktor in x-Richtung.
ky (0)numberDer Scherfaktor in y-Richtung.

SpriteBatch:attachAttribute

Bietet ein Per-Scheitel-Attribut von einem Mesh auf dieses SpriteBatch, für die Verwendung beim Zeichnen. Dies kann mit einem Shader kombiniert werden, um ein SpriteBatch mit per-Scheitel oder zusätzlichen Per-Sprite-Informationen zu verstärken, anstatt nur per-Sprite-Farben zu haben.

Jeder Sprite in einem SpriteBatch hat 4 Ecken in der folgenden Reihenfolge: oben links, unten links, oben rechts rechts unten. Der von SpriteBatch zurückgegebene Index: add (und von SpriteBatch verwendet: set) kann mit 4 multipliziert werden, um den ersten Scheitelpunkt in einem bestimmten Sprite zu bestimmen.

SpriteBatch:attachAttribute( name, mesh )

namestringDer Name des Scheitelattributs zum Anhängen.
meshMeshDas Mesh, um das Scheitelattribut zu erhalten.

SpriteBatch:clear

Entfernt alle Sprites aus dem Puffer.

SpriteBatch:clear()

SpriteBatch:flush

Sofort sendet alle neuen und modifizierten Sprite-Daten im Batch auf die Grafikkarte.

SpriteBatch:flush()

SpriteBatch:getBufferSize

Ruft die maximale Anzahl von Sprites ab, die SpriteBatch halten kann.

size = SpriteBatch:getBufferSize()

sizenumberDie maximale Anzahl von Sprites, die die Charge halten kann.

SpriteBatch:getColor

Ruft die Farbe ab, die für die nächsten Add- und Set-Operationen verwendet wird.

Wenn keine Farbe mit SpriteBatch gesetzt wurde: setColor oder die aktuelle SpriteBatch-Farbe wurde gelöscht, diese Methode wird nil zurückgeben.

r, g, b, a = SpriteBatch:getColor()

rnumberDie rote Komponente (0-255).
gnumberDie grüne Komponente (0-255).
bnumberDie blaue Komponente (0-255).
anumberDie Alphakomponente (0-255).

SpriteBatch:getCount

Ruft die Menge der Sprites in der SpriteBatch.

count = SpriteBatch:getCount()

countnumberDie Menge der Sprites derzeit in der Charge.

SpriteBatch:getTexture

Ruft das von der SpriteBatch verwendete Bild oder Leinwand ab.

texture = SpriteBatch:getTexture()

textureTextureDas Bild oder Leinwand für die Sprites.

SpriteBatch:set

Ändert ein Sprite in der Charge. Dies erfordert die Kennung, die durch add und addq zurückgegeben wird.

SpriteBatch:set( id, x, y, r, sx, sy, ox, oy, kx, ky )

idnumberDie Kennung des Sprites, die geändert wird.
xnumberDie Position, um das Objekt (x-Achse) zu zeichnen.
ynumberDie Position, um das Objekt (y-Achse) zu zeichnen.
r (0)numberOrientierung (Bogenmaß).
sx (1)numberSkalenfaktor (x-Achse).
sy (sx)numberSkalenfaktor (y-Achse).
ox (0)numberUrsprungsversatz (x-Achse).
oy (0)numberUrsprungsversatz (y-Achse).
kx (0)numberScherfaktor (x-Achse).
ky (0)numberScherfaktor (y-Achse).

SpriteBatch:set( id, quad, x, y, r, sx, sy, ox, oy, kx, ky )

idnumberDie Kennung des Sprites, die geändert wird.
quadQuadDas Quad auf dem Bild der Charge verwendet.
xnumberDie Position, um das Objekt (x-Achse) zu zeichnen.
ynumberDie Position, um das Objekt (y-Achse) zu zeichnen.
r (0)numberOrientierung (Bogenmaß).
sx (1)numberSkalenfaktor (x-Achse).
sy (sx)numberSkalenfaktor (y-Achse).
ox (0)numberUrsprungsversatz (x-Achse).
oy (0)numberUrsprungsversatz (y-Achse).
kx (0)numberScherfaktor (x-Achse).
ky (0)numberScherfaktor (y-Achse).

SpriteBatch:setBufferSize

Legt die maximale Anzahl von Sprites fest, die der SpriteBatch halten kann. Bestehende Sprites im Batch (bis zum neuen Maximum) wird nicht gelöscht, wenn diese Funktion aufgerufen wird.

SpriteBatch:setBufferSize( size )

sizenumberDie neue maximale Anzahl von Sprites, die die Charge halten kann.

SpriteBatch:setColor

Legt die Farbe fest, die für die nächsten Add- und Set-Operationen verwendet wird. Wenn Sie die Funktion ohne Argumente aufrufen, wird die Farbe gelöscht.

In der Version {{0.9.2}} und älter ist die globale Farbe, die mit love.graphics.setColor gesetzt wird, nicht auf dem SpriteBatch arbeiten, wenn irgendeines der Sprites seine eigene Farbe hat.

SpriteBatch:setColor( r, g, b, a )

rnumberDie Menge an Rot.
gnumberDie Menge an Grün.
bnumberDie Menge an Blau.
a (255)numberDie Menge an Alpha.

SpriteBatch:setColor()

Deaktiviert alle pro-Sprite - Farben für diese SpriteBatch.

SpriteBatch:setTexture

Ersetzt das Bild oder die Leinwand für die Sprites.

SpriteBatch:setTexture( texture )

textureTextureDas neue Bild oder die Leinwand für die Sprites verwenden.

Text

Zeichnungstext.

Constructors

Functions

Supertypes

Text:add

Fügt dem Textobjekt an der angegebenen Position zusätzlichen farbigen Text hinzu.

index = Text:add( textstring, x, y, angle, sx, sy, ox, oy, kx, ky )

indexnumberEine Indexnummer, die mit Text verwendet werden kann: getWidth oder Text: getHeight.
textstringstringDer Text zum Hinzufügen zum Objekt.
x (0)numberDie Position des neuen Textes auf der x-Achse.
y (0)numberDie Position des neuen Textes auf der y-Achse.
angle (0)numberDie Orientierung des neuen Textes im Bogenmaß
sx (1)numberSkalenfaktor auf der x-Achse.
sy (sx)numberSkalenfaktor auf der y-Achse.
ox (0)numberUrsprungsversatz auf der x-Achse.
oy (0)numberOrigin-Offset auf der y-Achse.
kx (0)numberScher- / Schrägfaktor auf der x-Achse.
ky (0)numberScher- / Schrägfaktor auf der y-Achse.

index = Text:add( coloredtext, x, y, angle, sx, sy, ox, oy, kx, ky )

indexnumberEine Indexnummer, die mit Text verwendet werden kann: getWidth oder Text: getHeight.
coloredtexttableEine Tabelle mit Farben und Zeichenketten als neuer Text verwenden, in Form von {color1, string1, color2, string2, ...}.
coloredtext.color1tableEine Tabelle mit roten, grünen, blauen und optionalen Alpha-Komponenten, die als Farbe für den nächsten String in der Tabelle verwendet werden sollen, in Form von {rot, grün, blau, alpha}.
coloredtext.string1stringEine Zeichenfolge, die eine von der vorherigen Farbe angegebene Farbe hat.
coloredtext.color2tableEine Tabelle mit roten, grünen, blauen und optionalen Alpha-Komponenten, die als Farbe für den nächsten String in der Tabelle verwendet werden sollen, in Form von {rot, grün, blau, alpha}.
coloredtext.string2stringEine Zeichenfolge, die eine von der vorherigen Farbe angegebene Farbe hat.
coloredtext....tables and stringsZusätzliche Farben und Saiten.
x (0)numberDie Position des neuen Textes auf der x-Achse.
y (0)numberDie Position des neuen Textes auf der y-Achse.
angle (0)numberDie Orientierung des neuen Textes im Bogenmaß
sx (1)numberSkalenfaktor auf der x-Achse.
sy (sx)numberSkalenfaktor auf der y-Achse.
ox (0)numberUrsprungsversatz auf der x-Achse.
oy (0)numberOrigin-Offset auf der y-Achse.
kx (0)numberScher- / Schrägfaktor auf der x-Achse.
ky (0)numberScher- / Schrägfaktor auf der y-Achse.

Text:addf

Fügt dem Textobjekt an der angegebenen Position zusätzlichen formatierten / farbigen Text hinzu.

index = Text:addf( textstring, wraplimit, align, x, y, angle, sx, sy, ox, oy, kx, ky )

indexnumberEine Indexnummer, die mit Text verwendet werden kann: getWidth oder Text: getHeight.
textstringstringDer Text zum Hinzufügen zum Objekt.
wraplimitnumberDie maximale Breite in Pixeln des Textes, bevor er automatisch in eine neue Zeile eingehüllt wird.
alignAlignModeDie Ausrichtung des Textes.
xnumberDie Position des neuen Textes auf der x-Achse.
ynumberDie Position des neuen Textes auf der y-Achse.
angle (0)numberDie Orientierung des Objekts im Bogenmaß.
sx (1)numberSkalenfaktor auf der x-Achse.
sy (sx)numberSkalenfaktor auf der y-Achse.
ox (0)numberUrsprungsversatz auf der x-Achse.
oy (0)numberOrigin-Offset auf der y-Achse.
kx (0)numberScher- / Schrägfaktor auf der x-Achse.
ky (0)numberScher- / Schrägfaktor auf der y-Achse.

index = Text:addf( coloredtext, wraplimit, align, x, y, angle, sx, sy, ox, oy, kx, ky )

indexnumberEine Indexnummer, die mit Text verwendet werden kann: getWidth oder Text: getHeight.
coloredtexttableEine Tabelle mit Farben und Zeichenketten als neuer Text verwenden, in Form von {color1, string1, color2, string2, ...}.
coloredtext.color1tableEine Tabelle mit roten, grünen, blauen und optionalen Alpha-Komponenten, die als Farbe für den nächsten String in der Tabelle verwendet werden sollen, in Form von {rot, grün, blau, alpha}.
coloredtext.string1stringEine Zeichenfolge, die eine von der vorherigen Farbe angegebene Farbe hat.
coloredtext.color2tableEine Tabelle mit roten, grünen, blauen und optionalen Alpha-Komponenten, die als Farbe für den nächsten String in der Tabelle verwendet werden sollen, in Form von {rot, grün, blau, alpha}.
coloredtext.string2stringEine Zeichenfolge, die eine von der vorherigen Farbe angegebene Farbe hat.
coloredtext....tables and stringsZusätzliche Farben und Saiten.
wraplimitnumberDie maximale Breite in Pixeln des Textes, bevor er automatisch in eine neue Zeile eingehüllt wird.
alignAlignModeDie Ausrichtung des Textes.
xnumberDie Position des neuen Textes auf der x-Achse.
ynumberDie Position des neuen Textes auf der y-Achse.
angle (0)numberDie Orientierung des Objekts im Bogenmaß.
sx (1)numberSkalenfaktor auf der x-Achse.
sy (sx)numberSkalenfaktor auf der y-Achse.
ox (0)numberUrsprungsversatz auf der x-Achse.
oy (0)numberOrigin-Offset auf der y-Achse.
kx (0)numberScher- / Schrägfaktor auf der x-Achse.
ky (0)numberScher- / Schrägfaktor auf der y-Achse.

Text:clear

Löscht den Inhalt des Textobjekts.

Text:clear()

Text:getDimensions

Ruft die Breite und Höhe des Textes in Pixeln ab.

width, height = Text:getDimensions()

widthnumberDie Breite des Textes. Wenn mehrere Substrings mit Text hinzugefügt wurden, wird die Breite des letzten Substrings zurückgegeben.
heightnumberDie Höhe des Textes. Wenn mehrere Substrings mit Text hinzugefügt wurden, wird die Höhe des letzten Substrings zurückgegeben.

width, height = Text:getDimensions( index )

Liefert die Breite und die Höhe von einem spezifischen Sub-String , die vorher aufgenommen , um das Text Objekt.

widthnumberDie Breite des Substrings (vor Skalierung und anderen Transformationen).
heightnumberDie Höhe der Sub-String (vor Skalierung und andere Transformationen).
indexnumberEine Indexzahl, die von Text zurückgegeben wird: add oder Text: addf.

Text:getFont

Ruft die mit dem Textobjekt verwendete Schriftart ab.

font = Text:getFont()

fontFontDie Schriftart, die mit diesem Textobjekt verwendet wird.

Text:getHeight

Ruft die Höhe des Textes in Pixel ab.

height = Text:getHeight()

heightnumberDie Höhe des Textes. Wenn mehrere Substrings mit Text hinzugefügt wurden, wird die Höhe des letzten Substrings zurückgegeben.

height = Text:getHeight( index )

Ruft die Höhe eines bestimmten Sub-String, der die zuvor hinzugefügt wurde Text Objekt.

heightnumberDie Höhe der Sub-String (vor Skalierung und andere Transformationen).
indexnumberEine Indexzahl, die von Text zurückgegeben wird: add oder Text: addf.

Text:getWidth

Ruft die Breite des Textes in Pixel ab.

width = Text:getWidth()

widthnumberDie Breite des Textes. Wenn mehrere Substrings mit Text hinzugefügt wurden, wird die Breite des letzten Substrings zurückgegeben.

width = Text:getWidth( index )

Ruft die Breite einer bestimmten Sub-Zeichenkette, die die vorher aufgenommen Text -Objekt.

widthnumberDie Breite des Substrings (vor Skalierung und anderen Transformationen).
indexnumberEine Indexzahl, die von Text zurückgegeben wird: add oder Text: addf.

Text:set

Ersetzt den Inhalt des Textobjekts durch einen neuen, unformatierten String.

Text:set( textstring )

textstringstringDie neue Textfolge, die verwendet werden soll.

Text:set( coloredtext )

coloredtexttableEine Tabelle mit Farben und Zeichenketten als neuer Text verwenden, in Form von {color1, string1, color2, string2, ...}.
coloredtext.color1tableEine Tabelle mit roten, grünen, blauen und optionalen Alpha-Komponenten, die als Farbe für den nächsten String in der Tabelle verwendet werden sollen, in Form von {rot, grün, blau, alpha}.
coloredtext.string1stringEine Zeichenfolge, die eine von der vorherigen Farbe angegebene Farbe hat.
coloredtext.color2tableEine Tabelle mit roten, grünen, blauen und optionalen Alpha-Komponenten, die als Farbe für den nächsten String in der Tabelle verwendet werden sollen, in Form von {rot, grün, blau, alpha}.
coloredtext.string2stringEine Zeichenfolge, die eine von der vorherigen Farbe angegebene Farbe hat.
coloredtext....tables and stringsZusätzliche Farben und Saiten.

Text:set()

Löscht den Inhalt der Text Objekt.

Text:setf

Ersetzt den Inhalt des Textobjekts durch einen neuen formatierten String.

Text:setf( textstring, wraplimit, align )

textstringstringDie neue Textfolge, die verwendet werden soll.
wraplimitnumberDie maximale Breite in Pixeln des Textes, bevor er automatisch in eine neue Zeile eingehüllt wird.
align ("left")AlignModeDie Ausrichtung des Textes.

Text:setf( coloredtext, wraplimit, align )

coloredtexttableEine Tabelle mit Farben und Zeichenketten als neuer Text verwenden, in Form von {color1, string1, color2, string2, ...}.
coloredtext.color1tableEine Tabelle mit roten, grünen, blauen und optionalen Alpha-Komponenten, die als Farbe für den nächsten String in der Tabelle verwendet werden sollen, in Form von {rot, grün, blau, alpha}.
coloredtext.string1stringEine Zeichenfolge, die eine von der vorherigen Farbe angegebene Farbe hat.
coloredtext.color2tableEine Tabelle mit roten, grünen, blauen und optionalen Alpha-Komponenten, die als Farbe für den nächsten String in der Tabelle verwendet werden sollen, in Form von {rot, grün, blau, alpha}.
coloredtext.string2stringEine Zeichenfolge, die eine von der vorherigen Farbe angegebene Farbe hat.
coloredtext....tables and stringsZusätzliche Farben und Saiten.
wraplimitnumberDie maximale Breite in Pixeln des Textes, bevor er automatisch in eine neue Zeile eingehüllt wird.
align ("left")AlignModeDie Ausrichtung des Textes.

Text:setf()

Clears the contents of the Text object.

Text:setFont

Ersetzt die mit dem Text verwendete Schriftart.

Text:setFont( font )

fontFontDie neue Schriftart, die mit diesem Textobjekt verwendet werden soll.

Texture

Die Superklasse für alle zeichenbaren Objekte welche eine Textur repräsentieren.

Alle Texturen können mit Quads gezeichnet werden. Texture ist ein abstrakter Datentyp und kann daher nicht direkt erstellt werden.

Supertypes

Subtypes

Video

Ein ziehbares Video.

Constructors

Functions

Supertypes

Video:getDimensions

Erhält die Breite und Höhe des Videos in Pixeln.

width, height = Video:getDimensions()

widthnumberDie Breite des Videos.
heightnumberDie Höhe des Videos.

Video:getFilter

Ruft die Skalierungsfilter ab, die beim Zeichnen des Videos verwendet wurden.

min, mag, anisotropy = Video:getFilter()

minFilterModeDer Filtermodus, der beim Skalieren des Video-Down verwendet wird.
magFilterModeDer Filtermodus, der beim Skalieren des Videos verwendet wird.
anisotropy (1)numberMaximale Menge an anisotroper Filterung.

Video:getHeight

Ermittelt die Höhe des Videos in Pixeln.

height = Video:getHeight()

heightnumberDie Höhe des Videos.

Video:getSource

Ruft die Audioquelle ab, die für die Wiedergabe des Videos verwendet wird. Kann nil zurückkehren, wenn das Video kein Audio hat oder wenn Video: setSource mit einem nil-Argument aufgerufen wird.

source = Video:getSource()

sourceSourceDie Audioquelle, die für die Audiowiedergabe verwendet wird, oder nil, wenn das Video kein Audio hat.

Video:getWidth

Ruft die Breite des Videos in Pixeln ab.

width = Video:getWidth()

widthnumberDie Breite des Videos.

Video:isPlaying

Ermittelt, ob das Video gerade abgespielt wird.

playing = Video:isPlaying()

playingbooleanOb das Video spielt.

Video:pause

Pausiert das Video.

Video:pause()

Video:play

Startet das Video. Damit das Video auf dem Bildschirm erscheinen kann, muss es mit love.graphics.draw gezeichnet werden.

Video:play()

Video:rewind

Das Video wird zum Anfang zurückgespult.

Video:rewind()

Video:seek

Stellt die aktuelle Wiedergabeposition des Videos ein.

Video:seek( offset )

offsetnumberDie Zeit in Sekunden seit Beginn des Videos.

Video:setFilter

Legt die beim Zeichnen des Videos verwendeten Skalierungsfilter fest.

Video:setFilter( min, mag, anisotropy )

minFilterModeDer Filtermodus, der beim Skalieren des Video-Down verwendet wird.
magFilterModeDer Filtermodus, der beim Skalieren des Videos verwendet wird.
anisotropy (1)numberMaximale Menge an anisotroper Filterung.

Video:setSource

Setzt die Audioquelle, die für die Wiedergabe des Videos verwendet wird. Die Audio-Quelle steuert auch die Wiedergabegeschwindigkeit und die Synchronisation.

Video:setSource( source )

source (nil)SourceDie Audioquelle, die für die Audiowiedergabe verwendet wird, oder nil, um die Audiosynchronisation zu deaktivieren.

Video:tell

Ruft die aktuelle Wiedergabeposition des Videos ab.

Video:tell( seconds )

secondsnumberDie Zeit in Sekunden seit Beginn des Videos.

love.image

Types

Functions

Enums

love.image.isCompressed

Legt fest, ob eine Datei als CompressedImageData geladen werden kann.

compressed = love.image.isCompressed( filename )

compressedbooleanOb die Datei als CompressedImageData geladen werden kann oder nicht.
filenamestringDer Dateiname der potenziell komprimierten Bilddatei.

compressed = love.image.isCompressed( fileData )

compressedbooleanOb die FileData als CompressedImageData geladen werden kann oder nicht.
fileDataFileDataEine FileData, die möglicherweise ein komprimiertes Bild enthält.

love.image.newCompressedData

Erstellen Sie ein neues CompressedImageData-Objekt aus einer komprimierten Bilddatei. LÖVE unterstützt mehrere komprimierte Texturformate, die auf der Seite CompressedImageFormat aufgelistet sind.

compressedImageData = love.image.newCompressedData( file )

compressedImageDataCompressedImageDataDas neue CompressedImageData-Objekt.
filestring / File / FileDataDer Dateipfad / Datei / FileData der komprimierten Bilddatei.

love.image.newImageData

Erstellen Sie ein neues ImageData-Objekt.

imageData = love.image.newImageData( width, height, data )

imageDataImageDataDas neue leere ImageData-Objekt. Die Farbwerte jedes Pixels (einschließlich der Alpha-Werte!) Werden auf Null gesetzt.
widthnumberDie Breite der ImageData.
heightnumberDie Höhe der ImageData.
data (none)stringDie Daten, die in die ImageData geladen werden sollen (RGBA Bytes, von links nach rechts und von oben nach unten).

imageData = love.image.newImageData( file )

imageDataImageDataDas neue ImageData-Objekt.
filestring / File / FileDataDer Dateipfad / Datei / DateiData der Bilddatei.

CompressedImageFormat

DXT1

Das DXT1-Format. RGB-Daten mit 4 Bits pro Pixel (verglichen mit 32 Bits für ImageData und reguläre Bilder) Geeignet für voll opake Bilder. Geeignet für voll opake Bilder auf Desktop-Systemen.

DXT3

Das DXT3-Format. RGBA-Daten mit 8 Bits pro Pixel. Glatte Variationen in der Deckkraft mischen sich nicht gut mit diesem Format.

DXT5

Das DXT5-Format. RGBA-Daten mit 8 Bits pro Pixel. Empfohlen für Bilder mit unterschiedlicher Deckkraft auf Desktop-Systemen.

BC4

Das BC4-Format (auch bekannt als 3Dc + oder ATI1) speichert nur den roten Kanal, bei 4 Bits pro Pixel.

BC4s

Die signierte Variante des BC4-Formats. Gleich wie oben, aber die Pixelwerte in der Textur liegen im Bereich von {-1, 1} anstelle von {0, 1} in Shader.

BC5

Das BC5-Format (auch als 3Dc oder ATI2 bekannt) speichert rote und grüne Kanäle mit 8 Bits pro Pixel.

BC5s

Die signierte Variante des BC5-Formats.

BC6h

Das BC6H-Format. Speichert halbgenaue Gleitkomma-RGB-Daten im Bereich von {0, 65504} bei 8 Bits pro Pixel. Geeignet für HDR-Bilder auf Desktop-Systemen.

BC6hs

Die signierte Variante des BC6H-Formats. Speichert RGB-Daten im Bereich von {-65504, +65504}.

BC7

Das BC7-Format (auch bekannt als BPTC.) Speichert RGB- oder RGBA-Daten mit 8 Bits pro Pixel.

ETC1

Das ETC1-Format. RGB-Daten mit 4 Bits pro Pixel. Geeignet für voll undurchsichtige Bilder auf älteren Android-Geräten.

ETC2rgb

Die RGB-Variante des ETC2-Formats. RGB-Daten mit 4 Bits pro Pixel. Geeignet für voll opake Bilder auf neueren mobilen Geräten.

ETC2rgba

Die RGBA-Variante des ETC2-Formats. RGBA-Daten mit 8 Bits pro Pixel. Empfohlen für Bilder mit unterschiedlicher Deckkraft auf neueren mobilen Geräten.

ETC2rgba1

Die RGBA-Variante des ETC2-Formats, bei der Pixel entweder vollständig transparent oder vollständig undurchsichtig sind. RGBA-Daten bei 4 Bits pro Pixel.

EACr

Die Einkanal-Variante des EAC-Formats. Speichert nur den roten Kanal, bei 4 Bits pro Pixel.

EACrs

Die signierte Einkanalvariante des EAC-Formats. Gleich wie oben, aber Pixelwerte in der Textur liegen im Bereich von {-1, 1} anstelle von {0, 1} in Shader.

EACrg

Die zweikanalige Variante des EAC-Formats. Speichert rote und grüne Kanäle mit 8 Bits pro Pixel.

EACrgs

Die signierte Zwei-Kanal-Variante des EAC-Formats.

PVR1rgb2

Die 2-Bit pro Pixel RGB-Variante des PVRTC1-Formats. Speichert RGB-Daten mit 2 Bits pro Pixel. Texturen, die mit PVRTC1-Formaten komprimiert werden, müssen quadratisch und leistungsstark sein.

PVR1rgb4

Die 4-Bit pro Pixel RGB-Variante des PVRTC1-Formats. Speichert RGB-Daten mit 4 Bits pro Pixel.

PVR1rgba2

Die 2-Bit pro Pixel RGBA-Variante des PVRTC1-Formats.

PVR1rgba4

Die 4-Bit pro Pixel RGBA-Variante des PVRTC1-Formats.

ASTC4x4

Die 4x4 Pixel pro Blockvariante des ASTC-Formats. RGBA-Daten mit 8 Bits pro Pixel.

ASTC5x4

Die 5x4 Pixel pro Blockvariante des ASTC-Formats. RGBA-Daten bei 6,4 Bits pro Pixel.

ASTC5x5

Die 5x5 Pixel pro Blockvariante des ASTC-Formats. RGBA-Daten bei 5.12 Bits pro Pixel.

ASTC6x5

Die 6x5 Pixel pro Blockvariante des ASTC-Formats. RGBA-Daten bei 4,27 Bits pro Pixel.

ASTC6x6

Die 6x6 Pixel pro Blockvariante des ASTC-Formats. RGBA-Daten mit 3,56 Bits pro Pixel.

ASTC8x5

Die 8x5 Pixel pro Blockvariante des ASTC-Formats. RGBA-Daten mit 3,2 Bits pro Pixel.

ASTC8x6

Die 8x6 Pixel pro Blockvariante des ASTC-Formats. RGBA-Daten bei 2,67 Bits pro Pixel.

ASTC8x8

Die 8x8 Pixel pro Blockvariante des ASTC-Formats. RGBA-Daten mit 2 Bits pro Pixel.

ASTC10x5

Die 10x5 Pixel pro Blockvariante des ASTC-Formats. RGBA-Daten bei 2,56 Bits pro Pixel.

ASTC10x6

Die 10x6 Pixel pro Blockvariante des ASTC-Formats. RGBA-Daten mit 2,13 Bits pro Pixel.

ASTC10x8

Die 10x8 Pixel pro Blockvariante des ASTC-Formats. RGBA-Daten mit 1,6 Bits pro Pixel.

ASTC10x10

Die 10x10 Pixel pro Blockvariante des ASTC-Formats. RGBA-Daten mit 1,28 Bits pro Pixel.

ASTC12x10

Die 12x10 Pixel pro Blockvariante des ASTC-Formats. RGBA-Daten mit 1,07 Bits pro Pixel.

ASTC12x12

Die 12x12 Pixel pro Blockvariante des ASTC-Formats. RGBA-Daten bei 0,89 Bits pro Pixel.

ImageFormat

tga

Targa-Bildformat.

png

PNG-Bildformat.

CompressedImageData

Stellt komprimierte Bilddaten dar, die entworfen sind, um im RAM komprimiert zu bleiben.

CompressedImageData umfasst standardisierte komprimierte Texturformate wie DXT1, DXT5 und BC5 / 3Dc.

Sie können CompressedImageData nicht direkt auf den Bildschirm zeichnen. Siehe Bild dafür.

Constructors

Functions

Supertypes

CompressedImageData:getDimensions

Ruft die Breite und Höhe der CompressedImageData ab.

width, height = CompressedImageData:getDimensions()

widthnumberDie Breite der CompressedImageData.
heightnumberDie Höhe der CompressedImageData.

width, height = CompressedImageData:getDimensions( level )

widthnumberDie Breite der CompressedImageData.
heightnumberDie Höhe der CompressedImageData.
levelnumberEin Mipmap-Level. Muss im Bereich von {1, CompressedImageData: getMipmapCount ()} sein.

CompressedImageData:getFormat

Ruft das Format der CompressedImageData ab.

format = CompressedImageData:getFormat()

formatCompressedImageFormatDas Format der CompressedImageData.

CompressedImageData:getHeight

Erreicht die Höhe der CompressedImageData.

height = CompressedImageData:getHeight()

heightnumberDie Höhe der CompressedImageData.

height = CompressedImageData:getHeight( level )

heightnumberDie Höhe der CompressedImageData.
levelnumberEin Mipmap-Level. Muss im Bereich von {1, CompressedImageData: getMipmapCount ()} sein.

CompressedImageData:getMipmapCount

Ruft die Anzahl der Mipmap-Ebenen in der CompressedImageData ab. Der Basis-Mipmap-Level (Originalbild) ist in der Anzahl enthalten.

mipmaps = CompressedImageData:getMipmapCount()

mipmapsnumberDie Anzahl der in der CompressedImageData gespeicherten Mipmap-Levels.

CompressedImageData:getWidth

Ruft die Breite der CompressedImageData ab.

width = CompressedImageData:getWidth()

widthnumberDie Breite der CompressedImageData.

width = CompressedImageData:getWidth( level )

widthnumberDie Breite der CompressedImageData.
levelnumberEin Mipmap-Level. Muss im Bereich von {1, CompressedImageData: getMipmapCount ()} sein.

ImageData

Unverarbeitete (dekodierte) Bilddaten.

Bilddaten können nicht direkt auf den Bildschirm gezeichnet werden. Hierfür wird ein Bild benötigt.

Constructors

Functions

Supertypes

ImageData:encode

Encodiert die ImageData und schreibt sie optional in das Sicherungsverzeichnis.

filedata = ImageData:encode( format, filename )

filedataFileDataDas codierte Bild als neues FileData-Objekt.
formatImageFormatDas Format zum Codieren des Bildes als.
filename (nil)stringDer Dateiname, um die Datei zu schreiben. Wenn nil, wird keine Datei geschrieben, aber die FileData wird immer noch zurückgegeben.

ImageData:getDimensions

Ruft die Breite und Höhe der ImageData in Pixeln ab.

width, height = ImageData:getDimensions()

widthnumberDie Breite der ImageData in Pixel.
heightnumberDie Höhe der ImageData in Pixeln.

ImageData:getHeight

Ruft die Höhe der ImageData in Pixel ab.

height = ImageData:getHeight()

heightnumberDie Höhe der ImageData in Pixeln.

ImageData:getPixel

Ruft die Farbe eines Pixels an einer bestimmten Position im Bild ab.

Gültige x- und y-Werte beginnen bei 0 und gehen bis zu Bildbreite und -höhe minus 1. Nicht-Integer-Werte sind gefüllt.

r, g, b, a = ImageData:getPixel( x, y )

rnumberDie rote Komponente (0-255).
gnumberDie grüne Komponente (0-255).
bnumberDie blaue Komponente (0-255).
anumberDie Alphakomponente (0-255).
xnumberDie Position des Pixels auf der x-Achse.
ynumberDie Position des Pixels auf der y-Achse.

ImageData:getWidth

Ruft die Breite der ImageData in Pixel ab.

width = ImageData:getWidth()

widthnumberDie Breite der ImageData in Pixel.

ImageData:mapPixel

Verwandeln Sie ein Bild, indem Sie eine Funktion auf jedes Pixel anwenden.

Diese Funktion ist eine Funktion höherer Ordnung. Es nimmt eine andere Funktion als Parameter und nennt es einmal für jedes Pixel in der ImageData.

Der Funktionsparameter wird nacheinander mit sechs Parametern für jedes Pixel aufgerufen. Die Parameter sind Zahlen, die die x- und y-Koordinaten des Pixels und dessen Rot-, Grün-, Blau- und Alpha-Werte darstellen. Der Funktionsparameter kann bis zu vier Zahlenwerte zurückgeben, die die neuen r, g, b und die Werte des Pixels werden. Wenn die Funktion weniger Werte zurückgibt, werden die restlichen Komponenten auf 0 gesetzt.

ImageData:mapPixel( pixelFunction )

pixelFunctionfunctionFunktionsparameter für jedes Pixel anzuwenden.

ImageData:paste

Einfügen in ImageData aus einer anderen Quelle ImageData.

ImageData:paste( source, dx, dy, sx, sy, sw, sh )

sourceImageDataQuelle ImageData, von der aus kopiert werden soll.
dxnumberZielpunkt links-links auf x-Achse.
dynumberZiel-linke Position auf y-Achse.
sxnumberQuelle oben links auf x-Achse.
synumberQuelle oben links auf y-Achse.
swnumberQuellbreite
shnumberQuellhöhe

ImageData:setPixel

Setzt die Farbe eines Pixels an einer bestimmten Position im Bild.

Gültige x- und y-Werte beginnen bei 0 und gehen bis zu Bildbreite und -höhe minus 1.

ImageData:setPixel( x, y, r, g, b, a )

xnumberDie Position des Pixels auf der x-Achse.
ynumberDie Position des Pixels auf der y-Achse.
rnumberDie rote Komponente (0-255).
gnumberDie grüne Komponente (0-255).
bnumberDie blaue Komponente (0-255).
anumberDie Alphakomponente (0-255).

love.joystick

Types

Functions

Enums

love.joystick.getJoystickCount

Erhält die Anzahl der angeschlossenen Joysticks.

joystickcount = love.joystick.getJoystickCount()

joystickcountnumberDie Anzahl der angeschlossenen Joysticks.

love.joystick.getJoysticks

Ruft eine Liste der angeschlossenen Joysticks auf.

joysticks = love.joystick.getJoysticks()

joystickstableDie Liste der aktuell verbundenen Joysticks.

love.joystick.loadGamepadMappings

Lädt ein Gamepad Mappings String oder Datei mit love.joystick.saveGamepadMappings erstellt.

love.joystick.loadGamepadMappings( filename )

filenamestringDer Dateiname zum Laden der Zuordnungszeichenfolge aus.

love.joystick.loadGamepadMappings( mappings )

mappingsstringDie Zuordnungszeichenfolge wird geladen.

love.joystick.saveGamepadMappings

Speichert die virtuellen Gamepad-Mappings aller Joysticks, die als Gamepads erkannt werden und wurden entweder vor kurzem verwendet oder ihre Gamepad-Bindungen wurden geändert.

mappings = love.joystick.saveGamepadMappings( filename )

mappingsstringDer Zuordnungsstring, der in die Datei geschrieben wurde.
filename (no file)stringDer Dateiname, um die Zuordnungszeichenfolge zu speichern.

love.joystick.setGamepadMapping

Bindet eine virtuelle Gamepad-Eingabe auf eine Schaltfläche, Achse oder Hut für alle Joysticks eines bestimmten Typs. Wenn diese Funktion beispielsweise mit einer GUID verwendet wird, die von einem Dualshock 3-Controller in OS X zurückgegeben wird, wird die Bindung den Joystick beeinflussen: getGamepadAxis und Joystick: isGamepadDown für alle Dualshock 3-Controller, die mit dem Spiel verwendet werden, wenn sie in OS X laufen.

LÖVE beinhaltet integrierte Gamepad-Bindungen für viele gängige Controller. Mit dieser Funktion können Sie die Bindungen ändern oder neue für Joysticks hinzufügen, die standardmäßig nicht als Gamepads erkannt werden.

Die virtuellen Gamepad-Tasten und Achsen sind um das Xbox 360-Controller-Layout herum entworfen.

success = love.joystick.setGamepadMapping( guid, button, inputtype, inputindex, hatdirection )

successbooleanOb die virtuelle Gamepad-Taste erfolgreich gebunden wurde.
guidstringDie OS-abhängige GUID für die Art des Joysticks die Bindung wird sich auswirken.
buttonGamepadButtonDie virtuelle Gamepad-Taste zu binden.
inputtypeJoystickInputTypeDie Art der Eingabe, um die virtuelle Gamepad-Taste zu binden.
inputindexnumberDer Index der Achse, Taste oder Hut, um die virtuelle Gamepad-Taste zu binden.
hatdirectionJoystickHatDie Richtung des Hutes, wenn die virtuelle Gamepad-Taste an einen Hut gebunden wird. sonst anders

success = love.joystick.setGamepadMapping( guid, axis, inputtype, inputindex, hatdirection )

successbooleanOb die virtuelle Gamepad-Taste erfolgreich gebunden wurde.
guidstringDie OS-abhängige GUID für die Art des Joysticks die Bindung wird sich auswirken.
axisGamepadAxisDie virtuelle Gamepad-Achse zu binden.
inputtypeJoystickInputTypeDie Art der Eingabe, um die virtuelle Gamepad-Achse zu binden.
inputindexnumberDer Index der Achse, des Knopfes oder des Hutes, um die virtuelle Gamepad-Achse zu binden.
hatdirectionJoystickHatDie Richtung des Hutes, wenn die virtuelle Gamepad-Achse an einen Hut gebunden wird. sonst anders

GamepadAxis

leftx

Die x-Achse des linken Daumenstocks.

lefty

Die y-Achse des linken Daumenstocks.

rightx

Die x-Achse des rechten Daumensticks.

righty

Die y-Achse des rechten Daumenstocks.

triggerleft

Linker analoger Trigger.

triggerright

Richtiger analoger Auslöser.

GamepadButton

a

Bottom Face Button (A).

b

Rechte Seite (B).

x

Linksknopf (X).

y

Oberseite-Taste (Y).

back

Zurück-Button.

guide

Guide-Taste.

start

Start Knopf.

leftstick

Linkshaken-Klick-Taste.

rightstick

Rechts-Klick-Klick-Taste.

leftshoulder

Linke Stoßstange.

rightshoulder

Rechter Stoßfänger.

dpup

D-pad up

dpdown

D-pad unten

dpleft

D-Pad links.

dpright

D-Pad rechts.

JoystickHat

c

Zentriert

d

Unten

l

Links

ld

Links + unten

lu

Links + oben

r

Recht

rd

Rechts + unten

ru

Rechts + oben

u

Oben

JoystickInputType

axis

Analoge Achse

button

Taste.

hat

8-Richtungs-Hutwert.

Joystick

Repräsentiert einen realen Joystick.

Constructors

Functions

Supertypes

Joystick:getAxes

Erhält die Richtung jeder Achse.

axisDir1, axisDir2, axisDirN = Joystick:getAxes()

axisDir1numberRichtung der Achse1.
axisDir2numberRichtung der Achse2.
axisDirNnumberRichtung der AchseN.

Joystick:getAxis

Ermittelt die Richtung einer Achse.

direction = Joystick:getAxis( axis )

directionnumberAktueller Wert der Achse.
axisnumberDer Index der zu prüfenden Achse

Joystick:getAxisCount

Erhält die Anzahl der Achsen am Joystick.

axes = Joystick:getAxisCount()

axesnumberDie Anzahl der Achsen ist verfügbar.

Joystick:getButtonCount

Erhält die Anzahl der Tasten am Joystick.

buttons = Joystick:getButtonCount()

buttonsnumberDie Anzahl der verfügbaren Tasten ist verfügbar.

Joystick:getGUID

Erhält eine stabile GUID, die für den Typ des physischen Joysticks einzigartig ist, der sich im Laufe der Zeit nicht ändert. Zum Beispiel haben alle Sony Dualshock 3 Controller in OS X die gleiche GUID. Der Wert ist plattformabhängig.

guid = Joystick:getGUID()

guidstringDie OS-abhängige eindeutige Kennung des Joystick-Typs.

Joystick:getGamepadAxis

Ermittelt die Richtung einer virtuellen Gamepad-Achse. Wenn der Joystick nicht als Gamepad erkannt wird oder nicht verbunden ist, wird diese Funktion immer 0 zurückgeben.

direction = Joystick:getGamepadAxis( axis )

directionnumberAktueller Wert der Achse.
axisGamepadAxisDie zu prüfende virtuelle Achse

Joystick:getGamepadMapping

Ruft den Button, die Achse oder den Hut ab, den ein virtueller Gamepad-Eingang hat.

inputtype, inputindex, hatdirection = Joystick:getGamepadMapping( axis )

inputtypeJoystickInputTypeDie Art der Eingabe der virtuellen Gamepad-Achse ist gebunden.
inputindexnumberDer Index der Joystick-Taste, Achse oder Hut, dass die virtuelle Gamepad-Achse gebunden ist.
hatdirectionJoystickHatDie Richtung des Hutes, wenn die virtuelle Gamepad-Achse an einen Hut gebunden ist. sonst anders
axisGamepadAxisDie virtuelle Gamepad Achse, um die Bindung für.

inputtype, inputindex, hatdirection = Joystick:getGamepadMapping( button )

inputtypeJoystickInputTypeDie Art der Eingabe der virtuellen Gamepad-Taste ist gebunden.
inputindexnumberDer Index der Joystick-Taste, Achse oder Hut, dass die virtuelle Gamepad-Taste gebunden ist.
hatdirectionJoystickHatDie Richtung des Hutes, wenn die virtuelle Gamepad-Taste an einen Hut gebunden ist. sonst anders
buttonGamepadAxisDie virtuelle Gamepad-Taste, um die Bindung für.

Joystick:getHat

Erhält die Richtung des Joysticks.

direction = Joystick:getHat( hat )

directionJoystickHatDie Richtung, in die der Hut gedrückt wird.
hatnumberDer Index des Hutes ist zu überprüfen.

Joystick:getHatCount

Erhält die Anzahl der Hüte auf dem Joystick.

hats = Joystick:getHatCount()

hatsnumberWie viele Hüte hat der Joystick.

Joystick:getID

Ruft den eindeutigen Bezeichner des Joysticks ab. Die Kennung bleibt für das Leben des Spiels gleich, auch wenn der Joystick getrennt und wieder verbunden ist, aber es wird sich ändern, wenn das Spiel neu gestartet wird.

id, instanceid = Joystick:getID()

idnumberDie eindeutige Kennung des Joysticks. Bleibt das gleiche, solange das Spiel läuft.
instanceidnumberEindeutige Instanzkennung. Ändert sich jedes Mal, wenn der Joystick wieder verbunden ist. Wenn der Joystick nicht angeschlossen ist.

Joystick:getName

Ruft den Namen des Joysticks auf.

name = Joystick:getName()

namestringDer Name des Joysticks.

Joystick:getVibration

Erhält die aktuellen Vibrationsmotorstärken auf einem Joystick mit Rumpelstütze.

left, right = Joystick:getVibration()

leftnumberAktuelle Stärke des linken Vibrationsmotors am Joystick.
rightnumberAktuelle Stärke des richtigen Vibrationsmotors am Joystick.

Joystick:isConnected

Ermittelt, ob der Joystick angeschlossen ist.

connected = Joystick:isConnected()

connectedbooleanTrue, wenn der Joystick momentan verbunden ist, sonst false.

Joystick:isDown

Überprüft, ob eine Taste am Joystick gedrückt wird.

LÖVE 0.9.0 hatte einen Bug, der die Button-Indizes an Joystick übergeben hat: isDown to 0-based statt 1-basiert, zum Beispiel Button 1 wäre 0 für diese Funktion. Es wurde in 0.9.1 festgelegt.

anyDown = Joystick:isDown( ... )

anyDownbooleanTrue, wenn irgendeine gelieferte Taste unten ist, falsch wenn nicht.
...numberDer Index einer Schaltfläche zum Überprüfen.

Joystick:isGamepad

Ermittelt, ob der Joystick als Gamepad erkannt wird. Wenn dies der Fall ist, können die Joysticks und Achsen standardmäßig über verschiedene Betriebssysteme und Joystick-Modelle über Joystick: getGamepadAxis und verwandte Funktionen verwendet werden.

LÖVE erkennt automatisch die beliebtesten Controller mit einem ähnlichen Layout an den Xbox 360 Controller als Gamepads, aber Sie können mehr mit love.joystick.setGamepadMapping hinzufügen.

isgamepad = Joystick:isGamepad()

isgamepadbooleanTrue, wenn der Joystick als Gamepad erkannt wird, sonst false.

Joystick:isGamepadDown

Überprüft, ob eine virtuelle Gamepad-Taste am Joystick gedrückt wird. Wenn der Joystick nicht als Gamepad erkannt wird oder nicht verbunden ist, wird diese Funktion immer false zurückgeben.

anyDown = Joystick:isGamepadDown( ... )

anyDownbooleanTrue, wenn irgendeine gelieferte Taste unten ist, falsch wenn nicht.
...GamepadButtonDie Gamepad-Taste zu überprüfen.

Joystick:isVibrationSupported

Ermittelt, ob der Joystick Vibrationen unterstützt.

supported = Joystick:isVibrationSupported()

supportedbooleanTrue, wenn Rumpel / Kraft Feedback Vibration auf diesem Joystick unterstützt wird, false, wenn nicht.

Joystick:setVibration

Setzt die Vibrationsmotordrehzahlen auf einen Joystick mit Rumpelstütze.

success = Joystick:setVibration( left, right, duration )

successbooleanTrue, wenn die Vibration erfolgreich angewendet wurde, false wenn nicht.
leftnumberStärke des linken Vibrationsmotors am Joystick. Muss im Bereich von {0, 1} liegen.
rightnumberStärke des rechten Vibrationsmotors am Joystick. Muss im Bereich von {0, 1} liegen.
duration (-1)numberDie Dauer der Vibration in Sekunden. Ein negativer Wert bedeutet unendliche Dauer.

love.keyboard

Functions

Enums

love.keyboard.getKeyFromScancode

Ruft den Schlüssel ab, der dem angegebenen Hardware-Scancode entspricht.

Im Gegensatz zu Schlüsselkonstanten sind Scancodes tastaturlayoutunabhängig. Zum Beispiel wird die Scancode "w" erzeugt, wenn die Taste an der gleichen Stelle wie die "w" -Taste auf einer amerikanischen Tastatur gedrückt wird, egal was der Schlüssel beschriftet ist oder was die Betriebssystemeinstellungen des Benutzers sind.

Scancodes sind nützlich für das Erstellen von Standard-Steuerelementen, die die gleichen physischen Standorte auf allen Systemen haben.

key = love.keyboard.getKeyFromScancode( scancode )

keyKeyConstantDer Schlüssel, der dem gegebenen Scancode entspricht, oder "unbekannt", wenn der Scancode kein KeyConstant auf dem aktuellen System abbildet.
scancodeScancodeDer Scancode, um den Schlüssel zu bekommen.

love.keyboard.getScancodeFromKey

Ruft den Hardware-Scancode entsprechend der angegebenen Taste ab.

Im Gegensatz zu Schlüsselkonstanten sind Scancodes tastaturlayoutunabhängig. Zum Beispiel wird die Scancode "w" erzeugt, wenn die Taste an der gleichen Stelle wie die "w" -Taste auf einer amerikanischen Tastatur gedrückt wird, egal was der Schlüssel beschriftet ist oder was die Betriebssystemeinstellungen des Benutzers sind.

Scancodes sind nützlich für das Erstellen von Standard-Steuerelementen, die die gleichen physischen Standorte auf allen Systemen haben.

scancode = love.keyboard.getScancodeFromKey( key )

scancodeScancodeDie Scancode, die der gegebenen Taste entspricht, oder "unbekannt", wenn die gegebene Taste keine bekannte physikalische Darstellung auf dem aktuellen System hat.
keyKeyConstantDer Schlüssel, um die Scancode aus.

love.keyboard.hasKeyRepeat

Gibt zurück ob die Tastenwiederholung aktiv ist oder nicht.

enabled = love.keyboard.hasKeyRepeat()

enabledbooleanOb Tastenwiederholung aktiv ist.

love.keyboard.hasTextInput

Gibt zurück, ob Texteingaben-Ereignisse aktiviert sind.

enabled = love.keyboard.hasTextInput()

enabledbooleanOb Text-Ereignisse aktiviert sind, oder nicht.

love.keyboard.isDown

Prüft ob eine bestimmte Taste gedrückt wird. Diese Funktion gibt eine boolesche Variable zurück und sollte nicht mit love.keypressed bzw. love.keyreleased verwechselt werden.

anyDown = love.keyboard.isDown( key, ... )

anyDownbooleanTrue, wenn eine gelieferte Taste ist, false, wenn nicht.
keyKeyConstantEin Schlüssel zum Prüfen.
...KeyConstantZusätzliche Tasten zu überprüfen.

love.keyboard.isScancodeDown

Überprüft, ob die angegebenen Scancodes gedrückt werden. Nicht zu verwechseln mit love.keypressed oder love.keyreleased.

Im Gegensatz zu regulären KeyConstants sind Scancodes tastaturlayoutunabhängig. Die Scancode "w" wird verwendet, wenn die Taste an der gleichen Stelle wie die "w" -Taste auf einer amerikanischen Tastatur gedrückt wird, egal was der Schlüssel beschriftet ist oder was die Betriebssystemeinstellungen des Benutzers sind.

down = love.keyboard.isScancodeDown( scancode, ... )

downbooleanTrue, wenn irgendwelche gelieferte Scancode unten ist, falsch wenn nicht.
scancodeScancodeEin Scancode zu überprüfen.
...ScancodeZusätzliche Scancodes zu überprüfen.

love.keyboard.setKeyRepeat

Aktiviert oder deaktiviert die Tastenwiederholung. Sie ist standardmäßig deaktiviert.

Das Intervall zwischen den Wiederholungen hängt von den Systemeinstellungen des Benutzers ab.

love.keyboard.setKeyRepeat( enable )

enablebooleanOb Wiederholungs-Tastendruckereignisse aktiviert werden sollen, wenn eine Taste gedrückt wird.

love.keyboard.setTextInput

Aktiviert oder Deaktiviert Texteingabe-Ereignisse. Standardmäßig sind diese aktiviert.

love.keyboard.setTextInput( enable )

enablebooleanOb Texteingabe-Ereignisse aktiviert sein sollen oder nicht.

love.keyboard.setTextInput( enable, x, y, w, h )

enablebooleanOb Texteingabeereignisse aktiviert werden sollen.
xnumberOn-Screen-Tastatur x Position.
ynumberOn-Screen-Tastatur y Position.
wnumberBildschirm-Tastatur-Breite.
hnumberBildschirmhöhe des Bildschirms

KeyConstant

a

Die A-Taste

b

Die Taste B

c

Die C-Taste

d

Die Taste D

e

Die E-Taste

f

Die F-Taste

g

Die G-Taste

h

Die H-Taste

i

Die I-Taste

j

Die J-Taste

k

Die K-Taste

l

Die L-Taste

m

Die M-Taste

n

Die N-Taste

o

Die O-Taste

p

Die P-Taste

q

Die Q-Taste

r

Die R-Taste

s

Die S-Taste

t

Die T-Taste

u

Die U-Taste

v

Die V-Taste

w

Die W-Taste

x

Die X-Taste

y

Die Y-Taste

z

Die Z-Taste

0

Die Null-Taste

1

Die eine Taste

2

Die beiden Schlüssel

3

Die drei Schlüssel

4

Die vier Schlüssel

5

Die fünf Schlüssel

6

Die sechs Schlüssel

7

Die sieben Schlüssel

8

Der acht Schlüssel

9

Die neun Schlüssel

space

Raumschlüssel

!

Ausrufezeichen

"

Doppelter Zitatschlüssel

#

Hash-Taste

$

Dollar Schlüssel

&

Ampersand Schlüssel

'

Einfacher Zitatschlüssel

(

Linker Klammerschlüssel

)

Rechter Klammerschlüssel

*

Asteriskschlüssel

+

Plus-Taste

,

Kommentaste

-

Bindestrich-Minus-Taste

.

Stopptaste

/

Schrägstrich

:

Colonschlüssel

;

Semikolonschlüssel

<

Weniger als Schlüssel

=

Gleicher Schlüssel

>

Größer als Schlüssel

?

Fragezeichen-Schlüssel

@

Bei Vorzeichenschlüssel

[

Linke eckige Klammer-Taste

\

Backslash-Taste

]

Rechte quadratische Klammer-Taste

^

Caret Schlüssel

_

Unterstrichschlüssel

`

Grab-Akzentschlüssel

kp0

Die Numpad-Null-Taste

kp1

Die numpad eine Taste

kp2

Die numpad zwei Schlüssel

kp3

Die numpad drei Schlüssel

kp4

Die numpad vier Schlüssel

kp5

Die numpad fünf Schlüssel

kp6

Der numpad sechs Schlüssel

kp7

Der numpad sieben Schlüssel

kp8

Der numpad acht Schlüssel

kp9

Der numpad neun Schlüssel

kp.

Die Numpad-Dezimalpunkt-Taste

kp/

Der Numpad Divisionsschlüssel

kp*

Der Numpad-Multiplikationstaste

kp-

Die Numpad-Subtraktions-Taste

kp+

Die Numpad-Zusatztaste

kpenter

Die Numpad Enter-Taste

kp=

Der Numpad entspricht dem Schlüssel

up

Cursortaste drücken

down

Cursortaste nach unten drücken

right

Rechte Cursortaste

left

Linke Cursortaste

home

Hauptschlüssel

end

Endschlüssel

pageup

Seite nach oben Schlüssel

pagedown

Seite nach unten

insert

Schlüssel einfügen

backspace

Rücktaste

tab

Tab-Taste

clear

Schlüssel löschen

return

Eingabetaste

delete

Schlüssel löschen

f1

Die erste Funktionstaste

f2

Die 2. Funktionstaste

f3

Die 3. Funktionstaste

f4

Die 4. Funktionstaste

f5

Die 5. Funktionstaste

f6

Die 6. Funktionstaste

f7

Die 7. Funktionstaste

f8

Die 8. Funktionstaste

f9

Die 9. Funktionstaste

f10

Die 10. Funktionstaste

f11

Die 11. Funktionstaste

f12

Die 12. Funktionstaste

f13

Die 13. Funktionstaste

f14

Die 14. Funktionstaste

f15

Die 15. Funktionstaste

numlock

Num-Lock-Taste

capslock

Caps-Lock-Taste

scrollock

Scroll-Lock-Taste

rshift

Rechtsschalttaste

lshift

Linke Umschalttaste

rctrl

Rechtskontrollschlüssel

lctrl

Linke Steuertaste

ralt

Richtige Alt-Taste

lalt

Linke Alt-Taste

rmeta

Richtige Meta-Taste

lmeta

Linker Meta-Schlüssel

lsuper

Linker Superschlüssel

rsuper

Rechts Super Schlüssel

mode

Modus-Taste

compose

Schlüssel hinzufügen

pause

Pause drücken

escape

Escape-Taste

help

Hilfe-Taste

print

Drucktaste

sysreq

Systemanforderungstaste

break

Bruchschlüssel

menu

Menütaste

power

Kraftschlüssel

euro

Euro (€ Euro) Schlüssel

undo

Schlüssel rückgängig machen

www

WWW-Taste

mail

Mailschlüssel

calculator

Rechnertaste

appsearch

Anwendungssuche Schlüssel

apphome

Anwendung Home Key

appback

Anwendungsrücktaste

appforward

Vorwärtsschlüssel

apprefresh

Anwendungsaktualisierungsschlüssel

appbookmarks

Schlüsselwörter für die Anwendungs-Lesezeichen

Scancode

a

Die "A" -Taste auf einem amerikanischen Layout.

b

Die 'B' Taste auf einem amerikanischen Layout.

c

Die 'C' Taste auf einem amerikanischen Layout.

d

Die 'D' Taste auf einem amerikanischen Layout.

e

Die 'E'-Taste auf einem amerikanischen Layout.

f

Die 'F' Taste auf einem amerikanischen Layout.

g

Die 'G'-Taste auf einem amerikanischen Layout.

h

Die 'H' Taste auf einem amerikanischen Layout.

i

Die 'I'-Taste auf einem amerikanischen Layout.

j

Die 'J' Taste auf einem amerikanischen Layout.

k

Die 'K' Taste auf einem amerikanischen Layout.

l

Die 'L' Taste auf einem amerikanischen Layout.

m

Die 'M' Taste auf einem amerikanischen Layout.

n

Die 'N' Taste auf einem amerikanischen Layout.

o

Die 'O'-Taste auf einem amerikanischen Layout.

p

Die 'P' Taste auf einem amerikanischen Layout.

q

Die 'Q'-Taste auf einem amerikanischen Layout.

r

Die 'R' Taste auf einem amerikanischen Layout.

s

Die 's' Taste auf einem amerikanischen Layout.

t

Die 'T' Taste auf einem amerikanischen Layout.

u

Die 'U' Taste auf einem amerikanischen Layout.

v

Die 'V' Taste auf einem amerikanischen Layout.

w

Die "W" -Taste auf einem amerikanischen Layout.

x

Die 'X' Taste auf einem amerikanischen Layout.

y

Die 'Y' Taste auf einem amerikanischen Layout.

z

Die 'Z' Taste auf einem amerikanischen Layout.

1

Die '1' Taste auf einem amerikanischen Layout.

2

Die '2' Taste auf einem amerikanischen Layout.

3

Die '3' Taste auf einem amerikanischen Layout.

4

Die '4' Taste auf einem amerikanischen Layout.

5

Die '5' Taste auf einem amerikanischen Layout.

6

Die '6' Taste auf einem amerikanischen Layout.

7

Die '7' Taste auf einem amerikanischen Layout.

8

Die '8' Taste auf einem amerikanischen Layout.

9

Die '9' Taste auf einem amerikanischen Layout.

0

Die '0' Taste auf einem amerikanischen Layout.

return

Die 'return' / 'enter' Taste auf einem amerikanischen Layout.

escape

Die "Flucht" -Taste auf einem amerikanischen Layout.

backspace

Die "Backspace" -Taste auf einem amerikanischen Layout.

tab

Die 'tab' Taste auf einem amerikanischen Layout.

space

Die Leertaste auf einem amerikanischen Layout.

-

Die Minus-Taste auf einem amerikanischen Layout.

=

Das ist gleichbedeutend mit einem amerikanischen Layout.

[

Die linke Klammer-Taste auf einem amerikanischen Layout.

]

Die rechte Klammer-Taste auf einem amerikanischen Layout.

\

Die Backslash-Taste auf einem amerikanischen Layout.

nonus#

Die Nicht-U.S-Hash-Scancode.

;

Der Semikolonschlüssel auf einem amerikanischen Layout.

'

Der Apostrophschlüssel auf einem amerikanischen Layout.

`

Der Back-Tick / Grab-Key auf einem amerikanischen Layout.

,

Der Komma-Schlüssel auf einem amerikanischen Layout.

.

Die Periodenschlüssel auf einem amerikanischen Layout.

/

Die Vorwärts-Schrägstrich-Taste auf einem amerikanischen Layout.

capslock

Die Capslock-Taste auf einem amerikanischen Layout.

f1

Die F1-Taste auf einem amerikanischen Layout.

f2

Die F2-Taste auf einem amerikanischen Layout.

f3

Die F3-Taste auf einem amerikanischen Layout.

f4

Die F4-Taste auf einem amerikanischen Layout.

f5

Die F5-Taste auf einem amerikanischen Layout.

f6

Die F6-Taste auf einem amerikanischen Layout.

f7

Die F7-Taste auf einem amerikanischen Layout.

f8

Die F8-Taste auf einem amerikanischen Layout.

f9

Die F9-Taste auf einem amerikanischen Layout.

f10

Die F10-Taste auf einem amerikanischen Layout.

f11

Die F11-Taste auf einem amerikanischen Layout.

f12

Die F12-Taste auf einem amerikanischen Layout.

f13

Die F13-Taste auf einem amerikanischen Layout.

f14

Die F14-Taste auf einem amerikanischen Layout.

f15

Die F15-Taste auf einem amerikanischen Layout.

f16

Die F16-Taste auf einem amerikanischen Layout.

f17

Die F17-Taste auf einem amerikanischen Layout.

f18

Die F18-Taste auf einem amerikanischen Layout.

f19

Die F19-Taste auf einem amerikanischen Layout.

f20

Die F20-Taste auf einem amerikanischen Layout.

f21

Die F21-Taste auf einem amerikanischen Layout.

f22

Die F22-Taste auf einem amerikanischen Layout.

f23

Die F23-Taste auf einem amerikanischen Layout.

f24

Die F24-Taste auf einem amerikanischen Layout.

lctrl

Die linke Steuertaste auf einem amerikanischen Layout.

lshift

Die linke Umschalttaste auf einem amerikanischen Layout.

lalt

Die linke Alt- / Options-Taste auf einem amerikanischen Layout.

lgui

Die linke GUI (Befehl / Windows / Super) Taste auf einem amerikanischen Layout.

rctrl

Die richtige Steuerungstaste auf einem amerikanischen Layout.

rshift

Die rechte Umschalttaste auf einem amerikanischen Layout.

ralt

Die richtige alt / option-Taste auf einem amerikanischen Layout.

rgui

Die rechte GUI (Befehl / Windows / Super) Taste auf einem amerikanischen Layout.

printscreen

Der Printscreen-Schlüssel auf einem amerikanischen Layout.

scrolllock

Die Scroll-Lock-Taste auf einem amerikanischen Layout.

pause

Die Pause-Taste auf einem amerikanischen Layout.

insert

Der Einsteckschlüssel auf einem amerikanischen Layout.

home

Die Home-Taste auf einem amerikanischen Layout.

numlock

Die numlock / clear Schlüssel auf einem amerikanischen Layout.

pageup

Die Seite-up-Taste auf einem amerikanischen Layout.

delete

Die Vorwärts-Löschtaste auf einem amerikanischen Layout.

end

Der Endschlüssel auf einem amerikanischen Layout.

pagedown

Die Seite-down-Taste auf einem amerikanischen Layout.

right

Die rechte Pfeiltaste auf einem amerikanischen Layout.

left

Die linke Pfeiltaste auf einem amerikanischen Layout.

down

Die Abwärtspfeiltaste auf einem amerikanischen Layout.

up

Die Aufwärtspfeiltaste auf einem amerikanischen Layout.

nonusbackslash

Der Nicht-U.S-Backslash-Scancode.

application

Der Applikationsschlüssel auf einem amerikanischen Layout. Windows-Kontextmenü, Schlüssel zusammenstellen.

execute

Die 'execute' Taste auf einem amerikanischen Layout.

help

Die "Hilfe" -Taste auf einem amerikanischen Layout.

menu

Die "Menü" -Taste auf einem amerikanischen Layout.

select

Die 'select' Taste auf einem amerikanischen Layout.

stop

Die "Stop" -Taste auf einem amerikanischen Layout.

again

Die "Wieder" -Taste auf einem amerikanischen Layout.

undo

Die "Rückgängig" -Taste auf einem amerikanischen Layout.

cut

Die "Schnitt" -Taste auf einem amerikanischen Layout.

copy

Die "Kopie" -Taste auf einem amerikanischen Layout.

paste

Die "Paste" -Taste auf einem amerikanischen Layout.

find

Die "Find" -Taste auf einem amerikanischen Layout.

kp/

Der Keypad-Vorwärtsschrägstrich auf einem amerikanischen Layout.

kp*

Die Tastatur '*' Taste auf einem amerikanischen Layout.

kp-

Die Tastatur minus Taste auf einem amerikanischen Layout.

kp+

Das Tastenfeld plus Schlüssel auf einem amerikanischen Layout.

kp=

Das Tastenfeld entspricht dem Schlüssel auf einem amerikanischen Layout.

kpenter

Die Tastatur gibt die Taste auf einem amerikanischen Layout ein.

kp1

Die Tastatur '1' Taste auf einem amerikanischen Layout.

kp2

Die Tastatur '2' Taste auf einem amerikanischen Layout.

kp3

Die Tastatur '3' Taste auf einem amerikanischen Layout.

kp4

Die Tastatur '4' Taste auf einem amerikanischen Layout.

kp5

Die Tastatur '5' Taste auf einem amerikanischen Layout.

kp6

Die Tastatur '6' Taste auf einem amerikanischen Layout.

kp7

Die Tastatur '7' Taste auf einem amerikanischen Layout.

kp8

Die Tastatur '8' Taste auf einem amerikanischen Layout.

kp9

Die Tastatur '9' Taste auf einem amerikanischen Layout.

kp0

Die Tastatur '0' Taste auf einem amerikanischen Layout.

kp.

Der Keypad-Periodenschlüssel auf einem amerikanischen Layout.

international1

Der erste internationale Schlüssel auf einem amerikanischen Layout. Verwendet auf asiatischen Tastaturen.

international2

Der zweite internationale Schlüssel auf einem amerikanischen Layout.

international3

Der 3. internationale Schlüssel auf einem amerikanischen Layout. Yen.

international4

Der 4. internationale Schlüssel auf einem amerikanischen Layout.

international5

Der 5. internationale Schlüssel auf einem amerikanischen Layout.

international6

Der 6. internationale Schlüssel auf einem amerikanischen Layout.

international7

Der 7. internationale Schlüssel auf einem amerikanischen Layout.

international8

Der 8. internationale Schlüssel auf einem amerikanischen Layout.

international9

Der neunte internationale Schlüssel auf einem amerikanischen Layout.

lang1

Hangul / Englisch toggle scancode.

lang2

Hanja Umwandlung scancode.

lang3

Katakana scancode

lang4

Hiragana Scancode.

lang5

Zenkaku / Hankaku Scancode.

mute

Die Stummschalttaste auf einem amerikanischen Layout.

volumeup

Die Lautstärke auf einem amerikanischen Layout.

volumedown

Die Lautstärketaste auf einem amerikanischen Layout.

audionext

Die Audio-Next-Track-Taste auf einem amerikanischen Layout.

audioprev

Die vorherige Titel des Titels auf einem amerikanischen Layout.

audiostop

Die Audio-Stop-Taste auf einem amerikanischen Layout.

audioplay

Die Audio-Play-Taste auf einem amerikanischen Layout.

audiomute

Die Audio-Mute-Taste auf einem amerikanischen Layout.

mediaselect

Die Medienauswahl-Taste auf einem amerikanischen Layout.

www

Die "WWW" -Taste auf einem amerikanischen Layout.

mail

Die Mail-Taste auf einem amerikanischen Layout.

calculator

Der Taschenschlüssel auf einem amerikanischen Layout.

computer

Die "Computer" -Taste auf einem amerikanischen Layout.

acsearch

Der AC-Suchschlüssel auf einem amerikanischen Layout.

achome

Die AC-Home-Taste auf einem amerikanischen Layout.

acback

Die AC-Back-Taste auf einem amerikanischen Layout.

acforward

Die AC-Vorwärts-Taste auf einem amerikanischen Layout.

acstop

Th AC Stop-Taste auf einem amerikanischen Layout.

acrefresh

Die AC Refresh-Taste auf einem amerikanischen Layout.

acbookmarks

Die AC-Lesezeichen-Taste auf einem amerikanischen Layout.

power

Die Systemleistung scancode.

brightnessdown

Die Helligkeit-down-Scancode.

brightnessup

Die Helligkeit-up-Scancode.

displayswitch

Der Display-Schalter scancode.

kbdillumtoggle

Die Tastaturbeleuchtung schaltet Scancode um.

kbdillumdown

Die Tastaturbeleuchtung nach unten scancode.

kbdillumup

Die Tastaturbeleuchtung bis Scancode.

eject

Der Ausstoß scancode.

sleep

Das System schlägt Scancode.

alterase

Die Alt-Lösch-Taste auf einem amerikanischen Layout.

sysreq

Die sysreq-Taste auf einem amerikanischen Layout.

cancel

Die "Abbrechen" -Taste auf einem amerikanischen Layout.

clear

Die "klare" Taste auf einem amerikanischen Layout.

prior

Die "vorherige" Taste auf einem amerikanischen Layout.

return2

Die 'return2' Taste auf einem amerikanischen Layout.

separator

Die "Trennzeichen" -Taste auf einem amerikanischen Layout.

out

Die "out" -Taste auf einem amerikanischen Layout.

oper

Die 'oper' Taste auf einem amerikanischen Layout.

clearagain

Die "clearagain" -Taste auf einem amerikanischen Layout.

crsel

Die "Crsel" -Taste auf einem amerikanischen Layout.

exsel

Die "Exsel" -Taste auf einem amerikanischen Layout.

kp00

Die Tastatur 00 Taste auf einem amerikanischen Layout.

kp000

Die Tastatur 000 Schlüssel auf einem amerikanischen Layout.

thsousandsseparator

Die Tausender-Trennzeichen-Taste auf einem amerikanischen Layout.

decimalseparator

Der dezimale Trennschlüssel auf einem amerikanischen Layout.

currencyunit

Die Währung Einheit Schlüssel auf einem amerikanischen Layout.

currencysubunit

Die Währung Untereinheit Schlüssel auf einem amerikanischen Layout.

app1

Die 'app1' scancode.

app2

Die 'app2' scancode.

unknown

Ein unbekannter Schlüssel.

love.math

Types

Functions

Enums

love.math.compress

Komprimiert einen String oder Daten mit einem bestimmten Komprimierungsalgorithmus.

compressedData = love.math.compress( rawstring, format, level )

compressedDataCompressedDataEin neues Datenobjekt, das die komprimierte Version des Strings enthält.
rawstringstringDie rohe (nicht komprimierte) Zeichenfolge zu komprimieren.
format ("lz4")CompressedDataFormatDas Format, das beim Komprimieren der Zeichenfolge verwendet werden soll.
level (-1)numberDie zu verwendende Kompression zwischen 0 und 9. -1 gibt den Standardpegel an. Die Bedeutung dieses Arguments hängt vom verwendeten Komprimierungsformat ab.

compressedData = love.math.compress( data, format, level )

compressedDataCompressedDataEin neues Datenobjekt, das die komprimierte Version der Rohdaten enthält.
dataDataEin Datenobjekt, das die zu komprimierenden (nicht komprimierten) Daten enthält.
format ("lz4")CompressedDataFormatDas Format, das beim Komprimieren der Daten verwendet werden soll.
level (-1)numberDie zu verwendende Kompression zwischen 0 und 9. -1 gibt den Standardpegel an. Die Bedeutung dieses Arguments hängt vom verwendeten Komprimierungsformat ab.

love.math.decompress

Dekomprimiert eine komprimierte Datei oder zuvor komprimierte Zeichenfolge oder Datenobjekt.

rawstring = love.math.decompress( compressedData )

rawstringstringEin String mit den roh dekomprimierten Daten.
compressedDataCompressedDataDie komprimierten Daten zu dekomprimieren.

rawstring = love.math.decompress( compressedString, format )

rawstringstringEin String mit den roh dekomprimierten Daten.
compressedStringstringEin String mit Daten, die zuvor mit love.math.compress komprimiert wurden.
formatCompressedDataFormatDas Format, das verwendet wurde, um die angegebene Zeichenfolge zu komprimieren.

rawstring = love.math.decompress( data, format )

rawstringstringEin String mit den roh dekomprimierten Daten.
dataDataEin Datenobjekt, das Daten enthält, die zuvor mit love.math.compress komprimiert wurden.
formatCompressedDataFormatDas Format, das verwendet wurde, um die angegebenen Daten zu komprimieren.

love.math.gammaToLinear

Konvertiert eine Farbe aus Gamma-Space (sRGB) in linear-space (RGB). Dies ist nützlich, wenn Sie gamma-korrektes Rendering durchführen und Sie müssen Mathe in linearem RGB in den wenigen Fällen machen, in denen LÖVE keine Konvertierungen automatisch verarbeitet.

lr, lg, lb = love.math.gammaToLinear( r, g, b )

lrnumberDer rote Kanal der umgewandelten Farbe im linearen RGB-Raum.
lgnumberDer grüne Kanal der umgewandelten Farbe im linearen RGB-Raum.
lbnumberDer blaue Kanal der umgewandelten Farbe im linearen RGB-Raum.
rnumberDer rote Kanal der sRGB-Farbe zu konvertieren.
gnumberDer grüne Kanal der sRGB-Farbe zu konvertieren.
bnumberDer blaue Kanal der sRGB-Farbe zu konvertieren.

lr, lg, lb = love.math.gammaToLinear( color )

lrnumberDer rote Kanal der umgewandelten Farbe im linearen RGB-Raum.
lgnumberDer grüne Kanal der umgewandelten Farbe im linearen RGB-Raum.
lbnumberDer blaue Kanal der umgewandelten Farbe im linearen RGB-Raum.
colortableEin Array mit den roten, grünen und blauen Kanälen der sRGB-Farbe zu konvertieren.

lc = love.math.gammaToLinear( c )

lcnumberDer Wert des Farbkanals im linearen RGB-Raum.
cnumberDer Wert eines Farbkanals im sRGB-Raum zu konvertieren.

love.math.getRandomSeed

Ruft den Samen des Zufallszahlengenerators ab.

Der Zustand wird in zwei Zahlen aufgeteilt, weil Lua die Verwendung von Doppel für alle Zahlenwerte verwendet - doppelte können nicht genau darstellen ganzzahlige Werte über 2 ^ 53.

low, high = love.math.getRandomSeed()

lownumberInteger-Zahl, die die unteren 32 Bits des 64-Bit-Zustandswertes des Zufallszahlengenerators darstellt.
highnumberInteger-Zahl, die die höheren 32 Bits des 64-Bit-Zustandswertes des Zufallszahlengenerators darstellt.

love.math.getRandomState

Ruft den aktuellen Zustand des Zufallszahlengenerators ab. Dies gibt einen opaken implementierungsabhängigen String zurück, der nur für die spätere Verwendung mit RandomGenerator: setState nützlich ist.

Dies unterscheidet sich von RandomGenerator: getSeed in, dass getState bekommt den RandomGenerator aktuellen Zustand, während getSeed bekommt die zuvor eingestellte Samen Nummer.

Der Wert der Zustandszeichenfolge hängt nicht vom aktuellen Betriebssystem ab.

state = love.math.getRandomState()

statestringDer aktuelle Zustand des RandomGenerator-Objekts, dargestellt als String.

love.math.isConvex

Überprüft, ob ein Polygon konvex ist.

PolygonShapes in love.physics, einige Formen von Mesh und Polygone, die mit love.graphics.polygon gezeichnet werden, müssen einfache konvexe Polygone sein.

convex = love.math.isConvex( vertices )

convexbooleanOb das gegebene Polygon konvex ist.
verticestableDie Ecken des Polygons als Tabelle in Form von {x1, y1, x2, y2, x3, y3, ...}.

convex = love.math.isConvex( x1, y1, x2, y2, x3, y3, ... )

convexbooleanOb das gegebene Polygon konvex ist.
x1numberDie Position des ersten Scheitelpunktes des Polygons auf der x-Achse.
y1numberDie Position des ersten Scheitelpunktes des Polygons auf der y-Achse.
x2numberDie Position des zweiten Scheitelpunktes des Polygons auf der x-Achse.
y2numberDie Position des zweiten Scheitelpunktes des Polygons auf der y-Achse.
x3numberDie Position des dritten Scheitelpunktes des Polygons auf der x-Achse.
y3numberDie Position des dritten Scheitelpunktes des Polygons auf der y-Achse.
...numberZusätzliche Ecken.

love.math.linearToGamma

Konvertiert eine Farbe aus linear-space (RGB) in gamma-space (sRGB). Dies ist nützlich bei der Speicherung von linearen RGB-Farbwerten in einem Bild, da der lineare RGB-Farbraum weniger präzise als sRGB für dunkle Farben hat, was zu spürbaren Farbbanding beim Zeichnen führen kann.

Im Allgemeinen sind die Farben, die auf dem, was sie aussehen, auf dem Bildschirm aussehen, bereits im Gamma-Raum und sollten nicht doppelt umgewandelt werden. Farben, die mit Mathematik berechnet werden, befinden sich oft im linearen RGB-Raum.

cr, cg, cb = love.math.linearToGamma( lr, lg, lb )

crnumberDer rote Kanal der umgewandelten Farbe im gamma sRGB Raum.
cgnumberDer grüne Kanal der umgewandelten Farbe im gamma sRGB Raum.
cbnumberDer blaue Kanal der umgewandelten Farbe im gamma sRGB Raum.
lrnumberDer rote Kanal der linearen RGB-Farbe zu konvertieren.
lgnumberDer grüne Kanal der linearen RGB-Farbe zu konvertieren.
lbnumberDer blaue Kanal der linearen RGB-Farbe zu konvertieren.

cr, cg, cb = love.math.linearToGamma( color )

crnumberDer rote Kanal der umgewandelten Farbe im gamma sRGB Raum.
cgnumberDer grüne Kanal der umgewandelten Farbe im gamma sRGB Raum.
cbnumberDer blaue Kanal der umgewandelten Farbe im gamma sRGB Raum.
colortableEin Array mit den roten, grünen und blauen Kanälen der linearen RGB-Farbe zu konvertieren.

c = love.math.linearToGamma( lc )

cnumberDer Wert des Farbkanals im gamma sRGB-Raum.
lcnumberDer Wert eines Farbkanals im linearen RGB-Raum zum Konvertieren.

love.math.newBezierCurve

Erstellt ein neues BezierCurve-Objekt.

Die Anzahl der Ecken in dem Kontroll-Polygon bestimmt den Grad der Kurve, z.B. drei Ecken definieren eine quadratische (Grad 2) Bézier Kurve, vier Ecken definieren eine kubische (Grad 3) Bézier Kurve, etc.

curve = love.math.newBezierCurve( vertices )

curveBezierCurveEin Bézier Kurvenobjekt.
verticestableDie Ecken des Kontroll-Polygons als Tabelle in Form von {x1, y1, x2, y2, x3, y3, ...}.

curve = love.math.newBezierCurve( x1, y1, x2, y2, x3, y3, ... )

curveBezierCurveEin Bézier Kurvenobjekt.
x1numberDie Position des ersten Scheitelpunktes des Kontroll-Polygons auf der x-Achse.
y1numberDie Position des ersten Scheitelpunktes des Kontroll-Polygons auf der y-Achse.
x2numberDie Position des zweiten Scheitelpunktes des Kontroll-Polygons auf der x-Achse.
y2numberDie Position des zweiten Scheitelpunktes des Kontroll-Polygons auf der y-Achse.
x3numberDie Position des dritten Scheitelpunktes des Kontroll-Polygons auf der x-Achse.
y3numberDie Position des dritten Scheitelpunktes des Kontroll-Polygons auf der y-Achse.
...numberZusätzliche Ecken.

love.math.newRandomGenerator

Erstellt ein neues RandomGenerator-Objekt, das völlig unabhängig von anderen RandomGenerator-Objekten und zufälligen Funktionen ist.

rng = love.math.newRandomGenerator()

rngRandomGeneratorDas neue Random Number Generator Objekt.

rng = love.math.newRandomGenerator( seed )

rngRandomGeneratorDas neue Random Number Generator Objekt.
seednumberDie anfängliche Samennummer für dieses Objekt zu verwenden.

rng = love.math.newRandomGenerator( low, high )

rngRandomGeneratorDas neue Random Number Generator Objekt.
lownumberDie unteren 32 Bits der Zustandsnummer, die für diese Instanz des Objekts verwendet werden soll.
highnumberDie höheren 32 Bits der Zustandsnummer, die für diese Instanz des Objekts verwendet werden soll.

love.math.noise

Erzeugt einen Simplex- oder Perlin-Rauschwert in 1-4 Dimensionen. Der Rückgabewert ist bei gleicher Argumentation immer gleich.

Simplex-Lärm ist eng mit Perlin-Lärm verwandt. Es ist weit verbreitet für die prozedurale Inhalte Generation verwendet.

Es gibt viele Webseiten, die Perlin und Simplex Lärm im Detail besprechen.

value = love.math.noise( x )

Generiert simplex Lärm von 1 Dimension.

valuenumberDer Rauschwert im Bereich von {0, 1}.
xnumberDie Zahl, die verwendet wird, um den Rauschwert zu erzeugen.

value = love.math.noise( x, y )

generiert simplex Lärm von 2 Dimensionen.

valuenumberDer Rauschwert im Bereich von {0, 1}.
xnumberDer erste Wert des zweidimensionalen Vektors, der verwendet wird, um den Rauschwert zu erzeugen.
ynumberDer zweite Wert des 2-dimensionalen Vektors, der verwendet wird, um den Rauschwert zu erzeugen.

value = love.math.noise( x, y, z )

Erzeugt Perlin Rauschen (Simplex Rauschen in Version 0.9.2 und älter) von 3 Maße.

valuenumberDer Rauschwert im Bereich von {0, 1}.
xnumberDer erste Wert des dreidimensionalen Vektors, der verwendet wird, um den Rauschwert zu erzeugen.
ynumberDer zweite Wert des dreidimensionalen Vektors, der verwendet wird, um den Rauschwert zu erzeugen.
znumberDer dritte Wert des dreidimensionalen Vektors, der verwendet wird, um den Rauschwert zu erzeugen.

value = love.math.noise( x, y, z, w )

Generiert Perlin Geräusch (simplex Lärm in Version 0.9.2 und ältere) 4 Maße.

valuenumberDer Rauschwert im Bereich von {0, 1}.
xnumberDer erste Wert des 4-dimensionalen Vektors, der verwendet wird, um den Rauschwert zu erzeugen.
ynumberDer zweite Wert des 4-dimensionalen Vektors, der verwendet wird, um den Rauschwert zu erzeugen.
znumberDer dritte Wert des 4-dimensionalen Vektors, der verwendet wird, um den Rauschwert zu erzeugen.
wnumberDer vierte Wert des 4-dimensionalen Vektors, der verwendet wird, um den Rauschwert zu erzeugen.

love.math.random

Erzeugt eine pseudozufällige Zahl plattformunabhängig.

number = love.math.random()

Get pseudo-zufällige reelle Zahl innerhalb gleichmäßig verteilten [0, 1].

numbernumberDie Pseudozufallszahl.

number = love.math.random( max )

Erhalten einer gleichförmig verteilten pseudo-zufällige ganze Zahl innerhalb [1, max].

numbernumberDie pseudozufällige ganze Zahl.
maxnumberDer maximal mögliche Wert, den es zurückgeben sollte.

number = love.math.random( min, max )

Get pseudo-zufällige ganze Zahl innerhalb [min, max] gleichmäßig verteilt.

numbernumberDie pseudozufällige ganze Zahl.
minnumberDer minimal mögliche Wert, den es zurückgeben sollte.
maxnumberDer maximal mögliche Wert, den es zurückgeben sollte.

love.math.randomNormal

Holen Sie sich eine normal verteilte Pseudozufallszahl.

number = love.math.randomNormal( stddev, mean )

numbernumberNormalerweise verteilte Zufallszahl mit Varianz (stddev) ² und dem angegebenen Mittelwert.
stddev (1)numberStandardabweichung der Verteilung.
mean (0)numberDer Mittelwert der Verteilung.

love.math.setRandomSeed

Setzt den Samen des Zufallszahlengenerators mit der angegebenen Integer-Nummer.

love.math.setRandomSeed( seed )

seednumberDie ganzzahlige Zahl, mit der du die Randomisierung aussuchen willst. Muss im Bereich von {1, 2 ^ 53} liegen.

love.math.setRandomSeed( low, high )

lownumberDie unteren 32 Bits des Zustandswertes. Muss im Bereich von {0, 2 ^ 32 - 1} liegen.
highnumberDie höheren 32 Bits des Zustandswertes. Muss im Bereich von {0, 2 ^ 32 - 1} liegen.

love.math.setRandomState

Ruft den aktuellen Zustand des Zufallszahlengenerators ab. Dies gibt einen opaken implementierungsabhängigen String zurück, der nur für die spätere Verwendung mit RandomGenerator: setState nützlich ist.

Dies unterscheidet sich von RandomGenerator: getSeed in, dass getState bekommt den RandomGenerator aktuellen Zustand, während getSeed bekommt die zuvor eingestellte Samen Nummer.

Der Wert der Zustandszeichenfolge hängt nicht vom aktuellen Betriebssystem ab.

love.math.setRandomState( state )

statestringDer aktuelle Zustand des RandomGenerator-Objekts, dargestellt als String.

love.math.triangulate

Triangulieren Sie ein einfaches Polygon.

triangles = love.math.triangulate( polygon )

trianglestableListe der Dreiecke, aus denen sich das Polygon zusammensetzt, in Form von {{x1, y1, x2, y2, x3, y3}, {x1, y1, x2, y2, x3, y3}, ...}.
polygontablePolygon zu triangulieren. Darf sich nicht schneiden.

triangles = love.math.triangulate( x1, y1, x2, y2, x3, y3, ... )

trianglestableListe der Dreiecke, aus denen sich das Polygon zusammensetzt, in Form von {{x1, y1, x2, y2, x3, y3}, {x1, y1, x2, y2, x3, y3}, ...}.
x1numberDie Position des ersten Scheitelpunktes des Polygons auf der x-Achse.
y1numberDie Position des ersten Scheitelpunktes des Polygons auf der y-Achse.
x2numberDie Position des zweiten Scheitelpunktes des Polygons auf der x-Achse.
y2numberDie Position des zweiten Scheitelpunktes des Polygons auf der y-Achse.
x3numberDie Position des dritten Scheitelpunktes des Polygons auf der x-Achse.
y3numberDie Position des dritten Scheitelpunktes des Polygons auf der y-Achse.
...numberZusätzliche Ecken.

CompressedDataFormat

lz4

Das Komprimierungsformat LZ4. Komprimiert und dekomprimiert sehr schnell, aber das Kompressionsverhältnis ist nicht das Beste. LZ4-HC wird verwendet, wenn Kompressionsniveau 9 angegeben ist.

zlib

Das zlib-Format ist DEFLATE-komprimierte Daten mit einem kleinen Bit von Header-Daten. Komprimiert sich relativ langsam und dekomprimiert mäßig schnell und hat ein anständiges Kompressionsverhältnis.

gzip

Das gzip-Format ist DEFLATE-komprimierte Daten mit einem etwas größeren Header als zlib. Da es DEFLATE verwendet, hat es die gleichen Kompressionseigenschaften wie das zlib-Format.

BezierCurve

Ein Bézier-Kurvenobjekt, das Bézier-Kurven beliebigen Grades auswerten und rendern kann.

Constructors

Functions

Supertypes

BezierCurve:evaluate

Bewertung der Bézier-Kurve bei Parameter t. Der Parameter muss zwischen 0 und 1 (inklusive) liegen.

Diese Funktion kann verwendet werden, um Objekte entlang von Pfaden oder Tween-Parametern zu verschieben. Allerdings sollte es nicht verwendet werden, um die Kurve zu machen, siehe BezierCurve: Render für diesen Zweck.

x, y = BezierCurve:evaluate( t )

xnumberx Koordinate der Kurve bei Parameter t.
ynumbery-Koordinate der Kurve bei Parameter t.
tnumberWo kann man die Kurve auswerten.

BezierCurve:getControlPoint

Holen Sie sich Koordinaten des i-ten Kontrollpunktes. Indizes beginnen mit 1.

x, y = BezierCurve:getControlPoint( i )

xnumberPosition des Kontrollpunktes entlang der x-Achse
ynumberPosition des Kontrollpunktes entlang der y-Achse
inumberIndex der Kontrollstelle.

BezierCurve:getControlPointCount

Holen Sie sich die Anzahl der Kontrollpunkte in der Bézier-Kurve.

count = BezierCurve:getControlPointCount()

countnumberDie Anzahl der Kontrollpunkte.

BezierCurve:getDegree

Erhalten Sie den Grad der Bézier-Kurve. Der Grad ist gleich der Anzahl der Kontrollpunkte - 1.

degree = BezierCurve:getDegree()

degreenumberGrad der Bézier-Kurve.

BezierCurve:getDerivative

Holen Sie sich die Ableitung der Bézier-Kurve.

Diese Funktion kann verwendet werden, um Sprites zu drehen, die sich entlang einer Kurve in Richtung der Bewegung bewegen und die Richtung senkrecht zur Kurve bei irgendeinem Parameter t berechnen.

derivative = BezierCurve:getDerivative()

derivativeBezierCurveDie abgeleitete Kurve.

BezierCurve:getSegment

Ruft eine BezierCurve ab, die dem angegebenen Segment dieser BezierCurve entspricht.

curve = BezierCurve:getSegment( startpoint, endpoint )

curveBezierCurveEine BezierCurve, die dem angegebenen Segment entspricht.
startpointnumberDer Ausgangspunkt entlang der Kurve. Muss zwischen 0 und 1 liegen.
endpointnumberDas Ende des Segments Muss zwischen 0 und 1 liegen.

BezierCurve:insertControlPoint

Steuerpunkt als neuen i-ten Kontrollpunkt einfügen. Bestehende Kontrollpunkte von vorwärts werden um 1 zurückgedrückt. Indizes beginnen mit 1. Negative Indizes wickeln um: -1 ist der letzte Kontrollpunkt, -2 der eine vor dem letzten, etc.

BezierCurve:insertControlPoint( x, y, i )

xnumberPosition des Kontrollpunktes entlang der x-Achse
ynumberPosition des Kontrollpunktes entlang der y-Achse
i (-1)numberIndex der Kontrollstelle.

BezierCurve:removeControlPoint

Entfernt den angegebenen Kontrollpunkt.

BezierCurve:removeControlPoint( index )

indexnumberDer Index der Kontrollstelle zu entfernen.

BezierCurve:render

Holen Sie sich eine Liste von Koordinaten, die mit love.graphics.line verwendet werden sollen.

Diese Funktion bearbeitet die Bézier-Kurve mit rekursiver Unterteilung. Sie können die Rekursionstiefe mit dem Tiefenparameter steuern.

Wenn Sie nur daran interessiert sind, die Position auf der Kurve zu kennen, die ein Parameter gegeben hat, verwenden Sie BezierCurve: auswerten.

coordinates = BezierCurve:render( depth )

coordinatestableListe der x, y-koordinierten Paare von Punkten auf der Kurve.
depth (5)numberAnzahl rekursiver Unterteilungsschritte

BezierCurve:renderSegment

Holen Sie sich eine Liste von Koordinaten auf einem bestimmten Teil der Kurve, um mit love.graphics.line verwendet werden.

Diese Funktion bearbeitet die Bézier-Kurve mit rekursiver Unterteilung. Sie können die Rekursionstiefe mit dem Tiefenparameter steuern.

Wenn Sie nur die Position auf der Kurve mit einem Parameter kennen müssen, verwenden Sie BezierCurve: auswerten.

coordinates = BezierCurve:renderSegment( startpoint, endpoint, depth )

coordinatestableListe der x, y-koordinierten Paare von Punkten auf der Kurve.
startpointnumberDer Ausgangspunkt entlang der Kurve. Muss zwischen 0 und 1 liegen.
endpointnumberDas Ende des zu rendernden Segments Muss zwischen 0 und 1 liegen.
depth (5)numberAnzahl rekursiver Unterteilungsschritte

BezierCurve:rotate

Drehen Sie die Bézier-Kurve um einen Winkel.

BezierCurve:rotate( angle, ox, oy )

anglenumberRotationswinkel im Bogenmaß
ox (0)numberX-Koordinate des Rotationszentrums
oy (0)numberY-Koordinate des Rotationszentrums

BezierCurve:scale

Skaliere die Bézier-Kurve um einen Faktor.

BezierCurve:scale( s, ox, oy )

snumberSkalierungsfaktor.
ox (0)numberX-Koordinate des Skalierungszentrums
oy (0)numberY-Koordinate des Skalierungszentrums

BezierCurve:setControlPoint

Setzen Sie die Koordinaten des i-ten Kontrollpunktes. Indizes beginnen mit 1.

BezierCurve:setControlPoint( i, ox, oy )

inumberIndex der Kontrollstelle.
oxnumberPosition des Kontrollpunktes entlang der x-Achse
oynumberPosition des Kontrollpunktes entlang der y-Achse

BezierCurve:translate

Bewegen Sie die Bézier-Kurve um einen Offset.

BezierCurve:translate( dx, dy )

dxnumberVersatz entlang der x-Achse.
dynumberVersatz entlang der y-Achse

CompressedData

Stellt die mit einem bestimmten Algorithmus komprimierten Bytedaten dar.

love.math.decompress kann verwendet werden, um die Daten zu dekomprimieren.

Constructors

Functions

Supertypes

CompressedData:getFormat

Ruft das Komprimierungsformat der CompressedData ab.

format = CompressedData:getFormat()

formatCompressedDataFormatDas Format der CompressedData.

RandomGenerator

Ein Zufallszahlengenerator-Objekt welches seinen eigenen zufälligen Zustand hat.

Constructors

Functions

Supertypes

RandomGenerator:getSeed

Ermittelt den Zustand des Zufallszahlengenerators.

Der Zustand wird in zwei Zahlen aufgeteilt, weil Lua die Verwendung von Doppel für alle Zahlenwerte verwendet - doppelte können nicht genau darstellen ganzzahlige Werte über 2 ^ 53.

low, high = RandomGenerator:getSeed()

lownumberInteger-Zahl, die die unteren 32 Bits des 64-Bit-Zustandswertes des Zufallszahlengenerators darstellt.
highnumberInteger-Zahl, die die höheren 32 Bits des 64-Bit-Zustandswertes des Zufallszahlengenerators darstellt.

RandomGenerator:getState

Ruft den aktuellen Zustand des Zufallszahlengenerators ab. Dies gibt einen opaken implementierungsabhängigen String zurück, der nur für die spätere Verwendung mit RandomGenerator: setState nützlich ist.

Dies unterscheidet sich von RandomGenerator: getSeed in, dass getState bekommt den RandomGenerator aktuellen Zustand, während getSeed bekommt die zuvor eingestellte Samen Nummer.

Der Wert der Zustandszeichenfolge hängt nicht vom aktuellen Betriebssystem ab.

state = RandomGenerator:getState()

statestringDer aktuelle Zustand des RandomGenerator-Objekts, dargestellt als String.

RandomGenerator:random

Erzeugt eine pseudozufällige Zahl plattformunabhängig.

number = RandomGenerator:random()

Get gleichmäßig verteilten Pseudozufallszahl in [0, 1].

numbernumberDie Pseudozufallszahl.

number = RandomGenerator:random( max )

Get pseudo-zufällige ganze Zahl innerhalb [1, max] gleichmäßig verteilt.

numbernumberDie pseudozufällige ganze Zahl.
maxnumberDer maximal mögliche Wert, den es zurückgeben sollte.

number = RandomGenerator:random( min, max )

Get pseudo-zufällige ganze Zahl innerhalb [min, max] gleichmäßig verteilt.

numbernumberDie pseudozufällige ganze Zahl.
minnumberDer minimal mögliche Wert, den es zurückgeben sollte.
maxnumberDer maximal mögliche Wert, den es zurückgeben sollte.

RandomGenerator:randomNormal

Holen Sie sich eine normal verteilte Pseudozufallszahl.

number = RandomGenerator:randomNormal( stddev, mean )

numbernumberNormalerweise verteilte Zufallszahl mit Varianz (stddev) ² und dem angegebenen Mittelwert.
stddev (1)numberStandardabweichung der Verteilung.
mean (0)numberDer Mittelwert der Verteilung.

RandomGenerator:setSeed

Setzt den Samen des Zufallszahlengenerators mit der angegebenen Integer-Nummer.

RandomGenerator:setSeed( seed )

seednumberDie ganzzahlige Zahl, mit der du die Randomisierung aussuchen willst. Muss im Bereich von {1, 2 ^ 53} liegen.

RandomGenerator:setSeed( low, high )

lownumberDie unteren 32 Bits des Zustandswertes. Muss im Bereich von {0, 2 ^ 32 - 1} liegen.
high (0)numberDie höheren 32 Bits des Zustandswertes. Muss im Bereich von {0, 2 ^ 32 - 1} liegen.

RandomGenerator:setState

Setzt den aktuellen Zustand des Zufallszahlengenerators. Der als Argument für diese Funktion verwendete Wert ist ein opaker, implementierungsabhängiger String und sollte nur von einem vorherigen Aufruf von RandomGenerator: getState stammen.

Dies unterscheidet sich von RandomGenerator: setSeed in diesem setState setzt den aktuellen umsetzungsabhängigen Zustand des RandomGenerators direkt ein, während setSeed ihm einen neuen Seed-Wert gibt.

Die Wirkung der Zustandszeichenfolge hängt nicht vom aktuellen Betriebssystem ab.

RandomGenerator:setState( state )

statestringDer neue Zustand des RandomGenerator-Objekts, dargestellt als String. Dies sollte von einem vorherigen Aufruf von RandomGenerator: getState stammen.

love.mouse

Types

Functions

Enums

love.mouse.getCursor

Gibt den aktuellen Mauszeiger zurück.

cursor = love.mouse.getCursor()

cursorCursorDer aktuelle Zeiger oder nil wenn kein Zeiger bestimmt wurde.

love.mouse.getPosition

Gibt die aktuelle Position der Maus zurück.

x, y = love.mouse.getPosition()

xnumberDie Position der Maus auf der x-Achse.
ynumberDie Position der Maus auf der y-Achse.

love.mouse.getRelativeMode

Ermittelt, ob der relative Modus für die Maus aktiviert ist.

Wenn der relative Modus aktiviert ist, wird der Cursor ausgeblendet und bewegt sich nicht, wenn die Maus funktioniert, aber relative Mausbewegungsereignisse werden immer noch über love.mousemoved erzeugt. Dies lässt die Maus in jede Richtung unbegrenzt bewegen, ohne dass der Cursor an den Rändern des Bildschirms stecken bleibt.

Die gemeldete Position der Maus wird nicht aktualisiert, während der relative Modus aktiviert ist, auch wenn relative Mausbewegungsereignisse erzeugt werden.

enabled = love.mouse.getRelativeMode()

enabledbooleanTrue, wenn der relative Modus aktiviert ist, false, wenn er deaktiviert ist.

love.mouse.getSystemCursor

Ruft ein Cursor-Objekt ab, das einen system-nativen Hardware-Cursor darstellt.

 Hardware-Cursor sind frameratunabhängig und arbeiten genauso wie normale Betriebssystem-Cursor. Anders als das Zeichnen eines Bildes an den aktuellen Koordinaten der Maus, haben Hardware-Cursor niemals eine sichtbare Verzögerung, wenn die Maus bewegt wird und wenn die Cursorposition auch bei niedrigen Frameraten aktualisiert wird.

cursor = love.mouse.getSystemCursor( ctype )

cursorCursorDas Cursor-Objekt, das den Systemcursortyp darstellt.
ctypeCursorTypeDie Art des Systemcursors zu bekommen.

love.mouse.getX

Gibt die Position der Maus auf der x-Achse zurück.

x = love.mouse.getX()

xnumberDie Position der Maus auf der x-Achse.

love.mouse.getY

Gibt die Position der Maus auf der y-Achse zurück.

y = love.mouse.getY()

ynumberDie Position der Maus auf der y-Achse.

love.mouse.hasCursor

Ermittelt, ob die Cursorfunktionalität unterstützt wird.

Wenn es nicht unterstützt wird, ruft love.mouse.newCursor und love.mouse.getSystemCursor einen Fehler auf. Mobile Geräte unterstützen keine Cursor.

hascursor = love.mouse.hasCursor()

hascursorbooleanOb das System die Cursorfunktionalität hat.

love.mouse.isDown

Gibt zurück ob eine bestimmte Maustaste gedrückt ist. Diese Funktion erkennt kein Mausrad-Scrolling (hierfür sollte stattdessen love.mousepressed genutzt werden.

down = love.mouse.isDown( button, ... )

downbooleanTrue, wenn die angegebene Schaltfläche unten ist.
buttonnumberDer Index einer Schaltfläche zum Überprüfen. 1 ist die primäre Maustaste, 2 ist die sekundäre Maustaste, etc.
...numberZusätzliche Schaltflächennummern zu überprüfen.

love.mouse.isGrabbed

Gibt zurück ob der Mauszeiger an das Fenster gebunden ist.

grabbed = love.mouse.isGrabbed()

grabbedbooleanWahr wenn der Zeiger an das Fenster gebunden ist.

love.mouse.isVisible

Überprüft, ob der Cursor sichtbar ist.

visible = love.mouse.isVisible()

visiblebooleanTrue, wenn der Cursor sichtbar ist, false, wenn der Cursor ausgeblendet ist.

love.mouse.newCursor

Erstellt ein neues Hardware-Cursor-Objekt aus einer Bilddatei oder ImageData.

Hardware-Cursor sind frameratunabhängig und arbeiten genauso wie normale Betriebssystem-Cursor. Anders als das Zeichnen eines Bildes an den aktuellen Koordinaten der Maus, haben Hardware-Cursor niemals eine sichtbare Verzögerung, wenn die Maus bewegt wird und wenn die Cursorposition auch bei niedrigen Frameraten aktualisiert wird.

Der Hot Spot ist der Punkt, den das Betriebssystem verwendet, um zu bestimmen, was geklickt wurde und an welcher Position der Mauszeiger ist. Zum Beispiel hat der normale Pfeilzeiger normalerweise seinen Hot Spot am oberen linken Rand des Bildes, aber ein Fadenkreuz-Cursor könnte es in der Mitte haben.

cursor = love.mouse.newCursor( imageData, hotx, hoty )

cursorCursorDas neue Cursor-Objekt.
imageDataImageDataDie ImageData für den neuen Cursor zu verwenden.
hotx (0)numberDie x-Koordinate in der ImageData des Hotspots des Cursors.
hoty (0)numberDie y-Koordinate in der ImageData des Hotspots des Cursors.

cursor = love.mouse.newCursor( filepath, hotx, hoty )

cursorCursorDas neue Cursor-Objekt.
filepathstringPfad zum Bild für den neuen Cursor.
hotx (0)numberDie x-Koordinate in der ImageData des Hotspots des Cursors.
hoty (0)numberDie y-Koordinate in der ImageData des Hotspots des Cursors.

cursor = love.mouse.newCursor( fileData, hotx, hoty )

cursorCursorDas neue Cursor-Objekt.
fileDataFileDataDaten, die das für den neuen Cursor zu verwendende Bild darstellen.
hotx (0)numberDie x-Koordinate in der ImageData des Hotspots des Cursors.
hoty (0)numberDie y-Koordinate in der ImageData des Hotspots des Cursors.

love.mouse.setCursor

Setzt den aktuellen Mauszeiger.

Setzt den aktuellen Mauszeiger auf den Standard zurück, wenn er ohne Argumente aufgerufen wird.

love.mouse.setCursor()

love.mouse.setCursor( cursor )

cursorCursorDas Cursor-Objekt als aktueller Mauscursor verwenden.

love.mouse.setGrabbed

Bindet den Mauszeiger an das Fenster.

love.mouse.setGrabbed( grab )

grabbooleanWahr wenn der Mauszeiger an das Fenster gebunden werden soll, falsch um ihn freizulassen.

love.mouse.setPosition

Setzt den Mauszeiger an eine neue Position.

love.mouse.setPosition( x, y )

xnumberDie neue Position des Zeigers auf der x-Achse.
ynumberDie neue Position des Zeigers auf der y-Achse.

love.mouse.setRelativeMode

Legt fest, ob der relative Modus für die Maus aktiviert ist.

Wenn der relative Modus aktiviert ist, wird der Cursor ausgeblendet und bewegt sich nicht, wenn die Maus funktioniert, aber relative Mausbewegungsereignisse werden immer noch über love.mousemoved erzeugt. Dies lässt die Maus in jede Richtung unbegrenzt bewegen, ohne dass der Cursor an den Rändern des Bildschirms stecken bleibt.

Die gemeldete Position der Maus wird nicht aktualisiert, während der relative Modus aktiviert ist, auch wenn relative Mausbewegungsereignisse erzeugt werden.

love.mouse.setRelativeMode( enable )

enablebooleanTrue, um den relativen Modus zu aktivieren, false, um ihn zu deaktivieren.

love.mouse.setVisible

Stellt die Sichtbarkeit des Cursors ein.

love.mouse.setVisible( visible )

visiblebooleanTrue, um den Cursor auf sichtbar zu setzen, false, um den Cursor zu verstecken.

love.mouse.setX

Bestimmt die aktuelle Position der Maus auf der x-Achse.

love.mouse.setX( x )

xnumberDie neue Position auf der x-Achse.

love.mouse.setY

Bestimmt die aktuelle Position der Maus auf der y-Achse.

love.mouse.setY( y )

ynumberDie neue Position auf der y-Achse.

CursorType

image

Der Zeiger verwendet ein benutzerdefiniertes Bild.

arrow

Ein Pfeilzeiger.

ibeam

Ein I-Balken, welcher normalerweise angezeigt wird, wenn die Maus über veränderbaren Textpassagen positioniert wird.

wait

Eine Wartegrafik.

waitarrow

Ein kleiner Wartezeiger mit einem Pfeilzeiger.

crosshair

Ein Fadenkreuzsymbol.

sizenwse

Ein Doppelpfeil welcher nach oben links und unten rechts zeigt.

sizenesw

Ein Doppelpfeil welcher nach oben rechts und unten links zeigt.

sizewe

Ein Doppelpfeil der nach rechts und links zeigt.

sizens

Ein Doppelpfeil der nach oben und unten zeigt.

sizeall

Ein Pfeilzeiger, der nach oben, unten, links und rechts zeigt.

no

Ein durchgestrichener Kreis oder Totenkopfsymbol.

hand

Ein Handsymbol.

Cursor

Repräsentiert einen hardware Cursor.

Constructors

Functions

Supertypes

Cursor:getType

Ruft den Typ des Cursors ab.

cursortype = Cursor:getType()

cursortypeCursorTypeDer Typ des Cursors.

love.physics

Types

Functions

Enums

love.physics.getDistance

Erhält die beiden nächsten Punkte zwischen zwei Spielplätzen und deren Distanz.

distance, x1, y1, x2, y2 = love.physics.getDistance( fixture1, fixture2 )

distancenumberDer Abstand der beiden Punkte.
x1numberDie x-Koordinate des ersten Punktes.
y1numberDie y-Koordinate des ersten Punktes.
x2numberDie x-Koordinate des zweiten Punktes.
y2numberDie y-Koordinate des zweiten Punktes.
fixture1FixtureDie erste Leuchte.
fixture2FixtureDie zweite Befestigung.

love.physics.getMeter

Erhalten Sie die Skala der Welt.

Die Weltskala ist die Anzahl der Pixel pro Meter. Versuchen Sie, Ihre Form Größen weniger als 10-mal diese Skala zu halten.

Dies ist wichtig, weil die Physik in Box2D abgestimmt ist, um gut für Objekte von Größe 0.1m bis zu 10m zu arbeiten. Alle Physikkoordinaten werden durch diese Zahl für die Physikberechnungen geteilt.

scale = love.physics.getMeter()

scalenumberDie Größe von 1 Meter in Pixel.

love.physics.newBody

Erstellt einen neuen Körper.

Es gibt drei Arten von Körpern:

* Statische Körper bewegen sich nicht, haben eine unendliche Masse und können zum Beispiel für Level-Begrenzungen verwendet werden.

* Dynamische Körper sind die Hauptakteure einer Simulation. Sie kollidieren mit allen anderen Körpern.

* Kinematische Körper reagieren nicht auf Kräfte und kollidieren nur mit dynamischen Körpern.

Die Masse eines Körpers wird berechnet, wenn eine Befestigung hinzugefügt oder entfernt wird, kann jedoch auch jederzeit durch Body:setMass oder Body:resetMassData verändert werden.

body = love.physics.newBody( world, x, y, type )

bodyBodyEin neuer Körper.
worldWorldDie Welt in der der Körper erstellt werden soll.
x (0)numberDie x-Position des Körpers.
y (0)numberDie y-Position des Körpers.
type ("static")BodyTypeDer Typ des Körpers.

love.physics.newChainShape

Erstellt eine neue ChainShape.

shape = love.physics.newChainShape( loop, x1, y1, x2, y2, ... )

shapeChainShapeDie neue Form
loopbooleanWenn die Kette bis zum ersten Punkt zurücklaufen sollte.
x1numberDie x-Position des ersten Punktes.
y1numberDie y-Position des ersten Punktes.
x2numberDie x-Position des zweiten Punktes.
y2numberDie y-Position des zweiten Punktes.
...numberZusätzliche Punktpositionen

shape = love.physics.newChainShape( loop, points )

shapeChainShapeDie neue Form
loopbooleanWenn die Kette bis zum ersten Punkt zurücklaufen sollte.
pointstableEine Liste von Punkten, um die ChainShape zu konstruieren, in Form von {x1, y1, x2, y2, ...}.

love.physics.newCircleShape

Erstellt eine neue CircleShape.

shape = love.physics.newCircleShape( radius )

shapeCircleShapeDie neue Form
radiusnumberDer Radius des Kreises.

shape = love.physics.newCircleShape( x, y, radius )

shapeCircleShapeDie neue Form
xnumberDer x Versatz des Kreises.
ynumberDer y-Versatz des Kreises.
radiusnumberDer Radius des Kreises.

love.physics.newDistanceJoint

Erstellen Sie eine Distanz Verbindung zwischen zwei Körpern.

Diese Verbindung beschränkt den Abstand zwischen zwei Punkten auf zwei Körpern, um konstant zu sein. Diese beiden Punkte sind in Weltkoordinaten spezifiziert und die beiden Körper werden vorausgesetzt, dass sie vorhanden sind, wenn dieses Gelenk entsteht. Der erste Ankerpunkt ist mit dem ersten Körper und der zweite mit dem zweiten Körper verbunden, und die Punkte definieren die Länge des Distanzgelenks.

joint = love.physics.newDistanceJoint( body1, body2, x1, y1, x2, y2, collideConnected )

jointDistanceJointDas neue Distanzgelenk
body1BodyDer erste Körper zum Befestigen am Gelenk.
body2BodyDer zweite Körper zum Befestigen am Gelenk.
x1numberDie x-Position des ersten Ankerpunktes (Weltraum).
y1numberDie y-Position des ersten Ankerpunktes (Weltraum).
x2numberDie x-Position des zweiten Ankerpunktes (Weltraum).
y2numberDie y-Position des zweiten Ankerpunktes (Weltraum).
collideConnected (false)booleanGibt an, ob die beiden Körper miteinander kollidieren sollen.

love.physics.newEdgeShape

Erstellt eine Kantenform.

shape = love.physics.newEdgeShape( x1, y1, x2, y2 )

shapeEdgeShapeDie neue Form
x1numberDie x-Position des ersten Punktes.
y1numberDie y-Position des ersten Punktes.
x2numberDie x-Position des zweiten Punktes.
y2numberDie y-Position des zweiten Punktes.

love.physics.newFixture

Erstellt und befestigt eine Fixture an einen Körper.

fixture = love.physics.newFixture( body, shape, density )

fixtureFixtureDie neue Vorrichtung
bodyBodyDer Körper, der die Halterung anbringt.
shapeShapeDie Form der Leuchte.
density (1)numberDie Dichte der Leuchte.

love.physics.newFrictionJoint

Erstellen Sie eine Reibung zwischen zwei Körpern. Ein FrictionJoint wendet Reibung an einen Körper an.

joint = love.physics.newFrictionJoint( body1, body2, x, y, collideConnected )

jointFrictionJointDer neue FrictionJoint.
body1BodyDer erste Körper zum Befestigen am Gelenk.
body2BodyDer zweite Körper zum Befestigen am Gelenk.
xnumberDie x-Position des Ankerpunktes.
ynumberDie y-Position des Ankerpunktes.
collideConnected (false)booleanGibt an, ob die beiden Körper miteinander kollidieren sollen.

love.physics.newGearJoint

Erstellen Sie eine Zahnradverbindung, die zwei Gelenke verbindet.

Die Zahnradverbindung verbindet zwei Gelenke, die entweder prismatische oder drehbare Gelenke sein müssen. Mit diesem Gelenk erfordert, dass die Gelenke, die es verwendet, ihre jeweiligen Körper mit dem Boden verbinden und den Boden als den ersten Körper haben. Bei der Zerstörung der Körper und Gelenke müssen Sie sicherstellen, dass Sie die Zahnradverbindung vor den anderen Gelenken zerstören.

Das Zahnradgelenk hat ein Verhältnis, das bestimmt, wie sich die Winkel- oder Abstandswerte der verbundenen Gelenke aufeinander beziehen. Die Formelkoordinate1 + ratio * coordinate2 hat immer einen konstanten Wert, der bei der Erstellung der Zahnradverbindung gesetzt wird.

joint = love.physics.newGearJoint( joint1, joint2, ratio, collideConnected )

jointGearJointDas neue Zahnradgelenk
joint1JointDie erste Verbindung zum Verbinden mit einem Zahnradgelenk
joint2JointDas zweite Gelenk zum Verbinden mit einem Getriebe.
ratio (1)numberDas Übersetzungsverhältnis
collideConnected (false)booleanGibt an, ob die beiden Körper miteinander kollidieren sollen.

love.physics.newMotorJoint

Erstellt eine Verbindung zwischen zwei Körpern, die die Relativbewegung zwischen ihnen steuert.

Positions- und Rotations-Offsets können nach der Erstellung des MotorJoint spezifiziert werden, sowie die maximale Motorleistung und das Drehmoment, das angewendet wird, um die Ziel-Offsets zu erreichen.

joint = love.physics.newMotorJoint( body1, body2, correctionFactor, collideConnected )

jointMotorJointDer neue MotorJoint.
body1BodyDer erste Körper zum Befestigen am Gelenk.
body2BodyDer zweite Körper zum Befestigen am Gelenk.
correctionFactor (0.3)numberDer Anfangspositionskorrekturfaktor des Gelenks im Bereich von {0, 1}.
collideConnected (false)booleanGibt an, ob die beiden Körper miteinander kollidieren sollen.

love.physics.newMouseJoint

Erstellen Sie eine Verbindung zwischen einem Körper und der Maus.

Diese Verbindung verbindet den Körper mit einem festen Punkt in der Welt. Um es der Maus zu folgen, muss der Fixpunkt jedes Mal aktualisiert werden (Beispiel unten).

Der Vorteil der Verwendung eines MouseJoint anstatt nur eine Körperposition direkt ändern ist, dass Kollisionen und Reaktionen auf andere Gelenke von der Physik-Engine behandelt werden.

joint = love.physics.newMouseJoint( body, x, y )

jointMouseJointDas neue Mausgelenk.
bodyBodyDer Körper an die Maus zu befestigen.
xnumberDie x-Position der Verbindungsstelle.
ynumberDie y-Position der Verbindungsstelle.

love.physics.newPolygonShape

Erstellt eine neue Polygonform.

Diese Form kann höchstens 8 Ecken haben und muss eine konvexe Form bilden.

shape = love.physics.newPolygonShape( x1, y1, x2, y2, ... )

shapePolygonShapeEine neue PolygonShape.
x1numberDie Position des ersten Punktes auf der x-Achse.
y1numberDie Position des ersten Punktes auf der y-Achse.
x2numberDie Position des zweiten Punktes auf der x-Achse.
y2numberDie Position des zweiten Punktes auf der y-Achse.
...numberSie können weiterhin mehr Punkte positionieren, um die PolygonShape zu erstellen.

shape = love.physics.newPolygonShape( vertices )

shapePolygonShapeEine neue PolygonShape.
verticestableEine Liste von Ecken, um das Polygon in Form von {x1, y1, x2, y2, x3, y3, ...} zu konstruieren.

love.physics.newPrismaticJoint

Erstellen Sie eine prismatische Gelenke zwischen zwei Körpern.

Ein prismatisches Gelenk zwingt zwei Körper, sich relativ zueinander auf einer bestimmten Achse zu bewegen. Es erlaubt keine relative Drehung. Seine Definition und Operation sind ähnlich wie ein Drehgelenk, aber mit Übersetzung und Kraft ersetzt Winkel und Drehmoment.

joint = love.physics.newPrismaticJoint( body1, body2, x1, y1, x2, y2, ax, ay, collideConnected, referenceAngle )

jointPrismaticJointDas neue prismatische Gelenk.
body1BodyDer erste Körper, der mit einem prismatischen Gelenk verbunden ist.
body2BodyDer zweite Körper, der mit einem prismatischen Gelenk verbunden ist.
x1numberDie x-Koordinate des ersten Ankerpunktes.
y1numberDie y-Koordinate des ersten Ankerpunktes.
x2numberDie x-Koordinate des zweiten Ankerpunktes.
y2numberDie y-Koordinate des zweiten Ankerpunktes.
axnumberDie x-Koordinate des Achseinheitsvektors.
aynumberDie y-Koordinate des Achseinheitsvektors.
collideConnected (false)booleanGibt an, ob die beiden Körper miteinander kollidieren sollen.
referenceAngle (0)numberDer Referenzwinkel zwischen body1 und body2, im Bogenmaß.

love.physics.newPulleyJoint

Erstellen Sie eine Riemenscheibe, um zwei Körper miteinander und den Boden zu verbinden.

Die Riemenscheibenverbindung simuliert eine Riemenscheibe mit einem optionalen Block und Tackle. Wenn der Verhältnisparameter einen von einem anderen Wert hat, so verlängert sich das simulierte Seil auf einer Seite schneller als das andere. In einer Riemenscheibengelenk ist die Gesamtlänge des simulierten Seils die konstante Länge1 + Verhältnis * Länge2, die gesetzt wird, wenn die Riemenscheibenverbindung erzeugt wird.

Riemenscheiben können sich unvorhersehbar verhalten, wenn eine Seite vollständig ausgefahren ist. Es wird empfohlen, dass die Methode setMaxLengths verwendet wird, um die maximalen Längen einzuschränken, die jede Seite erreichen kann.

joint = love.physics.newPulleyJoint( body1, body2, gx1, gy1, gx2, gy2, x1, y1, x2, y2, ratio, collideConnected )

jointPulleyJointDas neue Riemenscheibengelenk.
body1BodyDer erste Körper, der mit einem Riemenscheibengelenk verbunden ist.
body2BodyDer zweite Körper zum Verbinden mit einem Riemenscheibengelenk.
gx1numberDie x-Koordinate des Bodens des ersten Körpers.
gy1numberDie y-Koordinate des Bodens des ersten Körpers.
gx2numberDie x-Koordinate des zweiten Anker des zweiten Körpers.
gy2numberDie y-Koordinate des zweiten Anker des zweiten Körpers.
x1numberDie x-Koordinate des Riemenscheibengelenkankers im ersten Körper.
y1numberDie y-Koordinate des Riemenscheibengelenkankers im ersten Körper.
x2numberDie x-Koordinate des Riemenscheibengelenkankers im zweiten Körper.
y2numberDie y-Koordinate des Riemenscheibengelenkankers im zweiten Körper.
ratio (1)numberDas gemeinsame Verhältnis.
collideConnected (true)booleanGibt an, ob die beiden Körper miteinander kollidieren sollen.

love.physics.newRectangleShape

Kurzschrift für die Erstellung von rechteckigen PolygonShapes.

Standardmäßig befindet sich der lokale Ursprung in der Mitte des Rechtecks, im Gegensatz zu links oben für Grafiken.

shape = love.physics.newRectangleShape( width, height )

shapePolygonShapeEine neue PolygonShape.
widthnumberDie Breite des Rechtecks.
heightnumberDie Höhe des Rechtecks.

shape = love.physics.newRectangleShape( x, y, width, height, angle )

shapePolygonShapeEine neue PolygonShape.
xnumberDer Versatz entlang der x-Achse.
ynumberDer Versatz entlang der y-Achse.
widthnumberDie Breite des Rechtecks.
heightnumberDie Höhe des Rechtecks.
angle (0)numberDer Anfangswinkel des Rechtecks

love.physics.newRevoluteJoint

Schafft eine Gelenkverbindung zwischen zwei Körpern.

Diese Verbindung verbindet zwei Körper mit einem Punkt, um den sie sich drehen können.

joint = love.physics.newRevoluteJoint( body1, body2, x, y, collideConnected )

jointRevoluteJointDas neue Revolutgelenk.
body1BodyDer erste Körper.
body2BodyDer zweite Körper.
xnumberDie x-Position der Verbindungsstelle.
ynumberDie y-Position der Verbindungsstelle.
collideConnected (false)booleanGibt an, ob die beiden Körper miteinander kollidieren sollen.

joint = love.physics.newRevoluteJoint( body1, body2, x1, y1, x2, y2, collideConnected, referenceAngle )

jointRevoluteJointDas neue Revolutgelenk.
body1BodyDer erste Körper.
body2BodyDer zweite Körper.
x1numberDie x-Position der ersten Verbindungsstelle.
y1numberDie y-Position des ersten Verbindungspunktes.
x2numberDie x-Position der zweiten Verbindungsstelle.
y2numberDie y-Position der zweiten Verbindungsstelle.
collideConnected (false)booleanGibt an, ob die beiden Körper miteinander kollidieren sollen.
referenceAngle (0)numberGibt an, ob die beiden Körper miteinander kollidieren sollen.

love.physics.newRopeJoint

Erstellen Sie eine Verbindung zwischen zwei Körpern. Seine einzige Funktion erzwingt einen maximalen Abstand zwischen diesen Körpern.

joint = love.physics.newRopeJoint( body1, body2, x1, y1, x2, y2, maxLength, collideConnected )

jointRopeJointDer neue RopeJoint.
body1BodyDer erste Körper zum Befestigen am Gelenk.
body2BodyDer zweite Körper zum Befestigen am Gelenk.
x1numberDie x-Position des ersten Ankerpunktes.
y1numberDie y-Position des ersten Ankerpunktes.
x2numberDie x-Position des zweiten Ankerpunktes.
y2numberDie y-Position des zweiten Ankerpunktes.
maxLengthnumberDer maximale Abstand für die Körper.
collideConnected (false)booleanGibt an, ob die beiden Körper miteinander kollidieren sollen.

love.physics.newWeldJoint

Schafft eine Zwangsverbindung zwischen zwei Körpern. Ein WeldJoint klebt im Wesentlichen zwei Körper zusammen. Die Einschränkung ist ein bisschen weich, aber aufgrund der iterativen Solver von Box2D.

joint = love.physics.newWeldJoint( body1, body2, x1, y1, x2, y2, collideConnected, referenceAngle )

jointWeldJointDer neue WeldJoint.
body1BodyDer erste Körper zum Befestigen am Gelenk.
body2BodyDer zweite Körper zum Befestigen am Gelenk.
x1numberDie x-Position des ersten Ankerpunktes (Weltraum).
y1numberDie y-Position des ersten Ankerpunktes (Weltraum).
x2numberDie x-Position des zweiten Ankerpunktes (Weltraum).
y2numberDie y-Position des zweiten Ankerpunktes (Weltraum).
collideConnected (false)booleanGibt an, ob die beiden Körper miteinander kollidieren sollen.
referenceAngle (0)numberDer Referenzwinkel zwischen body1 und body2, im Bogenmaß.

love.physics.newWheelJoint

Erstellt ein Radgelenk.

joint = love.physics.newWheelJoint( body1, body2, x, y, ax, ay, collideConnected )

jointWheelJointDas neue WheelJoint.
body1BodyDer erste Körper.
body2BodyDer zweite Körper.
xnumberDie x-Position des Ankerpunktes.
ynumberDie y-Position des Ankerpunktes.
axnumberDie x-Position des Achseinheitsvektors.
aynumberDie y-Position des Achseinheitsvektors.
collideConnected (false)booleanGibt an, ob die beiden Körper miteinander kollidieren sollen.

love.physics.newWorld

Schafft eine neue Welt.

world = love.physics.newWorld( xg, yg, sleep )

worldWorldEine mutige neue Welt.
xg (0)numberDie x-Komponente der Schwerkraft.
yg (0)numberDie y-Komponente der Schwerkraft.
sleep (true)booleanOb die Leichen in dieser Welt schlafen dürfen

love.physics.setMeter

Setzt die Pixel auf den Maßstabsfaktor.

Alle Koordinaten im Physikmodul werden durch diese Zahl geteilt und in Meter umgesetzt und es ist eine bequeme Möglichkeit, die Objekte direkt auf den Bildschirm zu zeichnen, ohne die Notwendigkeit von Grafiktransformationen.

Es wird empfohlen, Formen zu erstellen, die nicht größer als das 10-fache der Skala sind. Dies ist wichtig, weil Box2D abgestimmt ist, um gut mit Formgrößen von 0,1 bis 10 Metern zu arbeiten. Die Standard-Messskala beträgt 30.

love.physics.setMeter gilt nicht rückwirkend für erstellte Objekte. Geschaffene Objekte behalten ihre Zähler-Koordinaten, aber der Skalenfaktor wird ihre Pixel-Koordinaten beeinflussen.

love.physics.setMeter( scale )

scalenumberDer Skalenfaktor als Ganzzahl.

BodyType

static

Statische Körper bewegen sich nicht.

dynamic

Dynamische Körper kollidieren mit allen anderen Körpern.

kinematic

Kinematische Körper kollidieren nur mit dynamischen Körpern und reagieren nicht auf Kräfte.

JointType

distance

Ein DistanceJoint.

gear

Ein GearJoint.

mouse

Ein MouseJoint.

prismatic

Ein prismatisches.

pulley

Ein PulleyJoint.

revolute

Ein RevoluteJoint.

friction

Ein frictionJoint.

weld

Ein WeldJoint.

rope

Ein RopeJoint.

ShapeType

circle

Die Form ist eine CircleShape.

polygon

Die Form ist eine Polygonform.

edge

Die Form ist eine EdgeShape.

chain

Die Form ist eine ChainShape.

Body

Körper sind Objekte mit einer Geschwindigkeit und Position.

Constructors

Functions

Supertypes

Body:applyAngularImpulse

Überträgt einen Drehimplus auf einen Körper. Dies stellt eine einzelne, sofortige Addition zu dem Drehmoment des Körpers dar.

Ein Körper mit einer größeren Masse reagiert schwächer auf einen Impuls. Die Reaktion ist '''nicht''' vom Zeitschritt der Simulation abhängig, sondern entspricht der kontinuierlichen Anwendung einer Kraft für eine Sekunde.

Impulse werden am besten dazu verwendet einem Körper einen einzelnen Stoß zu verpassen. Für einen andauerndenden Schub sollte stattdessen Body:applyForce verwendet werden.

Body:applyAngularImpulse( impulse )

impulsenumberDer Impuls in (kg*m^2)/s.

Body:applyForce

Überträgt eine Kraft auf einen Körper.

Eine Kraft schiebt einen Körper in eine Richtung. Ein Körper mit einer größeren Masse wird weniger beeinflusst, als ein Körper mit geringer Masse.

Da die Kraft kontinuierlich angewendet wird, ist die Stärke der Reaktion von der Dauer der Kraftanwendung abhängig. Body:applyForce sollte daher benutzt werden, wenn eine Kraft für eine längere Zeit auf einen Körper übertragen werden soll. Für einen einzelnen, sofortigen Schub sollte stattdessen Body:applyLinearImpulse verwendet werden.

Wenn keine Position angegeben wird, an welcher die Kraft übertragen werden soll, so wird sie auf den Massenmittelpunkt des Körpers übertragen.

Eine Kraft die nicht in Richtung des Massenmittelpunkts übertragen wird, führt dazu, dass der Körper rotiert.

Zu beachten ist, dass die Kraftkomponenten und Positionen in Welt-Koordinaten angegeben werden müssen.

Body:applyForce( fx, fy )

fxnumberDie x-Komponente der Kraft die auf den Massenmittelpunkt übertragen werden soll.
fynumberDie y-Komponente der Kraft die auf den Massenmittelpunkt übertragen werden soll.

Body:applyForce( fx, fy, x, y )

fxnumberDie x-Komponente der Kraft die übertragen werden soll.
fynumberDie y-Komponente der Kraft die übertragen werden soll.
xnumberDie x-Position an welcher die Kraft übertragen werden soll.
ynumberDie y-Position an welcher die Kraft übertragen werden soll.

Body:applyLinearImpulse

Überträgt einen Impuls auf einen Körper.

Dies stellt eine einzelne, sofortige Addition zu dem Impuls des Körpers dar.

Ein Impuls schiebt einen Körper in eine Richtung. Ein Körper mit einer größeren Masse wird weniger beeinflusst, als ein Körper mit geringer Masse. Die Reaktion ist '''nicht''' vom Zeitschritt der Simulation abhängig, sondern entspricht der kontinuierlichen Anwendung einer Kraft für eine Sekunde.

Impulse werden am besten dazu verwendet einem Körper einen einzelnen Stoß zu verpassen. Für einen andauerndenden Schub sollte stattdessen Body:applyForce verwendet werden.

Wenn keine Position angegeben wird, an welcher die Kraft übertragen werden soll, so wird sie auf den Massenmittelpunkt des Körpers übertragen. Eine Kraft die nicht in Richtung des Massenmittelpunkts übertragen wird, führt dazu, dass der Körper rotiert.

Zu beachten ist, dass die Kraftkomponenten und Positionen in Welt-Koordinaten angegeben werden müssen.

Body:applyLinearImpulse( ix, iy )

ixnumberDie x-Komponente der Kraft die auf den Massenmittelpunkt übertragen werden soll.
iynumberDie y-Komponente der Kraft die auf den Massenmittelpunkt übertragen werden soll.

Body:applyLinearImpulse( ix, iy, x, y )

ixnumberDie x-Komponente der Kraft die übertragen werden soll.
iynumberDie y-Komponente der Kraft die übertragen werden soll.
xnumberDie x-Position an welcher die Kraft übertragen werden soll.
ynumberDie y-Position an welcher die Kraft übertragen werden soll.

Body:applyTorque

Drehmoment auf einen Körper auftragen.

Drehmoment ist wie eine Kraft, die die Winkelgeschwindigkeit (Spin) eines Körpers verändern wird. Der Effekt hängt von der Rotationsträgheit ab, die ein Körper hat.

Body:applyTorque( torque )

torquenumberDas Drehmoment ist anzuwenden.

Body:destroy

Explizit zerstört den Körper. Wenn Sie keine Zeit haben, auf Garbage Collection zu warten, kann diese Funktion verwendet werden, um das Objekt sofort freizugeben, aber beachten Sie, dass ein Fehler auftritt, wenn Sie versuchen, das Objekt nach dem Aufruf dieser Funktion zu verwenden.

Body:destroy()

Body:getAngle

Holen Sie sich den Winkel des Körpers.

Der Winkel wird im Bogenmaß gemessen. Wenn Sie es in Grad umwandeln müssen, verwenden Sie math.deg.

Ein Wert von 0 Radiant bedeutet "auf der Suche nach rechts". Obwohl Radiant gegen den Uhrzeigersinn zunimmt, zeigt die y-Achse nach unten, so dass sie aus unserer Sicht im Uhrzeigersinn wird.

angle = Body:getAngle()

anglenumberDer Winkel im Bogenmaß

Body:getAngularDamping

Erhält die Winkeldämpfung des Körpers

Die Winkeldämpfung ist die Rate der Abnahme der Winkelgeschwindigkeit über die Zeit: Ein Spinnkörper ohne Dämpfung und keine äußeren Kräfte werden sich auf unbestimmte Zeit fortsetzen. Ein Spinnkörper mit Dämpfung wird allmählich aufhören zu drehen.

Dämpfung ist nicht gleich wie Reibung - sie können zusammen modelliert werden. Allerdings wird nur eine Dämpfung von Box2D (und LÖVE) bereitgestellt.

Dämpfungsparameter sollten zwischen 0 und unendlich sein, mit 0 bedeutet keine Dämpfung und Unendlichkeit bedeutet volle Dämpfung. Normalerweise verwenden Sie einen Dämpfungswert zwischen 0 und 0,1.

damping = Body:getAngularDamping()

dampingnumberDer Wert der Winkeldämpfung.

Body:getAngularVelocity

Holen Sie sich die Winkelgeschwindigkeit des Körpers.

Die Winkelgeschwindigkeit ist die Änderungsgeschwindigkeit des Winkels über die Zeit.

Es wird in der Welt verändert: Update durch Anwendung von Drehmomenten, von Mittelkräften / Impulsen und Winkeldämpfung. Es kann direkt mit Body gesetzt werden: setAngularVelocity.

Wenn Sie die Rate der Änderung der Position über Zeit benötigen, verwenden Sie Körper: getLinearVelocity.

w = Body:getAngularVelocity()

wnumberDie Winkelgeschwindigkeit im Bogenmaß / Sekunde.

Body:getContactList

Ruft eine Liste aller Kontakte auf, die an den Körper angeschlossen sind.

contacts = Body:getContactList()

contactstableEine Liste mit allen Kontakten, die mit dem Körper verbunden sind.

Body:getFixtureList

Ruft einen Tisch mit allen Vorrichtungen auf.

fixtures = Body:getFixtureList()

fixturestableEine Sequenz mit allen Vorrichtungen.

Body:getGravityScale

Erhält den Schwerkraftfaktor.

scale = Body:getGravityScale()

scalenumberDer Schwerkraftfaktor.

Body:getInertia

Erhält die Rotationsträgheit des Körpers.

Die Trägheit der Trägheit ist, wie schwer es ist, den Körper zu drehen.

inertia = Body:getInertia()

inertianumberDie Rotations-Trägheit des Körpers.

Body:getJointList

Ruft einen Tisch mit den an diesem Körper angebrachten Fugen auf.

joints = Body:getJointList()

jointstableEine Sequenz mit den an den Körper angebrachten Fugen.

Body:getLinearDamping

Ermittelt die lineare Dämpfung des Körpers.

Die lineare Dämpfung ist die Rate der Abnahme der Lineargeschwindigkeit über die Zeit. Ein beweglicher Körper ohne Dämpfung und keine äußeren Kräfte wird sich auf unbestimmte Zeit bewegen, wie es im Raum der Fall ist. Ein bewegter Körper mit Dämpfung wird allmählich aufhören zu bewegen.

Dämpfung ist nicht gleich wie Reibung - sie können zusammen modelliert werden. Allerdings wird nur eine Dämpfung von Box2D (und LÖVE) bereitgestellt.

damping = Body:getLinearDamping()

dampingnumberDer Wert der linearen Dämpfung.

Body:getLinearVelocity

Ruft die lineare Geschwindigkeit des Körpers aus seiner Mitte der Masse.

Die lineare Geschwindigkeit ist die Rate der Änderung der Position über der Zeit.

Wenn Sie die Rate der Änderung des Winkels im Laufe der Zeit benötigen, verwenden Sie Body: getAngularVelocity. Wenn Sie die lineare Geschwindigkeit eines Punktes anders als das Zentrum der Masse erhalten müssen:

Body: getLinearVelocityFromLocalPoint erlaubt Ihnen, den Punkt in lokalen Koordinaten anzugeben.

Body: getLinearVelocityFromWorldPoint können Sie den Punkt in Weltkoordinaten angeben.

x, y = Body:getLinearVelocity()

xnumberDie x-Komponente des Geschwindigkeitsvektors
ynumberDie y-Komponente des Geschwindigkeitsvektors

Body:getLinearVelocityFromLocalPoint

Holen Sie sich die lineare Geschwindigkeit eines Punktes auf den Körper.

Die lineare Geschwindigkeit für einen Punkt auf dem Körper ist die Geschwindigkeit des Körperzentrums der Masse plus die Geschwindigkeit an diesem Punkt vom Körper, der sich dreht.

Der Punkt auf dem Körper muss in lokalen Koordinaten angegeben werden. Verwenden Sie Body: getLinearVelocityFromWorldPoint, um dies mit Weltkoordinaten anzugeben.

vx, vy = Body:getLinearVelocityFromLocalPoint( x, y )

vxnumberDie x-Komponente der Geschwindigkeit am Punkt (x, y).
vynumberDie y-Komponente der Geschwindigkeit am Punkt (x, y).
xnumberDie x-Position zur Messung der Geschwindigkeit.
ynumberDie y-Position, um die Geschwindigkeit zu messen.

Body:getLinearVelocityFromWorldPoint

Holen Sie sich die lineare Geschwindigkeit eines Punktes auf den Körper.

Die lineare Geschwindigkeit für einen Punkt auf dem Körper ist die Geschwindigkeit des Körperzentrums der Masse plus die Geschwindigkeit an diesem Punkt vom Körper, der sich dreht.

Der Punkt auf dem Körper muss in Weltkoordinaten gegeben werden. Verwenden Sie Body: getLinearVelocityFromLocalPoint, um dies mit lokalen Koordinaten anzugeben.

vx, vy = Body:getLinearVelocityFromWorldPoint( x, y )

vxnumberDie x-Komponente der Geschwindigkeit am Punkt (x, y).
vynumberDie y-Komponente der Geschwindigkeit am Punkt (x, y).
xnumberDie x-Position zur Messung der Geschwindigkeit.
ynumberDie y-Position, um die Geschwindigkeit zu messen.

Body:getLocalCenter

Holen Sie sich das Zentrum der Massenposition in lokalen Koordinaten.

Verwenden Sie Body: getWorldCenter, um das Zentrum der Masse in Weltkoordinaten zu bekommen.

x, y = Body:getLocalCenter()

xnumberDie x-Koordinate des Massenzentrums
ynumberDie y-Koordinate des Massenzentrums

Body:getLocalPoint

Verwandeln Sie einen Punkt von Weltkoordinaten zu lokalen Koordinaten.

localX, localY = Body:getLocalPoint( worldX, worldY )

localXnumberDie x-Position in lokalen Koordinaten.
localYnumberDie y-Position in lokalen Koordinaten.
worldXnumberDie x-Position in Weltkoordinaten.
worldYnumberDie y-Position in Weltkoordinaten.

Body:getLocalVector

Verwandeln Sie einen Vektor von Weltkoordinaten zu lokalen Koordinaten.

localX, localY = Body:getLocalVector( worldX, worldY )

localXnumberDie Vektor-x-Komponente in lokalen Koordinaten.
localYnumberDer Vektor y-Komponente in lokalen Koordinaten.
worldXnumberDie Vektor-x-Komponente in Weltkoordinaten.
worldYnumberDer Vektor y-Komponente in Weltkoordinaten.

Body:getMass

Holen Sie sich die Masse des Körpers.

mass = Body:getMass()

massnumberDie Masse des Körpers (in Kilogramm).

Body:getMassData

Erreicht die Masse, ihre Mitte und die Trägheit der Trägheit.

x, y, mass, inertia = Body:getMassData()

xnumberDie x-Position des Schwerpunkts
ynumberDie y-Position des Zentrums der Masse
massnumberDie Masse des Körpers.
inertianumberDie Trägheit der Rotation

Body:getPosition

Holen Sie sich die Position des Körpers.

Beachten Sie, dass dies nicht das Zentrum der Masse des Körpers sein kann.

x, y = Body:getPosition()

xnumberDie x-Position.
ynumberDie y-Position.

Body:getType

Erhält die Art des Körpers.

type = Body:getType()

typeBodyTypeDer Körpertyp

Body:getUserData

Ruft den Lua-Wert mit diesem Körper verbunden.

value = Body:getUserData()

valueanyDer Lua-Wert, der mit dem Körper verbunden ist.

Body:getWorld

Erreicht die Welt, in der der Körper lebt.

world = Body:getWorld()

worldWorldDie Welt lebt der Körper.

Body:getWorldCenter

Holen Sie sich das Zentrum der Massenposition in Weltkoordinaten.

Verwenden Sie Body: getLocalCenter, um das Zentrum der Masse in lokalen Koordinaten zu bekommen.

x, y = Body:getWorldCenter()

xnumberDie x-Koordinate des Massenzentrums
ynumberDie y-Koordinate des Massenzentrums

Body:getWorldPoint

Verwandeln Sie einen Punkt von lokalen Koordinaten zu Weltkoordinaten.

worldX, worldY = Body:getWorldPoint( localX, localY )

worldXnumberDie x-Position in Weltkoordinaten.
worldYnumberDie y-Position in Weltkoordinaten.
localXnumberDie x-Position in lokalen Koordinaten.
localYnumberDie y-Position in lokalen Koordinaten.

Body:getWorldPoints

Verwandelt mehrere Punkte von lokalen Koordinaten zu Weltkoordinaten.

x1, y1, x2, y2, ... = Body:getWorldPoints( x1, y1, x2, y2, ... )

x1numberDie transformierte x-Position des ersten Punktes.
y1numberDie umgewandelte y-Position des ersten Punktes.
x2numberDie umgewandelte x-Position des zweiten Punktes.
y2numberDie umgewandelte y-Position des zweiten Punktes.
...numberDie transformierten x- und y-Positionen der zusätzlichen Punkte.
x1numberDie x-Position des ersten Punktes.
y1numberDie y-Position des ersten Punktes.
x2numberDie x-Position des zweiten Punktes.
y2numberDie y-Position des zweiten Punktes.
...numberMehr x und y Punkte.

Body:getWorldVector

Verwandeln Sie einen Vektor von lokalen Koordinaten zu Weltkoordinaten.

worldX, worldY = Body:getWorldVector( localX, localY )

worldXnumberDie Vektor-x-Komponente in Weltkoordinaten.
worldYnumberDer Vektor y-Komponente in Weltkoordinaten.
localXnumberDie Vektor-x-Komponente in lokalen Koordinaten.
localYnumberDer Vektor y-Komponente in lokalen Koordinaten.

Body:getX

Holen Sie sich die x Position des Körpers in Weltkoordinaten.

x = Body:getX()

xnumberDie x-Position in Weltkoordinaten.

Body:getY

Holen Sie sich die Position des Körpers in Weltkoordinaten.

y = Body:getY()

ynumberDie y-Position in Weltkoordinaten.

Body:isActive

Ermittelt, ob der Körper aktiv in der Simulation verwendet wird.

status = Body:isActive()

statusbooleanWahr, wenn der Körper aktiv oder falsch ist, wenn nicht.

Body:isAwake

Erreicht den Schlafstatus des Körpers.

status = Body:isAwake()

statusbooleanWahr, wenn der Körper wach oder falsch ist, wenn nicht.

Body:isBullet

Holen Sie sich den bullet Status eines Körpers.

Es gibt zwei Methoden, um auf Körperkollisionen zu prüfen:

an ihrem Standort, wenn die Welt aktualisiert wird (Standard)

mit kontinuierlicher Kollisionserkennung (CCD)

Die Standardmethode ist effizient, aber ein Körper, der sich sehr schnell bewegt, kann manchmal über einen anderen Körper springen, ohne eine Kollision zu erzeugen. Ein Körper, der als Kugel gesetzt wird, wird CCD verwenden. Dies ist weniger effizient, aber es wird garantiert nicht zu springen, wenn schnell zu bewegen.

Beachten Sie, dass statische Körper (mit nil Masse) immer CCD verwenden, so dass Ihre Wände nicht einen schnell bewegten Körper passieren lassen, auch wenn es keine Kugel ist.

status = Body:isBullet()

statusbooleanDer bullet Status des Körpers.

Body:isDestroyed

Ermittelt, ob der Körper zerstört ist. Zerstörte Körper können nicht benutzt werden.

destroyed = Body:isDestroyed()

destroyedbooleanOb der Körper zerstört wird.

Body:isFixedRotation

Ermittelt, ob die Körperrotation gesperrt ist.

fixed = Body:isFixedRotation()

fixedbooleanTrue, wenn die Rotation des Körpers gesperrt oder falsch ist, wenn nicht.

Body:isSleepingAllowed

Erhält das Schlafverhalten des Körpers.

status = Body:isSleepingAllowed()

statusbooleanWahr, wenn der Körper schlafen oder falsch ist, wenn nicht.

Body:resetMassData

Setzt die Masse des Körpers zurück, indem er sie von den Masseneigenschaften der Vorrichtungen neu berechnet.

Body:resetMassData()

Body:setActive

Setzt, ob der Körper in der Welt aktiv ist.

Ein inaktiver Körper nimmt nicht an der Simulation teil. Es wird sich nicht bewegen oder irgendwelche Kollisionen verursachen.

Body:setActive( active )

activebooleanWenn der Körper aktiv ist oder nicht.

Body:setAngle

Stellen Sie den Winkel des Körpers ein.

Der Winkel wird im Bogenmaß gemessen. Wenn du es aus Graden umwandeln musst, benutze math.rad.

Ein Wert von 0 Radiant bedeutet "auf der Suche nach rechts". Obwohl Radiant gegen den Uhrzeigersinn zunimmt, zeigt die y-Achse nach unten, so dass sie aus unserer Sicht im Uhrzeigersinn wird.

Es ist möglich, eine Kollision mit einem anderen Körper zu verursachen, indem er seinen Winkel ändert.

Body:setAngle( angle )

anglenumberDer Winkel im Bogenmaß

Body:setAngularDamping

Stellt die Winkeldämpfung eines Körpers ein.

Siehe Körper: getAngularDamping für eine Definition der Winkeldämpfung.

Die Winkeldämpfung kann jeden Wert von 0 bis unendlich nehmen. Es wird empfohlen, zwischen 0 und 0,1 zu bleiben. Andere Werte werden unrealistisch aussehen.

Body:setAngularDamping( damping )

dampingnumberDie neue Winkeldämpfung.

Body:setAngularVelocity

Stellt die Winkelgeschwindigkeit eines Körpers ein.

Die Winkelgeschwindigkeit ist die Änderungsgeschwindigkeit des Winkels über die Zeit.

Diese Funktion wird nichts ansammeln; alle Impulse, die zuvor seit dem letzten Aufruf an World: update angewendet wurden, gehen verloren.

Body:setAngularVelocity( w )

wnumberDie neue Winkelgeschwindigkeit, im Bogenmaß pro Sekunde

Body:setAwake

Wacht den Körper auf oder lässt ihn schlafen.

Body:setAwake( awake )

awakebooleanDer Körper Schlaf Status.

Body:setBullet

Legen Sie den Aufzählungsstatus eines Körpers fest.

Es gibt zwei Methoden, um auf Körperkollisionen zu prüfen:

an ihrem Standort, wenn die Welt aktualisiert wird (Standard)

mit kontinuierlicher Kollisionserkennung (CCD)

Die Standardmethode ist effizient, aber ein Körper, der sich sehr schnell bewegt, kann manchmal über einen anderen Körper springen, ohne eine Kollision zu erzeugen. Ein Körper, der als Kugel gesetzt wird, wird CCD verwenden. Dies ist weniger effizient, aber es wird garantiert nicht zu springen, wenn schnell zu bewegen.

Beachten Sie, dass statische Körper (mit nil Masse) immer CCD verwenden, so dass Ihre Wände nicht einen schnell bewegten Körper passieren lassen, auch wenn es keine Kugel ist.

Body:setBullet( status )

statusbooleanDer bullet Status des Körpers.

Body:setFixedRotation

Stellen Sie fest, ob ein Körper eine feste Rotation hat.

Körper mit fester Rotation variieren nicht die Geschwindigkeit, mit der sie sich drehen.

Body:setFixedRotation( fixed )

fixedbooleanOb der Körper eine feste Rotation haben sollte.

Body:setGravityScale

Setzt einen neuen Schwerkraftfaktor für den Körper.

Body:setGravityScale( scale )

scalenumberDer neue Schwerkraftfaktor.

Body:setInertia

Setzen Sie die Trägheit eines Körpers.

Body:setInertia( inertia )

inertianumberDas neue Trägheitsmoment, in Kilogramm pro Meter quadriert.

Body:setLinearDamping

Stellt die lineare Dämpfung eines Körpers ein

Siehe Körper: getLinearDamping für eine Definition der linearen Dämpfung.

Lineare Dämpfung kann jeden Wert von 0 bis unendlich nehmen. Es wird empfohlen, zwischen 0 und 0,1 zu bleiben. Andere Werte machen die Objekte "floaty".

Body:setLinearDamping( ld )

ldnumberDie neue lineare Dämpfung.

Body:setLinearVelocity

Stellt eine neue Lineargeschwindigkeit für den Körper ein.

Diese Funktion wird nichts ansammeln; alle Impulse, die zuvor seit dem letzten Aufruf an World: update angewendet wurden, gehen verloren.

Body:setLinearVelocity( x, y )

xnumberDie x-Komponente des Geschwindigkeitsvektors
ynumberDie y-Komponente des Geschwindigkeitsvektors

Body:setMass

Setzt die Masse in Kilogramm.

Body:setMass( mass )

massnumberDie Masse in Kilogramm.

Body:setMassData

Überschreibt die berechneten Massendaten.

Body:setMassData( x, y, mass, inertia )

xnumberDie x-Komponente des Massenzentrums in lokalen Koordinaten.
ynumberDie y-Komponente des Zentrums der Masse in lokalen Koordinaten.
massnumberDie Masse in Kilogramm.
inertianumberDie Rotationsträgheit in Kilogramm pro Quadratmeter.

Body:setPosition

Stellen Sie die Position des Körpers ein.

Beachten Sie, dass dies nicht das Zentrum der Masse des Körpers sein kann.

Body:setPosition( x, y )

xnumberDie x-Position.
ynumberDie y-Position.

Body:setSleepingAllowed

Setzt das Schlafverhalten des Körpers.

Body:setSleepingAllowed( allowed )

allowedbooleanWahr, wenn der Körper schlafen oder falsch ist, wenn nicht.

Body:setType

Setzt einen neuen Körpertyp.

Body:setType( type )

typeBodyTypeDer neue Typ.

Body:setUserData

Assoziiert einen Lua-Wert mit dem Körper.

Um die Referenz zu löschen, explizit passieren Sie nil.

Body:setUserData( value )

valueanyDer Lua-Wert, der mit dem Körper assoziiert ist.

Body:setX

Stellen Sie die x-Position des Körpers ein.

Body:setX( x )

xnumberDie x-Position.

Body:setY

Stellen Sie die Position des Körpers ein.

Body:setY( y )

ynumberDie y-Position.

ChainShape

Eine ChainShape besteht aus mehreren Liniensegmenten. Es kann verwendet werden, um die Grenzen Ihres Geländes zu schaffen. Die Form hat keine Lautstärke und kann nur mit PolygonShape und CircleShape kollidieren.

Anders als die PolygonShape hat die ChainShape keine Eckengrenze oder muss eine konvexe Form bilden, aber Selbstkreuzungen werden nicht unterstützt.

Constructors

Functions

Supertypes

ChainShape:getChildEdge

Erhält ein Kind der Form als EdgeShape.

EdgeShape = ChainShape:getChildEdge( index )

EdgeShapenumberDas Kind als EdgeShape.
indexnumberDer Index des Kindes

ChainShape:getNextVertex

Ruft den Scheitelpunkt auf, der eine Verbindung zur nächsten Form herstellt.

Die nächste und vorherige ChainShape-Ecke kann verhindern, dass unerwünschte Kollisionen auftreten, wenn eine flache Form entlang der Kante gleitet und sich auf die neue Form bewegt.

ChainShape:getNextVertex( x, y )

x (nil)numberDie x-Komponente des Scheitelpunktes oder nil, wenn ChainShape: setNextVertex nicht aufgerufen wurde.
y (nil)numberDie y-Komponente des Scheitelpunktes oder nil, wenn ChainShape: setNextVertex nicht aufgerufen wurde.

ChainShape:getPoint

Ruft einen Punkt der Form.

x, y = ChainShape:getPoint( index )

xnumberDie x-Koordinate des Punktes.
ynumberDie y-Koordinate des Punktes.
indexnumberDer Index des Rückkehrpunktes.

ChainShape:getPoints

Ruft alle Punkte der Form ab.

x1, y1, x2, y2, ... = ChainShape:getPoints()

x1numberDie x-Koordinate des ersten Punktes.
y1numberDie y-Koordinate des ersten Punktes.
x2numberDie x-Koordinate des zweiten Punktes.
y2numberDie y-Koordinate des zweiten Punktes.
...numberZusätzliche x- und y-Werte.

ChainShape:getPreviousVertex

Ruft den Scheitelpunkt auf, der eine Verbindung zur vorherigen Form herstellt.

Die nächste und vorherige ChainShape-Ecke kann verhindern, dass unerwünschte Kollisionen auftreten, wenn eine flache Form entlang der Kante gleitet und sich auf die neue Form bewegt.

x, y = ChainShape:getPreviousVertex()

x (nil)numberDie x-Komponente des Scheitelpunktes oder nil, wenn ChainShape: setNextVertex nicht aufgerufen wurde.
y (nil)numberDie y-Komponente des Scheitelpunktes oder nil, wenn ChainShape: setNextVertex nicht aufgerufen wurde.

ChainShape:getVertexCount

Erhält die Anzahl der Ecken, die die Form hat.

count = ChainShape:getVertexCount()

countnumberDie Anzahl der Ecken.

ChainShape:setNextVertex

Setzt einen Scheitelpunkt, der eine Verbindung zur nächsten Form herstellt.

Dies kann dazu beitragen, unerwünschte Kollisionen zu verhindern, wenn eine flache Form entlang der Kante gleitet und sich auf die neue Form bewegt.

ChainShape:setNextVertex( x, y )

xnumberDie x-Komponente des Scheitelpunktes
ynumberDie y-Komponente des Scheitelpunktes.

ChainShape:setPreviousVertex

Setzt einen Scheitelpunkt, der eine Verbindung zur vorherigen Form herstellt.

Dies kann dazu beitragen, unerwünschte Kollisionen zu verhindern, wenn eine flache Form entlang der Kante gleitet und sich auf die neue Form bewegt.

ChainShape:setPreviousVertex( x, y )

xnumberDie x-Komponente des Scheitelpunktes
ynumberDie y-Komponente des Scheitelpunktes.

CircleShape

Circle verlängert Form und fügt einen Radius und eine lokale Position hinzu.

Constructors

Functions

Supertypes

CircleShape:getPoint

Ruft den Mittelpunkt der Kreisform ab.

x, y = CircleShape:getPoint()

xnumberDie x-Komponente des Mittelpunktes des Kreises.
ynumberDie y-Komponente des Mittelpunktes des Kreises.

CircleShape:getRadius

Erhält den Radius der Kreisform.

radius = CircleShape:getRadius()

radiusnumberDer Radius des Kreises.

CircleShape:setPoint

Setzt den Ort der Mitte der Kreisform.

CircleShape:setPoint( x, y )

xnumberDie x-Komponente des neuen Mittelpunktes des Kreises.
ynumberDie y-Komponente des neuen Mittelpunktes des Kreises.

CircleShape:setRadius

Setzt den Radius des Kreises.

CircleShape:setRadius( radius )

radiusnumberDer Radius des Kreises.

Contact

Kontakte sind Objekte, welche Kollisionen in einer Welt handhaben.

Functions

Supertypes

Contact:getFixtures

Ruft die beiden Fixtures, die die Formen, die in Kontakt sind zu halten.

fixtureA, fixtureB = Contact:getFixtures()

fixtureAFixtureDie erste Fixture.
fixtureBFixtureDie zweite Fixture.

Contact:getFriction

Holen Sie sich die Reibung zwischen zwei Formen, die in Kontakt sind.

friction = Contact:getFriction()

frictionnumberDie Reibung des Kontaktes.

Contact:getNormal

Holen Sie sich den normalen Vektor zwischen zwei Formen, die in Kontakt sind.

Diese Funktion gibt die Koordinaten eines Einheitsvektors zurück, der von der ersten Form zur zweiten zeigt.

nx, ny = Contact:getNormal()

nxnumberDie x-Komponente des Normalenvektors
nynumberDie y-Komponente des Normalenvektors

Contact:getPositions

Ruft die Kontaktpunkte der beiden Kollisionsbefestigungen auf. Es kann ein oder zwei Punkte geben.

x1, y1, x2, y2 = Contact:getPositions()

x1numberDie x-Koordinate der ersten Kontaktstelle.
y1numberDie y-Koordinate der ersten Kontaktstelle.
x2numberDie x-Koordinate der zweiten Kontaktstelle.
y2numberDie y-Koordinate der zweiten Kontaktstelle.

Contact:getRestitution

Holen Sie sich die Restitution zwischen zwei Formen, die in Kontakt sind.

restitution = Contact:getRestitution()

restitutionnumberDie Wiedergutmachung zwischen den beiden Formen.

Contact:isEnabled

Ermittelt, ob der Kontakt aktiviert ist. Die Kollision wird ignoriert, wenn ein Kontakt im PreSolve-Rückruf deaktiviert wird.

enabled = Contact:isEnabled()

enabledbooleanTrue, wenn aktiviert, false anders.

Contact:isTouching

Ermittelt, ob sich die beiden Kollisionsbefestigungen gegenseitig berühren.

touching = Contact:isTouching()

touchingbooleanTrue, wenn sie berühren oder falsch, wenn nicht.

Contact:resetFriction

Setzt die Kontaktreibung auf den Gemischwert der beiden Vorrichtungen zurück.

Contact:resetFriction()

Contact:resetRestitution

Setzt die Kontaktrückgabe auf den Gemischwert der beiden Vorrichtungen zurück.

Contact:resetRestitution()

Contact:setEnabled

Aktiviert oder deaktiviert den Kontakt.

Contact:setEnabled( enabled )

enabledbooleanTrue zu aktivieren oder false zu deaktivieren.

Contact:setFriction

Stellt die Kontaktreibung ein.

Contact:setFriction( friction )

frictionnumberDie Kontaktreibung.

Contact:setRestitution

Setzt die Kontaktrückgabe.

Contact:setRestitution( restitution )

restitutionnumberDie Kontaktrückgabe.

EdgeShape

Ein EdgeShape ist ein Liniensegment. Sie können verwendet werden, um die Grenzen Ihres Geländes zu schaffen. Die Form hat keine Lautstärke und kann nur mit PolygonShape und CircleShape kollidieren.

Constructors

Functions

Supertypes

EdgeShape:getPoints

Ruft die lokalen Koordinaten der Randpunkte ab.

x1, y1, x2, y2 = EdgeShape:getPoints()

x1numberDie x-Komponente des ersten Scheitelpunktes.
y1numberDie y-Komponente des ersten Scheitelpunktes
x2numberDie x-Komponente des zweiten Scheitelpunktes.
y2numberDie y-Komponente des zweiten Scheitelpunktes.

EdgeShape:getNextVertex

Ruft den Scheitelpunkt auf, der eine Verbindung zur nächsten Form herstellt.

Wenn Sie die nächste und die vorherigen EdgeShape-Ecken setzen, können Sie verhindern, dass unerwünschte Kollisionen auftreten, wenn eine flache Form entlang der Kante gleitet und sich in die neue Form bewegt.

x, y = EdgeShape:getNextVertex()

xnumberDie x-Komponente des Scheitelpunktes oder nil, wenn EdgeShape: setNextVertex nicht aufgerufen wurde.
ynumberDie y-Komponente des Scheitelpunktes oder nil, wenn EdgeShape: setNextVertex nicht aufgerufen wurde.

EdgeShape:getPreviousVertex

Ruft den Scheitelpunkt auf, der eine Verbindung zur vorherigen Form herstellt.

Wenn Sie die nächste und die vorherigen EdgeShape-Ecken setzen, können Sie verhindern, dass unerwünschte Kollisionen auftreten, wenn eine flache Form entlang der Kante gleitet und sich in die neue Form bewegt.

x, y = EdgeShape:getPreviousVertex()

xnumberDie x-Komponente des Scheitelpunktes oder nil wenn EdgeShape: setPreviousVertex nicht aufgerufen wurde.
ynumberDie y-Komponente des Scheitelpunktes oder nil, wenn EdgeShape: setPreviousVertex nicht aufgerufen wurde.

EdgeShape:setNextVertex

Setzt einen Scheitelpunkt, der eine Verbindung zur nächsten Form herstellt.

Dies kann dazu beitragen, unerwünschte Kollisionen zu verhindern, wenn eine flache Form entlang der Kante gleitet und sich auf die neue Form bewegt.

EdgeShape:setNextVertex( x, y )

xnumberDie x-Komponente des Scheitelpunktes.
ynumberDie y-Komponente des Scheitelpunktes.

EdgeShape:setPreviousVertex

Setzt einen Scheitelpunkt, der eine Verbindung zur vorherigen Form herstellt.

Dies kann dazu beitragen, unerwünschte Kollisionen zu verhindern, wenn eine flache Form entlang der Kante gleitet und sich auf die neue Form bewegt.

EdgeShape:setPreviousVertex( x, y )

xnumberDie x-Komponente des Scheitelpunktes.
ynumberDie y-Komponente des Scheitelpunktes.

DistanceJoint

Hält zwei Körper in der gleichen Entfernung.

Constructors

Functions

Supertypes

DistanceJoint:getDampingRatio

Ruft das Dämpfungsverhältnis auf.

ratio = DistanceJoint:getDampingRatio()

rationumberDas Dämpfungsverhältnis.

DistanceJoint:getFrequency

Ermittelt die Antwortgeschwindigkeit.

Hz = DistanceJoint:getFrequency()

HznumberDie Reaktionsgeschwindigkeit.

DistanceJoint:getLength

Erhält den Gleichgewichtsabstand zwischen den beiden Körpern.

l = DistanceJoint:getLength()

lnumberDie Länge zwischen den beiden Körpern.

DistanceJoint:setDampingRatio

Stellt das Dämpfungsverhältnis ein.

DistanceJoint:setDampingRatio( ratio )

rationumberDas Dämpfungsverhältnis.

DistanceJoint:setFrequency

Setzt die Reaktionsgeschwindigkeit.

DistanceJoint:setFrequency( Hz )

HznumberDie Reaktionsgeschwindigkeit.

DistanceJoint:setLength

Setzt den Gleichgewichtsabstand zwischen den beiden Körpern.

DistanceJoint:setLength( l )

lnumberDie Länge zwischen den beiden Körpern.

Fixture

Eine Befestigung fügt eine Form zu einem Körper hinzu.

Constructors

Functions

Supertypes

Fixture:destroy

Zerstört das Gerät

Fixture:destroy()

Fixture:getBody

Erhält den Körper, an dem die Halterung befestigt ist.

body = Fixture:getBody()

bodyBodyDer Elternteil.

Fixture:getBoundingBox

Erhält die Punkte der Befestigungsbox. Falls die Leuchte mehrere Kinder hat, kann ein 1-basierter Index angegeben werden. Zum Beispiel wird eine Halterung mehrere Kinder mit einer Kettenform haben.

topLeftX, topLeftY, bottomRightX, bottomRightY = Fixture:getBoundingBox( index )

topLeftXnumberDie x-Position des oberen linken Punktes.
topLeftYnumberDie y-Position des oberen linken Punktes.
bottomRightXnumberDie x-Position des unteren rechten Punktes.
bottomRightYnumberDie y-Position des unteren rechten Punktes.
index (1)numberEine Begrenzungsbox der Leuchte.

Fixture:getCategory

Erhält die Kategorien, zu denen das Gerät gehört.

category1, category2, ... = Fixture:getCategory()

category1numberDie erste Kategorie.
category2numberDie zweite Kategorie.
...numberWeitere Kategorien.

Fixture:getDensity

Erhält die Dichte der Leuchte.

density = Fixture:getDensity()

densitynumberDie Befestigungsdichte in Kilogramm pro Quadratmeter.

Fixture:getFilterData

Ruft die Filterdaten des Gerätes ab. Kategorien und Masken werden als Bits einer 16-Bit-Ganzzahl codiert.

categories, mask, group = Fixture:getFilterData()

categoriesnumberDie Kategorien als Ganzzahl von 0 bis 65535.
masknumberDie Maske als Ganzzahl von 0 bis 65535.
groupnumberDie Gruppe als Ganzzahl von -32768 bis 32767.

Fixture:getFriction

Erhält die Reibung der Leuchte.

friction = Fixture:getFriction()

frictionnumberDie Befestigungsreibung.

Fixture:getGroupIndex

Erhält die Gruppe, zu der das Gerät gehört. Fixtures mit der gleichen Gruppe werden immer kollidieren, wenn die Gruppe positiv ist oder niemals kollidieren, wenn es negativ ist. Die Gruppe nil bedeutet keine Gruppe.

Die Gruppen reichen von -32768 bis 32767.

group = Fixture:getGroupIndex()

groupnumberDie Gruppe der Leuchte.

Fixture:getMask

Erhält die Kategoriemaske der Leuchte.

mask1, mask2, ... = Fixture:getMask()

mask1numberDie erste Kategorie, die von der Maske ausgewählt wurde.
mask2numberDie zweite Kategorie, die von der Maske ausgewählt wird.
...numberZusätzliche Kategorien, die von der Maske ausgewählt wurden.

Fixture:getMassData

Erreicht die Masse, ihre Mitte und die Trägheit der Trägheit.

x, y, mass, inertia = Fixture:getMassData()

xnumberDie x-Position des Schwerpunkts
ynumberDie y-Position des Zentrums der Masse
massnumberDie Masse der Leuchte.
inertianumberDie Trägheit der Rotation

Fixture:getRestitution

Erhält die Rückgabe der Leuchte.

restitution = Fixture:getRestitution()

restitutionnumberDie Wiederherstellung des Gerätes

Fixture:getShape

Erhält die Form der Leuchte. Diese Form ist ein Verweis auf die tatsächlichen Daten, die in der Simulation verwendet werden. Es ist möglich, seine Werte zwischen timesteps zu ändern.

Rufen Sie keine Funktionen auf dieser Form an, nachdem die Elternbefestigung zerstört wurde. Diese Form wird auf eine ungültige Speicheradresse hinweisen und wahrscheinlich zu Abstürze führen, wenn Sie damit weiter interagieren.

shape = Fixture:getShape()

shapeShapeDie Form der Befestigung.

Fixture:getUserData

Erreicht den Lua-Wert, der mit dieser Leuchte verbunden ist.

Verwenden Sie diese Funktion nur in einem Thread.

value = Fixture:getUserData()

valueanyDer Lua-Wert, der mit der Leuchte verbunden ist.

Fixture:isDestroyed

Ermittelt, ob die Fixture zerstört ist. Zerstörte Vorrichtungen können nicht verwendet werden.

destroyed = Fixture:isDestroyed()

destroyedbooleanOb die Vorrichtung zerstört wird.

Fixture:isSensor

Ermittelt, ob die Leuchte ein Sensor ist.

sensor = Fixture:isSensor()

sensorbooleanWenn die Halterung ein Sensor ist.

Fixture:rayCast

Gibt einen Strahl gegen die Form der Halterung und gibt den Oberflächen-Normalenvektor und die Linienposition zurück, wo der Strahl trifft. Wenn der Strahl die Form verpasst, wird nil zurückgegeben.

Der Strahl startet am ersten Punkt der Eingabezeile und geht zum zweiten Punkt der Linie. Das vierte Argument ist die maximale Distanz, die der Strahl als Skalenfaktor der Eingangsleitungslänge verläuft.

Der Parameter childIndex wird verwendet, um festzulegen, welches Kind einer übergeordneten Form, wie z. B. eine ChainShape, Für ChainShapes ist der Index von 1 der erste Rand an der Kette. Ray Casting eine Elternform wird nur testen das Kind angegeben, wenn Sie alle Form des Elternteils testen möchten, müssen Sie durchlaufen alle seine Kinder.

Die Weltposition des Aufpralls kann durch Multiplizieren des Zeilenvektors mit dem dritten Rückgabewert und Hinzufügen zum Zeilenanfangspunkt berechnet werden.

Hitx, Hity = x1 + (x2 - x1) * Fraktion, y1 + (y2 - y1) * Fraktion

x, y, fraction = Fixture:rayCast( x1, y1, x2, y1, maxFraction, childIndex )

xnumberDie x-Position, wo der Strahl mit der Form schneidet.
ynumberDie y-Position, wo der Strahl mit der Form schneidet.
fractionnumberDie Position auf dem Eingangsvektor, wo die Kreuzung als eine Zahl von 0 bis 1 passiert ist.
x1numberDie x-Position des Strahlstartpunktes.
y1numberDie y-Position des Strahlstartpunktes.
x2numberDie x-Position des Strahlendpunktes.
y1numberDie y-Position des Strahlendpunktes.
maxFractionnumberDie maximale Distanz der Strahl wird als Zahl von 0 bis 1 reisen.
childIndex (1)numberDer Index des Kindes wird gegen den Strahl geworfen.

Fixture:setCategory

Setzt die Kategorien, zu denen das Gerät gehört. Es können bis zu 16 Kategorien als Zahl von 1 bis 16 dargestellt werden.

Fixture:setCategory( category1, category2, ... )

category1numberDie erste Kategorie.
category2numberDie zweite Kategorie.
...numberWeitere Kategorien.

Fixture:setDensity

Stellt die Dichte der Leuchte ein. Rufen Sie Körper an: resetMassData, wenn dies sofort wirksam werden muss.

Fixture:setDensity( density )

densitynumberDie Befestigungsdichte in Kilogramm pro Quadratmeter.

Fixture:setFilterData

Setzt die Filterdaten des Gerätes.

Gruppen, Kategorien und Masken können verwendet werden, um das Kollisionsverhalten des Gerätes zu definieren.

Wenn zwei Vorrichtungen in derselben Gruppe sind, kollidieren sie entweder immer, wenn die Gruppe positiv ist oder niemals kollidieren, wenn sie negativ ist. Wenn die Gruppe nil ist oder sie nicht übereinstimmen, prüft der Kontaktfilter, ob die Fixtures eine Kategorie der anderen Fixture mit ihren Masken auswählen. Die Leuchten kollidieren nicht, wenn das nicht der Fall ist. Wenn sie die jeweils anderen Kategorien haben, wird der Rückgabewert des benutzerdefinierten Kontaktfilters verwendet. Sie kollidieren immer, wenn keiner gesetzt wurde.

Es gibt bis zu 16 Kategorien. Kategorien und Masken werden als Bits einer 16-Bit-Ganzzahl codiert.

Fixture:setFilterData( categories, mask, group )

categoriesnumberDie Kategorien als Ganzzahl von 0 bis 65535.
masknumberDie Maske als Ganzzahl von 0 bis 65535.
groupnumberDie Gruppe als Ganzzahl von -32768 bis 32767.

Fixture:setFriction

Stellt die Reibung der Leuchte ein.

Fixture:setFriction( friction )

frictionnumberDie Befestigungsreibung.

Fixture:setGroupIndex

Setzt die Gruppe, zu der das Gerät gehört. Fixtures mit der gleichen Gruppe werden immer kollidieren, wenn die Gruppe positiv ist oder niemals kollidieren, wenn es negativ ist. Die Gruppe nil bedeutet keine Gruppe.

Die Gruppen reichen von -32768 bis 32767.

Fixture:setGroupIndex( group )

groupnumberDie Gruppe als Ganzzahl von -32768 bis 32767.

Fixture:setMask

Setzt die Kategoriemaske der Leuchte. Es können bis zu 16 Kategorien als Zahl von 1 bis 16 dargestellt werden.

Diese Leuchte kollidiert mit den Leuchten, die sich in den ausgewählten Kategorien befinden, wenn die andere Leuchte auch eine Kategorie dieser Leuchte hat.

Fixture:setMask( mask1, mask2, ... )

mask1numberDie erste Kategorie.
mask2numberDie zweite Kategorie.
...numberWeitere Kategorien.

Fixture:setRestitution

Setzt die Rückgabe der Leuchte.

Fixture:setRestitution( restitution )

restitutionnumberDie Wiederherstellung des Gerätes

Fixture:setSensor

Legt fest, ob das Gerät als Sensor fungieren soll.

Sensor erzeugt keine Kollisionsreaktionen, aber die Anfangs- und End-Rückrufe werden immer noch für diese Leuchte aufgerufen.

Fixture:setSensor( sensor )

sensorbooleanDer Sensorstatus

Fixture:setUserData

Assoziiert einen Lua-Wert mit der Leuchte.

Verwenden Sie diese Funktion nur in einem Thread.

Fixture:setUserData( value )

valueanyDer Lua-Wert, der mit der Leuchte verbunden ist.

Fixture:testPoint

Überprüft, ob ein Punkt innerhalb der Form des Gerätes ist.

isInside = Fixture:testPoint( x, y )

isInsidebooleanWahr, wenn der Punkt innen oder falsch ist, wenn es draußen ist.
xnumberDie x-Position des Punktes.
ynumberDie y-Position des Punktes.

FrictionJoint

Ein FrictionJoint wendet Reibung an einen Körper an.

Constructors

Functions

Supertypes

FrictionJoint:getMaxForce

Erreicht die maximale Reibungskraft in Newton.

force = FrictionJoint:getMaxForce()

forcenumberMaximale Kraft in Newton.

FrictionJoint:getMaxTorque

Erhält das maximale Reibungsdrehmoment in Newton-Metern.

torque = FrictionJoint:getMaxTorque()

torquenumberMaximales Drehmoment in Newton-Metern.

FrictionJoint:setMaxForce

Stellt die maximale Reibungskraft in Newton ein.

FrictionJoint:setMaxForce( maxForce )

maxForcenumberMax Kraft in Newton.

FrictionJoint:setMaxTorque

Stellt das maximale Reibungsdrehmoment in Newton-Metern ein.

FrictionJoint:setMaxTorque( torque )

torquenumberMaximales Drehmoment in Newton-Metern.

GearJoint

Hält die Körper so zusammen, dass sie wie Zahnräder wirken.

Constructors

Functions

Supertypes

GearJoint:getJoints

Holen Sie sich die Gelenke durch diese GearJoint verbunden.

joint1, joint2 = GearJoint:getJoints()

joint1JointDas erste verbundene Joint.
joint2JointDie zweite verbundene Verbindung.

GearJoint:getRatio

Holen Sie sich das Verhältnis eines Zahnrades.

ratio = GearJoint:getRatio()

rationumberDas Verhältnis des Gelenks

GearJoint:setRatio

Stellen Sie das Verhältnis einer Zahnradverbindung ein.

GearJoint:setRatio( ratio )

rationumberDas neue Verhältnis des Gelenks.

Joint

Fügt mehrere Körper zusammen, sodass sie speziell miteinander interagieren können.

Functions

Supertypes

Subtypes

Joint:destroy

Explizit zerstört die gemeinsame. Wenn Sie keine Zeit haben, auf Garbage Collection zu warten, kann diese Funktion verwendet werden, um das Objekt sofort freizugeben, aber beachten Sie, dass ein Fehler auftritt, wenn Sie versuchen, das Objekt nach dem Aufruf dieser Funktion zu verwenden.

Joint:destroy()

Joint:getAnchors

Holen Sie sich die Ankerpunkte des Gelenks.

x1, y1, x2, y2 = Joint:getAnchors()

x1numberDie x Komponente des Anchors auf Körper 1.
y1numberDie y-Komponente des Anchors auf Körper 1.
x2numberDie x-Komponente des Anchors auf Body 2.
y2numberDie y-Komponente des Anchors auf Body 2.

Joint:getBodies

Erhält die Leichen, an denen das Gelenk befestigt ist.

bodyA, bodyB = Joint:getBodies()

bodyABodyDer erste Körper.
bodyBBodyDer zweite Körper.

Joint:getCollideConnected

Ermittelt, ob die verbundenen Körper kollidieren.

c = Joint:getCollideConnected()

cbooleanWahr, wenn sie kollidieren, falsch anders.

Joint:getReactionForce

Erhält die Reaktionskraft auf Körper 2 am Gelenkanker.

x, y = Joint:getReactionForce()

xnumberDie x-Komponente der Kraft.
ynumberDie y-Komponente der Kraft.

Joint:getReactionTorque

Erhält das Reaktionsmoment auf den zweiten Körper.

torque = Joint:getReactionTorque( invdt )

torquenumberDas Reaktionsmoment auf den zweiten Körper.
invdtnumberWie lange die Kraft gilt. Normalerweise ist der inverse Zeitschritt oder 1 / dt.

Joint:getType

Ruft einen String ab, der den Typ darstellt.

type = Joint:getType()

typeJointTypeEin String mit dem Namen des gemeinsamen Typs.

Joint:getUserData

Erreicht den Lua-Wert, der mit diesem Joint verbunden ist.

value = Joint:getUserData()

valueanyDer Lua-Wert, der mit dem Joint verbunden ist.

Joint:isDestroyed

Ermittelt, ob das Joint zerstört ist. Zerstörte Gelenke können nicht verwendet werden.

destroyed = Joint:isDestroyed()

destroyedbooleanOb das Gelenk zerstört wird.

Joint:setUserData

Assoziiert einen Lua-Wert mit dem Joint.

Um die Referenz zu löschen, explizit passieren Sie nil.

Joint:setUserData( value )

valueanyDer Lua-Wert, der mit dem Joint verbunden ist.

MotorJoint

Steuert die Relativbewegung zwischen zwei Körpern. Positions- und Rotationsversätze können spezifiziert werden, sowie die maximale Motorleistung und das Drehmoment, das angewendet wird, um die Ziel-Offsets zu erreichen.

Constructors

Functions

Supertypes

MotorJoint:getAngularOffset

Ruft den Ziel-Winkelversatz zwischen den beiden Bodies ab, an die das Joint angeschlossen ist.

angularoffset = MotorJoint:getAngularOffset()

angularoffsetnumberDer Zielwinkelversatz im Bogenmaß: der Winkel des zweiten Körpers abzüglich des ersten Körperwinkels.

MotorJoint:getLinearOffset

Ruft den Ziel-Linear-Offset zwischen den beiden Bodies ab, an die das Joint angeschlossen ist.

x, y = MotorJoint:getLinearOffset()

xnumberDie x-Komponente des Ziel-Linear-Offsets, bezogen auf den ersten Körper.
ynumberDie y-Komponente des Ziel-Linear-Offsets, bezogen auf den ersten Körper.

MotorJoint:setAngularOffset

Setzt den Ziel-Angluar-Offset zwischen den beiden Bodies, an die das Joint angeschlossen ist.

MotorJoint:setAngularOffset( angularoffset )

angularoffsetnumberDer Zielwinkelversatz im Bogenmaß: der Winkel des zweiten Körpers abzüglich des ersten Körperwinkels.

MotorJoint:setLinearOffset

Setzt den Ziel-Linear-Offset zwischen den beiden Bodies, an die das Joint angeschlossen ist.

MotorJoint:setLinearOffset( x, y )

xnumberDie x-Komponente des Ziel-Linear-Offsets, bezogen auf den ersten Körper.
ynumberDie y-Komponente des Ziel-Linear-Offsets, bezogen auf den ersten Körper.

MouseJoint

Zur Steuerung von Objekten mit der Maus.

Constructors

Functions

Supertypes

MouseJoint:getDampingRatio

Ruft das Dämpfungsverhältnis auf.

ratio = MouseJoint:getDampingRatio()

rationumberDas neue Dämpfungsverhältnis.

MouseJoint:getFrequency

Ruft die Frequenz ab.

freq = MouseJoint:getFrequency()

freqnumberDie Häufigkeit in Hertz.

MouseJoint:getMaxForce

Erhält die höchstzulässige Kraft.

f = MouseJoint:getMaxForce()

fnumberDie maximal zulässige Kraft.

MouseJoint:getTarget

Ruft den Zielpunkt ab.

x, y = MouseJoint:getTarget()

xnumberDie x-Komponente des Ziels.
ynumberDie x-Komponente des Ziels.

MouseJoint:setDampingRatio

Setzt ein neues Dämpfungsverhältnis.

MouseJoint:setDampingRatio( ratio )

rationumberDas neue Dämpfungsverhältnis.

MouseJoint:setFrequency

Setzt eine neue Frequenz.

MouseJoint:setFrequency( freq )

freqnumberDie neue Frequenz in Hertz.

MouseJoint:setMaxForce

Setzt die höchstzulässige Kraft.

MouseJoint:setMaxForce( f )

fnumberDie maximal zulässige Kraft.

MouseJoint:setTarget

Setzt den Zielpunkt.

MouseJoint:setTarget( x, y )

xnumberDie x-Komponente des Ziels.
ynumberDie y-Komponente des Ziels.

PolygonShape

Polygon ist ein konvexes Polygon mit bis zu 8 Seiten.

Constructors

Functions

Supertypes

PolygonShape:getPoints

Holen Sie sich die lokalen Koordinaten der Ebenen des Polygons.

Diese Funktion hat eine variable Anzahl von Rückgabewerten. Es kann in verschachtelter Weise mit love.graphics.polygon verwendet werden.

Diese Funktion kann bis zu 16 Rückgabewerte haben, da sie zwei Werte für jeden Scheitelpunkt im Polygon zurückgibt. Mit anderen Worten, es kann die Koordinaten von bis zu 8 Punkten zurückgeben.

x1, y1, x2, y2, ... = PolygonShape:getPoints()

x1numberDie x-Komponente des ersten Scheitelpunktes.
y1numberDie y-Komponente des ersten Scheitelpunktes
x2numberDie x-Komponente des zweiten Scheitelpunktes.
y2numberDie y-Komponente des zweiten Scheitelpunktes.
...numberZusätzliche x- und y-Werte.

PrismaticJoint

Beschränkt die Relativbewegung zwischen Bodies auf eine gemeinsame Achse.

Constructors

Functions

Supertypes

PrismaticJoint:getAxis

Erhält den Weltraum-Achsvektor des Prisma-Joint.

x, y = PrismaticJoint:getAxis()

xnumberDie x-Achsen-Koordinate des Weltraum-Achsvektors.
ynumberDie y-Achsenkoordinate des Weltraumachsenvektors.

PrismaticJoint:getJointSpeed

Holen Sie sich die aktuelle Gelenkwinkelgeschwindigkeit.

s = PrismaticJoint:getJointSpeed()

snumberGemeinsame Winkelgeschwindigkeit in Meter / Sekunde.

PrismaticJoint:getJointTranslation

Holen Sie sich die aktuelle gemeinsame Übersetzung.

t = PrismaticJoint:getJointTranslation()

tnumberGemeinsame Übersetzung, meist in Metern.

PrismaticJoint:getLimits

Erhält die gemeinsamen Grenzen.

lower, upper = PrismaticJoint:getLimits()

lowernumberDie untere Grenze, in der Regel in Meter.
uppernumberDie obere Grenze, meist in Metern.

PrismaticJoint:getLowerLimit

Erhält die untere Grenze.

lower = PrismaticJoint:getLowerLimit()

lowernumberDie untere Grenze, in der Regel in Meter.

PrismaticJoint:getMaxMotorForce

Erreicht die maximale Motorkraft.

f = PrismaticJoint:getMaxMotorForce()

fnumberDie maximale Motorkraft, meist in N.

PrismaticJoint:getMotorForce

Holen Sie sich die aktuelle Motorkraft.

f = PrismaticJoint:getMotorForce()

fnumberDie aktuelle Motorkraft, meist in N.

PrismaticJoint:getMotorSpeed

Ermittelt die Motordrehzahl.

s = PrismaticJoint:getMotorSpeed()

snumberDie Motordrehzahl, meist in Metern pro Sekunde.

PrismaticJoint:getUpperLimit

Ruft die Obergrenze ab.

upper = PrismaticJoint:getUpperLimit()

uppernumberDie obere Grenze, meist in Metern.

PrismaticJoint:hasLimitsEnabled

Überprüft, ob die Grenzwerte aktiviert sind.

enabled = PrismaticJoint:hasLimitsEnabled()

enabledbooleanTrue, wenn aktiviert, false anders.

PrismaticJoint:isMotorEnabled

Überprüft, ob der Motor freigegeben ist.

enabled = PrismaticJoint:isMotorEnabled()

enabledbooleanTrue if enabled, false wenn deaktiviert

PrismaticJoint:setLimits

Setzt die Grenzen.

PrismaticJoint:setLimits( lower, upper )

lowernumberDie untere Grenze, in der Regel in Meter.
uppernumberDie obere Grenze, meist in Metern.

PrismaticJoint:setLimitsEnabled

Aktiviert oder deaktiviert die Grenzen des Gelenks.

PrismaticJoint:setLimitsEnabled( enable )

enablebooleanTrue to enable, false zu deaktivieren.

PrismaticJoint:setLowerLimit

Setzt die untere Grenze.

PrismaticJoint:setLowerLimit( lower )

lowernumberDie untere Grenze, in der Regel in Meter.

PrismaticJoint:setMaxMotorForce

Stellen Sie die maximale Motorleistung ein.

PrismaticJoint:setMaxMotorForce( f )

fnumberDie maximale Motorkraft, meist in N.

PrismaticJoint:setMotorEnabled

Startet oder stoppt den gemeinsamen Motor.

PrismaticJoint:setMotorEnabled( enable )

enablebooleanTrue to enable, false zu deaktivieren.

PrismaticJoint:setMotorSpeed

Stellt die Motordrehzahl ein.

PrismaticJoint:setMotorSpeed( s )

snumberDie Motordrehzahl, meist in Metern pro Sekunde.

PrismaticJoint:setUpperLimit

Setzt die obere Grenze.

PrismaticJoint:setUpperLimit( upper )

uppernumberDie obere Grenze, meist in Metern.

PulleyJoint

Ermöglicht es Ihnen, Körper, die durch Riemenscheiben verbunden sind, zu simulieren.

Constructors

Functions

Supertypes

PulleyJoint:getConstant

Holen Sie sich die Gesamtlänge des Seils.

length = PulleyJoint:getConstant()

lengthnumberDie Länge des Seils im Gelenk.

PulleyJoint:getGroundAnchors

Holen Sie sich die Boden Anker Positionen in Weltkoordinaten.

a1x, a1y, a2x, a2y = PulleyJoint:getGroundAnchors()

a1xnumberDie x-Koordinate des ersten Anker.
a1ynumberDie y-Koordinate des ersten Anker.
a2xnumberDie x-Koordinate des zweiten Anker.
a2ynumberDie y-Koordinate des zweiten Anker.

PulleyJoint:getLengthA

Holen Sie sich die aktuelle Länge des Seilsegments an den ersten Körper.

length = PulleyJoint:getLengthA()

lengthnumberDie Länge des Seilsegments

PulleyJoint:getLengthB

Holen Sie sich die aktuelle Länge des Seilsegments an den zweiten Körper.

length = PulleyJoint:getLengthB()

lengthnumberDie Länge des Seilsegments

PulleyJoint:getMaxLengths

Holen Sie sich die maximalen Längen der Seilsegmente.

len1, len2 = PulleyJoint:getMaxLengths()

len1numberDie maximale Länge des ersten Seilsegments.
len2numberDie maximale Länge des zweiten Seilsegments

PulleyJoint:getRatio

Holen Sie sich das Riemenscheibenverhältnis.

ratio = PulleyJoint:getRatio()

rationumberDas Riemenscheibenverhältnis des Gelenks

PulleyJoint:setConstant

Legen Sie die Gesamtlänge des Seils fest.

Einstellen einer neuen Länge für das Seil aktualisiert die maximalen Längenwerte des Gelenks.

PulleyJoint:setConstant( length )

lengthnumberDie neue Länge des Seils im Gelenk.

PulleyJoint:setMaxLengths

Legen Sie die maximalen Längen der Seilsegmente fest.

Das Physikmodul legt auch Höchstwerte für die Seilsegmente fest. Wenn die Parameter diese Werte überschreiten, werden die Maximalwerte anstelle der angeforderten Werte gesetzt.

PulleyJoint:setMaxLengths( max1, max2 )

max1numberDie neue maximale Länge des ersten Segments.
max2numberDie neue maximale Länge des zweiten Segments.

PulleyJoint:setRatio

Stellen Sie das Riemenscheibenverhältnis ein.

PulleyJoint:setRatio( ratio )

rationumberDas neue Riemenscheibenverhältnis des Gelenks.

RevoluteJoint

Erlaube zwei Körper, um einen gemeinsamen Punkt zu drehen.

Constructors

Functions

Supertypes

RevoluteJoint:setLimitsEnabled

Aktiviert oder deaktiviert die gemeinsamen Grenzen.

RevoluteJoint:setLimitsEnabled( enable )

enablebooleanTrue to enable, false zu deaktivieren.

RevoluteJoint:setMotorEnabled

Startet oder stoppt den gemeinsamen Motor.

RevoluteJoint:setMotorEnabled( enable )

enablebooleanTrue to enable, false zu deaktivieren.

RevoluteJoint:getJointAngle

Holen Sie sich den aktuellen Gelenkwinkel.

angle = RevoluteJoint:getJointAngle()

anglenumberDer Gelenkwinkel im Bogenmaß

RevoluteJoint:getJointSpeed

Holen Sie sich die aktuelle Gelenkwinkelgeschwindigkeit.

s = RevoluteJoint:getJointSpeed()

snumberJoint Winkel Geschwindigkeit in Bogenmaß / Sekunde.

RevoluteJoint:getLimits

Erhält die gemeinsamen Grenzen.

lower, upper = RevoluteJoint:getLimits()

lowernumberDie untere Grenze, im Bogenmaß.
uppernumberDie obere Grenze, im Bogenmaß.

RevoluteJoint:getLowerLimit

Erhält die untere Grenze.

lower = RevoluteJoint:getLowerLimit()

lowernumberDie untere Grenze, im Bogenmaß.

RevoluteJoint:getMaxMotorTorque

Erreicht die maximale Motorkraft.

f = RevoluteJoint:getMaxMotorTorque()

fnumberDie maximale Motorkraft in Nm.

RevoluteJoint:getMotorSpeed

Ermittelt die Motordrehzahl.

s = RevoluteJoint:getMotorSpeed()

snumberDie Motordrehzahl, Radiant pro Sekunde.

RevoluteJoint:getMotorTorque

Holen Sie sich die aktuelle Motorkraft.

f = RevoluteJoint:getMotorTorque()

fnumberDie aktuelle Motorkraft, in Nm.

RevoluteJoint:getUpperLimit

Ruft die Obergrenze ab.

upper = RevoluteJoint:getUpperLimit()

uppernumberDie obere Grenze, im Bogenmaß.

RevoluteJoint:hasLimitsEnabled

Überprüft, ob die Grenzwerte aktiviert sind.

enabled = RevoluteJoint:hasLimitsEnabled()

enabledbooleanTrue, wenn aktiviert, false anders.

RevoluteJoint:isMotorEnabled

Überprüft, ob der Motor freigegeben ist.

enabled = RevoluteJoint:isMotorEnabled()

enabledbooleanTrue if enabled, false wenn deaktiviert

RevoluteJoint:setLimits

Setzt die Grenzen.

RevoluteJoint:setLimits( lower, upper )

lowernumberDie untere Grenze, im Bogenmaß.
uppernumberDie obere Grenze, im Bogenmaß.

RevoluteJoint:setLowerLimit

Setzt die untere Grenze.

RevoluteJoint:setLowerLimit( lower )

lowernumberDie untere Grenze, im Bogenmaß.

RevoluteJoint:setMaxMotorTorque

Stellen Sie die maximale Motorleistung ein.

RevoluteJoint:setMaxMotorTorque( f )

fnumberDie maximale Motorkraft in Nm.

RevoluteJoint:setMotorSpeed

Stellt die Motordrehzahl ein.

RevoluteJoint:setMotorSpeed( s )

snumberDie Motordrehzahl, Radiant pro Sekunde.

RevoluteJoint:setUpperLimit

Setzt die obere Grenze.

RevoluteJoint:setUpperLimit( upper )

uppernumberDie obere Grenze, im Bogenmaß.

RopeJoint

Der RopeJoint erzwingt einen maximalen Abstand zwischen zwei Punkten auf zwei Körpern. Es hat keine andere Wirkung.

Constructors

Functions

Supertypes

RopeJoint:getMaxLength

Erreicht die maximale Länge eines RopeJoint.

maxLength = RopeJoint:getMaxLength()

maxLengthnumberDie maximale Länge des RopeJoint.

Shape

Formen sind feste zweidimensionale geometrische Objekte, welche die Masse und Kollisionen eines Körpers handhaben.

Formen und Körper werden durch eine Befestigung zusammengefügt. Das Form-Objekt wird dazu kopiert.

Die Position einer Form ist relativ zu der Position des dazugehörigen Körpers.

Constructors

Functions

Supertypes

Subtypes

Shape:computeAABB

Ruft die Punkte der Begrenzungsbox für die transformierte Form ab.

topLeftX, topLeftY, bottomRightX, bottomRightY = Shape:computeAABB( tx, ty, tr, childIndex )

topLeftXnumberDie x-Position des oberen linken Punktes.
topLeftYnumberDie y-Position des oberen linken Punktes.
bottomRightXnumberDie x-Position des unteren rechten Punktes.
bottomRightYnumberDie y-Position des unteren rechten Punktes.
txnumberDie Übersetzung der Form auf der x-Achse.
tynumberDie Übersetzung der Form auf der y-Achse.
trnumberDie Formrotation.
childIndex (1)numberDer Index des Kindes, um die Begrenzungsbox zu berechnen.

Shape:computeMass

Berechnet die Masseneigenschaften für die Form mit der angegebenen Dichte.

x, y, mass, inertia = Shape:computeMass( density )

xnumberDie x-postition des massenzentrums
ynumberDie Frage nach dem Zentrum der Masse
massnumberDie Masse der Form.
inertianumberDie Trägheit der Rotation
densitynumberDie Formdichte

Shape:getChildCount

Erhält die Anzahl der Kinder, die die Form hat.

count = Shape:getChildCount()

countnumberDie Zahl der Kinder.

Shape:getRadius

Erhält den Radius der Form.

radius = Shape:getRadius()

radiusnumberDer Radius der Form.

Shape:getType

Ruft einen String ab, der die Form darstellt. Diese Funktion kann für die bedingte Debug-Zeichnung nützlich sein.

type = Shape:getType()

typeShapeTypeDie Art der Form.

Shape:rayCast

Gibt einen Strahl gegen die Form und gibt den Oberflächen-Normalenvektor und die Linienposition zurück, wo der Strahl getroffen wurde. Wenn der Strahl die Form verpasst, wird nil zurückgegeben. Die Form kann umgewandelt werden, um sie in die gewünschte Position zu bringen.

Der Strahl startet am ersten Punkt der Eingabezeile und geht zum zweiten Punkt der Linie. Das vierte Argument ist die maximale Distanz, die der Strahl als Skalenfaktor der Eingangsleitungslänge verläuft.

Der Parameter childIndex wird verwendet, um festzulegen, welches Kind einer übergeordneten Form, wie z. B. eine ChainShape, Für ChainShapes ist der Index von 1 der erste Rand an der Kette. Ray Casting eine Elternform wird nur testen das Kind angegeben, wenn Sie alle Form des Elternteils testen möchten, müssen Sie durchlaufen alle seine Kinder.

Die Weltposition des Aufpralls kann durch Multiplizieren des Zeilenvektors mit dem dritten Rückgabewert und Hinzufügen zum Zeilenanfangspunkt berechnet werden.

Hitx, Hity = x1 + (x2 - x1) * Fraktion, y1 + (y2 - y1) * Fraktion

xn, yn, fraction = Shape:rayCast( x1, y1, x2, y2, maxFraction, tx, ty, tr, childIndex )

xnnumberDie x-Komponente des Normalenvektors der Kante, wo der Strahl die Form trifft.
ynnumberDie y-Komponente des Normalenvektors der Kante, wo der Strahl die Form trifft.
fractionnumberDie Position auf der Eingabezeile, wo die Kreuzung als ein Faktor der Zeilenlänge passiert ist.
x1numberDie x-Position des Eingangsleitungs-Startpunktes.
y1numberDie y-Position des Eingangsleitungs-Startpunktes.
x2numberDie x-Position des Eingangsleitungsendpunktes.
y2numberDie y-Position des Eingangsleitungsendpunktes.
maxFractionnumberStrahllängenparameter
txnumberDie Übersetzung der Form auf der x-Achse.
tynumberDie Übersetzung der Form auf der y-Achse.
trnumberDie Formrotation.
childIndex (1)numberDer Index des Kindes wird gegen den Strahl geworfen.

Shape:testPoint

Überprüft, ob ein Punkt innerhalb der Form liegt. Dies ist besonders nützlich für die Maus-Interaktion mit den Formen. Durch das Durchschleifen aller Formen und das Testen der Mausposition mit dieser Funktion können wir finden, welche Formen die Maus berührt.

hit = Shape:testPoint( x, y )

hitbooleanTrue wenn innen, falsch wenn draußen
xnumberDie x-Komponente des Punktes.
ynumberDie y-Komponente des Punktes.

WeldJoint

Ein WeldJoint klebt im Wesentlichen zwei Körper zusammen.

Constructors

Functions

Supertypes

WeldJoint:getDampingRatio

Erhält das Dämpfungsverhältnis des Gelenks.

ratio = WeldJoint:getDampingRatio()

rationumberDas Dämpfungsverhältnis.

WeldJoint:getFrequency

Ruft die Frequenz ab.

freq = WeldJoint:getFrequency()

freqnumberDie Häufigkeit in Hertz.

WeldJoint:setDampingRatio

Das neue Dämpfungsverhältnis.

WeldJoint:setDampingRatio( ratio )

rationumberDas neue Dämpfungsverhältnis.

WeldJoint:setFrequency

Setzt eine neue Frequenz.

WeldJoint:setFrequency( freq )

freqnumberDie neue Frequenz in Hertz.

WheelJoint

Beschränkt einen Punkt auf den zweiten Körper auf eine Linie auf dem ersten Körper.

Constructors

Functions

Supertypes

WheelJoint:getAxis

Ruft den Weltraum-Achsenvektor des Radgelenks ab.

x, y = WheelJoint:getAxis()

xnumberDie x-Achsen-Koordinate des Weltraum-Achsvektors.
ynumberDie y-Achsenkoordinate des Weltraumachsenvektors.

WheelJoint:getJointSpeed

Ermittelt die aktuelle Übersetzungsgeschwindigkeit.

speed = WheelJoint:getJointSpeed()

speednumberDie Übersetzungsgeschwindigkeit der Fuge in Metern pro Sekunde.

WheelJoint:getJointTranslation

Erhält die aktuelle gemeinsame Übersetzung.

position = WheelJoint:getJointTranslation()

positionnumberDie Übersetzung des Gelenks in Metern.

WheelJoint:getMaxMotorTorque

Ermittelt das maximale Motordrehmoment.

maxTorque = WheelJoint:getMaxMotorTorque()

maxTorquenumberDas maximale Drehmoment des Gelenkmotors in Newtonmetern.

WheelJoint:getMotorSpeed

Ermittelt die Geschwindigkeit des Motors.

speed = WheelJoint:getMotorSpeed()

speednumberDie Geschwindigkeit des gemeinsamen Motors im Bogenmaß pro Sekunde.

WheelJoint:getMotorTorque

Ermittelt das aktuelle Drehmoment am Motor.

torque = WheelJoint:getMotorTorque( invdt )

torquenumberDas Drehmoment auf den Motor in Newtonmeter.
invdtnumberWie lange die Kraft gilt. Normalerweise ist der inverse Zeitschritt oder 1 / dt.

WheelJoint:getSpringDampingRatio

Ruft das Dämpfungsverhältnis auf.

ratio = WheelJoint:getSpringDampingRatio()

rationumberDas Dämpfungsverhältnis.

WheelJoint:getSpringFrequency

Erhält die Federfrequenz.

freq = WheelJoint:getSpringFrequency()

freqnumberDie Häufigkeit in Hertz.

WheelJoint:setMaxMotorTorque

Stellt ein neues maximales Motordrehmoment ein.

WheelJoint:setMaxMotorTorque( maxTorque )

maxTorquenumberDas neue maximale Drehmoment für den gemeinsamen Motor in Newtonmetern.

WheelJoint:setMotorEnabled

Startet und stoppt den gemeinsamen Motor.

WheelJoint:setMotorEnabled( enable )

enablebooleanTrue schaltet den Motor ein und falsch schaltet ihn aus.

WheelJoint:setMotorSpeed

Stellt eine neue Geschwindigkeit für den Motor ein.

WheelJoint:setMotorSpeed( speed )

speednumberDie neue Geschwindigkeit für den gemeinsamen Motor im Bogenmaß pro Sekunde.

WheelJoint:setSpringDampingRatio

Setzt ein neues Dämpfungsverhältnis.

WheelJoint:setSpringDampingRatio( ratio )

rationumberDas neue Dämpfungsverhältnis.

WheelJoint:setSpringFrequency

Setzt eine neue Federfrequenz.

WheelJoint:setSpringFrequency( freq )

freqnumberDie neue Frequenz in Hertz.

World

Eine Welt ist ein Objekt, das alle Körper und Gelenke enthält.

Constructors

Functions

Supertypes

World:destroy

Zerstört die Welt und nimmt alle Körper, Gelenke, Vorrichtungen und ihre Formen mit.

Ein Fehler tritt auf, wenn Sie versuchen, eines der zerstörten Objekte nach dem Aufruf dieser Funktion zu verwenden.

World:destroy()

World:getBodyCount

Holen Sie sich die Anzahl der Körper in der Welt.

n = World:getBodyCount()

nnumberDie Anzahl der Körper in der Welt.

World:getBodyList

Erhält einen Tisch mit allen Körpern.

bodies = World:getBodyList()

bodiestableEine Sequenz mit allen Körpern.

World:getCallbacks

Ruft die Funktionen für die Rückrufe während des Welt-Updates ab.

beginContact, endContact, preSolve, postSolve = World:getCallbacks()

beginContactfunctionWird aufgerufen, wenn sich zwei Leuchten überlappen.
endContactfunctionWird aufgerufen, wenn zwei Leuchten nicht mehr überlappen.
preSolvefunctionWird aufgerufen, bevor eine Kollision gelöst wird.
postSolvefunctionWird nach der Kollision aufgerufen.

World:getContactCount

Erhält die Anzahl der Kontakte in der Welt.

n = World:getContactCount()

nnumberDie Anzahl der Kontakte in der Welt.

World:getContactFilter

Ruft die Funktion für die Kollisionsfilterung auf.

contactFilter = World:getContactFilter()

contactFilterfunctionDie Funktion, die die Kontaktfilterung behandelt.

World:getContactList

Ruft einen Tisch mit allen Kontakten ab.

contacts = World:getContactList()

contactstableEine Sequenz mit allen Kontakten.

World:getGravity

Holen Sie sich die Schwerkraft der Welt.

x, y = World:getGravity()

xnumberDie x-Komponente der Schwerkraft.
ynumberDie y-Komponente der Schwerkraft.

World:getJointCount

Holen Sie sich die Anzahl der Gelenke in der Welt.

n = World:getJointCount()

nnumberDie Anzahl der Gelenke in der Welt.

World:getJointList

Erhält einen Tisch mit allen Gelenken.

joints = World:getJointList()

jointstableEine Sequenz mit allen Gelenken.

World:isDestroyed

Ermittelt, ob die Welt zerstört ist. Zerstörte Welten können nicht benutzt werden.

destroyed = World:isDestroyed()

destroyedbooleanOb die Welt zerstört wird.

World:isLocked

Ruft, wenn die Welt ihren Zustand aktualisiert.

Dies wird in den Callbacks von World zurückkehren: setCallbacks.

locked = World:isLocked()

lockedbooleanWird wahr sein, wenn die Welt in den Prozess der Aktualisierung ihres Staates ist.

World:isSleepingAllowed

Erhält das Schlafverhalten der Welt.

allowSleep = World:isSleepingAllowed()

allowSleepbooleanTrue, wenn die Körper schlafen oder falsch sind, wenn nicht.

World:queryBoundingBox

Ruft eine Funktion für jede Leuchte innerhalb des angegebenen Bereichs auf.

World:queryBoundingBox( topLeftX, topLeftY, bottomRightX, bottomRightY, callback )

topLeftXnumberDie x-Position des oberen linken Punktes.
topLeftYnumberDie y-Position des oberen linken Punktes.
bottomRightXnumberDie x-Position des unteren rechten Punktes.
bottomRightYnumberDie y-Position des unteren rechten Punktes.
callbackfunctionDiese Funktion wird ein Argument übergeben, die Fixture, und sollte eine Boolesche zurückgeben. Die Suche wird fortgesetzt, wenn es wahr ist oder stoppt, wenn es falsch ist.

World:rayCast

Gibt einen Strahl an und ruft eine Funktion für jede Fixtures auf, die er schneidet.

World:rayCast( x1, y1, x2, y2, callback )

x1numberDie x-Position des Ausgangspunktes des Strahls
y1numberDie y-Position des Ausgangspunktes des Strahls
x2numberDie x-Position des Endpunktes des Strahls
y2numberDie y-Position des Endpunktes des Strahls
callbackfunctionDiese Funktion erhält sechs Argumente und sollte eine Nummer zurückgeben.

World:setCallbacks

Setzt Funktionen für die Kollisionsrückrufe während des Welt-Updates.

Vier Lua-Funktionen können als Argumente gegeben werden. Der Wert nil entfernt eine Funktion.

Wenn aufgerufen, wird jede Funktion drei Argumente übergeben. Die ersten beiden Argumente sind die Kollisionsbefestigungen und das dritte Argument ist der Kontakt zwischen ihnen. Der PostSolve Callback erhält zusätzlich den normalen und tangentialen Impuls für jeden Kontaktpunkt.

World:setCallbacks( beginContact, endContact, preSolve, postSolve )

beginContactfunctionWird aufgerufen, wenn sich zwei Leuchten überlappen.
endContactfunctionWird aufgerufen, wenn zwei Leuchten nicht mehr überlappen.
preSolvefunctionWird aufgerufen, bevor eine Kollision gelöst wird.
postSolvefunctionWird nach der Kollision aufgerufen.

World:setContactFilter

Setzt eine Funktion zur Kollisionsfilterung.

Wenn die Gruppen- und Kategorienfilterung keine Kollisionsentscheidung erzeugt, wird diese Funktion mit den beiden Fixtures als Argumente aufgerufen. Die Funktion sollte einen booleschen Wert zurückgeben, wo true bedeutet, dass die Fixtures kollidieren und false bedeutet, dass sie einander passieren werden.

World:setContactFilter( filter )

filterfunctionDie Funktion der Kontaktfilterung.

World:setGravity

Setzen Sie die Schwerkraft der Welt.

World:setGravity( x, y )

xnumberDie x-Komponente der Schwerkraft.
ynumberDie y-Komponente der Schwerkraft.

World:setSleepingAllowed

Setz das Schlafverhalten der Welt.

Ein Schlafkörper ist viel effizienter zu simulieren als wach.

Wenn das Schlafen erlaubt ist, wird jeder Körper, der zur Ruhe gekommen ist, schlafen.

World:setSleepingAllowed( allowSleep )

allowSleepbooleanTrue, wenn die Körper schlafen oder falsch sind, wenn nicht.

World:translateOrigin

Übersetzt den Ursprung der Welt. Nützlich in großen Welten, wo Fließkomma-Präzisionsprobleme in weitem Abstand vom Ursprung spürbar werden.

World:translateOrigin( x, y )

xnumberDie x-Komponente des neuen Ursprungs in Bezug auf den alten Ursprung.
ynumberDie y-Komponente des neuen Ursprungs in Bezug auf den alten Ursprung.

World:update

Aktualisiere den Zustand der Welt.

World:update( dt )

dtnumberDie Zeit (in Sekunden), um die Physik-Simulation voranzutreiben.

love.sound

Types

love.sound.newSoundData

Erstellt eine neue SoundData aus einer Datei. Es ist auch möglich, SoundData mit einer benutzerdefinierten Sample Rate, Kanal und Bittiefe zu erstellen.

Die Klangdaten werden im Rohformat in den Speicher decodiert. Es wird empfohlen, nur kurze Sounds wie Effekte zu erstellen, da ein 3-minütiger Song 30 MB Speicher auf diese Weise verwendet.

soundData = love.sound.newSoundData( file )

soundDataSoundDataEin neues SoundData-Objekt.
filestring / File / FileDataDer Dateipfad / Datei / FileData der zu ladenden Datei.

soundData = love.sound.newSoundData( samples, samplingRate, bitRate, channelCount )

soundDataSoundDataEin neues SoundData-Objekt.
samplesnumberGesamtzahl der Proben.
samplingRate (44100)numberAnzahl der Proben pro Sekunde
bitRate (16)numberBits pro Probe (8 oder 16).
channelCount (2)numberEntweder 1 für mono oder 2 für stereo.

SoundData

Enthält rohe Audio-Samples. Sie können SoundData nicht direkt zurückgeben. Sie müssen ein Quellobjekt umschließen.

Constructors

Functions

Supertypes

SoundData:getBitDepth

Ruft die Anzahl der Bits pro Probe ab.

bits = SoundData:getBitDepth()

bitsnumberEntweder 8 oder 16.

SoundData:getChannels

Ruft die Anzahl der Kanäle im Stream ab.

channels = SoundData:getChannels()

channelsnumber1 für mono, 2 für stereo.

SoundData:getDuration

Ruft die Dauer der Tondaten ab.

duration = SoundData:getDuration()

durationnumberDie Dauer der Tondaten in Sekunden.

SoundData:getSample

Ruft das Sample an der angegebenen Position ab.

sample = SoundData:getSample( i )

samplenumberDie normalisierte Probe (Bereich -1,0 bis 1,0).
inumberEin ganzzahliger Wert, der die Position des Samples angibt (0 Punkte zum ersten Sample).

SoundData:getSampleCount

Ruft die Anzahl der Samples pro Kanal der SoundData ab.

count = SoundData:getSampleCount()

countnumberGesamtzahl der Proben.

SoundData:getSampleRate

Ruft die Samplerate der SoundData ab.

rate = SoundData:getSampleRate()

ratenumberAnzahl der Proben pro Sekunde.

SoundData:setSample

Setzt die Probe an der angegebenen Position.

SoundData:setSample( i, sample )

inumberDie Position der Probe (0 bedeutet erste Probe).
samplenumberEine normalisierte Probe (Bereich -1,0 bis 1,0).

love.system

Functions

Enums

love.system.getClipboardText

Gibt einen Text aus der Zwischenablage zurück.

text = love.system.getClipboardText()

textstringDer Text welcher sich in der Zwischenablage des Systems befindet.

love.system.getOS

Gibt das Betriebssystem aus, auf welchem LÖVE gerade ausgeführt wird.

Im Allgemeinen ist es nicht wichtig ob LÖVE weiß auf welchem Betriebssystem es läuft, aber es gibt einige Fälle wo dies wichtig sein kann (hauptsächlich in Kombination mit os.execute.)

osString = love.system.getOS()

osStringstringDas derzeitige Betriebssystem.. "OS X", "Windows", oder "Linux".

love.system.getPowerInfo

Ermittelt Informationen über die Stromversorgung des Systems.

state, percent, seconds = love.system.getPowerInfo()

statePowerStateDer Grundzustand der Stromversorgung.
percentnumberProzentsatz der Batterielebensdauer, zwischen 0 und 100. nil wenn der Wert nicht ermittelt werden kann oder keine Batterie vorhanden ist.
secondsnumberSekunden der Batterielebensdauer. nil wenn der Wert nicht bestimmt werden kann oder es keine Batterie gibt.

love.system.getProcessorCount

Ruft die Anzahl der CPU-Kerne im System ab.

Die Nummer enthält die Threads, die gemeldet werden, wenn Technologien wie Intel Hyper-Threading aktiviert sind. Zum Beispiel wird bei einer 4-Core-CPU mit Hyper-Threading diese Funktion 8 zurückgeben.

cores = love.system.getProcessorCount()

coresnumberRuft die Anzahl der CPU-Kerne im System ab.

love.system.openURL

Öffnet eine URL mit dem Web- oder Dateibrowser des Benutzers.

success = love.system.openURL( url )

successbooleanOb die URL erfolgreich geöffnet wurde.
urlstringDie URL zum Öffnen. Muss als richtige URL formatiert werden. Um eine Datei oder einen Ordner zu öffnen, muss "file: //" dem Pfad vorangestellt werden.

love.system.setClipboardText

Speichert Text in der Zwischenablage des Systems.

love.system.setClipboardText( text )

textstringDer Text welcher an die Zwischenablage geschickt werden soll.

love.system.vibrate

Verursacht das Gerät, wenn möglich, zu vibrieren. Derzeit funktioniert dies nur auf Android- und iOS-Geräten, die über einen eingebauten Vibrationsmotor verfügen.

love.system.vibrate( seconds )

seconds (0.5)numberDie Dauer zum vibrieren. Wenn Sie ein iOS-Gerät aufrufen, wird es für 0,5 Sekunden aufgrund von Einschränkungen in den iOS-System-APIs immer vibrieren.

PowerState

unknown

Der Leistungsstatus kann nicht ermittelt werden.

battery

Nicht eingesteckt, läuft auf einer Batterie.

nobattery

Eingebettet, keine Batterie vorhanden.

charging

Eingebaut, Ladebatterie.

charged

Eingebaut, Batterie ist voll aufgeladen.

love.thread

Types

love.thread.getChannel

Erstellt oder ruft einen benannten Thread-Kanal ab.

channel = love.thread.getChannel( name )

channelChannelEin benanntes Kanalobjekt, das weiter manipuliert werden kann.
namestringDer Name des Kanals, den Sie erstellen oder abrufen möchten.

love.thread.newChannel

Erstellt einen neuen unbenannten Channel.

Unbenannte Channel können zum Beispiel durch Channel:push über einen benannten Channel an einen anderen Thread geschickt werden.

channel = love.thread.newChannel()

channelChannelDas neue Channel Objekt.

love.thread.newThread

Erstellt einen neuen Thread aus einer Lua-Datei oder einem FileData-Objekt.

thread = love.thread.newThread( file )

threadThreadEin neuer Thread, der noch nicht gestartet werden muss.
filestring / File / FileDataDer Dateipfad / Datei / DateiData der Lua-Datei als Quelle verwenden.

thread = love.thread.newThread( codestring )

threadThreadEin neuer Thread, welcher noch gestartet werden muss.
codestringstringDer Name der Lua-Datei welche als Quelle für den Thread benutzt werden soll.

Thread

Ein Thread ist ein Code-Baustein, der parallel zu anderen Threads ausgeführt werden kann.

Constructors

Functions

Supertypes

Thread:getError

Empfängt eine Fehlermeldung wenn in einem Thread ein Fehler aufgetreten ist.

message = Thread:getError()

messagestringDie Fehlermeldung.

Thread:start

Startet den Thread.

Threads können neu gestartet werden, nachdem sie ihre Ausführung abgeschlossen haben.

Thread:start()

Thread:start( arg1, arg2, ... )

arg1VariantEin String, eine Zahl, ein Boolean, ein LÖVE-Objekt oder eine einfache Tabelle.
arg2VariantEin String, eine Zahl, ein Boolean, ein LÖVE-Objekt oder eine einfache Tabelle.
...VariantSie können weiterhin Werte an den Thread weitergeben.

Thread:wait

Warten Sie, bis ein Faden fertig ist. Dieser Anruf wird gesperrt, bis der Thread beendet ist.

Thread:wait()

Thread:isRunning

Ermittelt, ob der Thread gerade läuft.

Threads, die nicht laufen, können mit Thread begonnen werden: start.

running = Thread:isRunning()

runningbooleanTrue, wenn der Thread läuft, false sonst.

Channel

Ein Objekt welches dazu genutzt werden kann, Daten zwischen verschiedenen Threads auszutauschen.

Constructors

Functions

Supertypes

Channel:clear

Löscht alle Nachrichten in der Channel Warteschlange.

Channel:clear()

Channel:demand

Ruft den Wert einer Kanalnachricht ab und entfernt sie aus der Nachrichtenwarteschlange.

Es wartet, bis eine Nachricht in der Warteschlange ist und dann den Nachrichtenwert zurückgibt.

value = Channel:demand()

valueVariantDer Inhalt der Nachricht.

Channel:getCount

Ruft die Anzahl der Nachrichten in der Thread-Kanalwarteschlange ab.

count = Channel:getCount()

countnumberDie Anzahl der Nachrichten in der Warteschlange.

Channel:peek

Ruft den Wert einer Kanalnachricht ab, lässt sie aber in der Warteschlange liegen.

Es gibt nil, wenn es keine Nachricht in der Warteschlange gibt.

value = Channel:peek()

valueVariantDer Inhalt der Nachricht.

Channel:performAtomic

Führt die angegebene Funktion atomar in Bezug auf diesen Kanal aus.

Das Aufrufen mehrerer Methoden in einer Reihe auf demselben Kanal ist oft nützlich. Wenn jedoch mehrere Threads die Methoden dieses Kanals gleichzeitig aufrufen, können die verschiedenen Aufrufe an jedem Thread am Ende verschachtelt werden (z. B. können ein oder mehrere der zweiten Thread-Aufrufe zwischen den Anrufen des ersten Threads auftreten).

Diese Methode vermeidet dieses Problem, indem Sie sicherstellen, dass der Thread, der die Methode aufruft, exklusiven Zugriff auf den Kanal hat, bis die angegebene Funktion zurückgegeben wurde.

ret1, ... = Channel:performAtomic( func, arg1, ... )

ret1anyDer erste Rückgabewert der gegebenen Funktion (falls vorhanden)
...anyAlle anderen Rückgabewerte.
funcfunctionDie Funktion zu rufen, die Form der Funktion (Kanal, arg1, arg2, ...) Ende. Der Kanal wird als erstes Argument an die Funktion übergeben, wenn es aufgerufen wird.
arg1anyZusätzliche Argumente, die die gegebene Funktion erhalten wird, wenn sie aufgerufen wird.
...anyZusätzliche Argumente, die die gegebene Funktion erhalten wird, wenn sie aufgerufen wird.

Channel:pop

Ruft den Wert einer Kanalnachricht ab und entfernt sie aus der Nachrichtenwarteschlange.

Es gibt nil, wenn es keine Nachrichten in der Warteschlange gibt.

value = Channel:pop()

valueVariantDer Inhalt der Nachricht.

Channel:push

Senden Sie eine Nachricht an den Thread Channel.

Siehe Variante für die Liste der unterstützten Typen.

Channel:push( value )

valueVariantDer Inhalt der Nachricht.

Channel:supply

Senden Sie eine Nachricht an den Thread Channel und warten Sie auf einen Thread, um es zu akzeptieren.

Siehe Variante für die Liste der unterstützten Typen.

Channel:supply( value )

valueVariantDer Inhalt der Nachricht.

love.timer

Functions

love.timer.getAverageDelta

Gibt die durchschnittliche Delta-Zeit (Sekunden pro Frame) der letzten Sekunde zurück.

delta = love.timer.getAverageDelta()

deltanumberDie durchschnittliche Delta-Zeit der letzten Sekunde.

love.timer.getDelta

Gibt die Zeit zwischen den letzten beiden Frames zurück.

dt = love.timer.getDelta()

dtnumberDie Zeit die vergangen ist (in Sekunden).

love.timer.getFPS

Gibt die Anzahl der aktuellen Bilder in der Sekunde (FPS) zurück.

fps = love.timer.getFPS()

fpsnumberDie aktuelle Anzahl an FPS.

love.timer.getTime

Gibt die Zeit zurück, welche seit einem unbestimmten Zeitpunkt vergangen ist.

Da der Startpunkt des Timers nicht bekannt ist, sollte diese Funktion nur dazu benutzt werden, die vergangene Zeit zwischen zwei Zeitpunkten zu messen.

time = love.timer.getTime()

timenumberDie vergangene Zeit in Sekunden.

love.timer.sleep

Pausiert den aktuellen Thread für die angegebene Zeitspanne.

love.timer.sleep( s )

snumberDie Dauer des Schlafvorgangs in Sekunden.

love.timer.step

Misst die Zeit zwischen zwei Frames.

Ein Aufruf ändert den Rückgabewert von love.timer.getDelta.

love.timer.step()

love.touch

Functions

love.touch.getPosition

Ruft die aktuelle Position des angegebenen Touch-Presss in Pixel ab.

x, y = love.touch.getPosition( id )

xnumberDie Position entlang der x-Achse des Touch-Press im Inneren des Fensters, in Pixel.
ynumberDie Position entlang der y-Achse der Berührungspresse innerhalb des Fensters, in Pixeln.
idlight userdataDie Kennung der Berührungspresse. Verwenden Sie love.touch.getTouches, love.touchpressed, oder love.touchmoved, um Touch-ID-Werte zu erhalten.

love.touch.getPressure

Erhält den aktuellen Druck des angegebenen Berührungsdrucks.

pressure = love.touch.getPressure( id )

pressurenumberDer Druck der Berührungspresse. Die meisten Touchscreens sind nicht druckempfindlich, in welchem ​​Fall der Druck 1 ist.
idlight userdataDie Kennung der Berührungspresse. Verwenden Sie love.touch.getTouches, love.touchpressed, oder love.touchmoved, um Touch-ID-Werte zu erhalten.

love.touch.getTouches

Ruft eine Liste aller aktiven Berührungspressen auf.

touches = love.touch.getTouches()

touchestableEine Liste der aktiven Touch-Press-ID-Werte, die mit love.touch.getPosition verwendet werden können.

love.video

love.window

Functions

Enums

love.window.close

Schließt das Fenster. Es kann mit love.window.setMode wieder geöffnet werden.

love.window.close()

love.window.fromPixels

Konvertiert eine Zahl von Pixeln zu dichteunabhängigen Einheiten.

Die Pixeldichte im Fenster kann größer (oder kleiner) als die "Größe" des Fensters sein. Zum Beispiel auf einem Retina-Bildschirm in Mac OS X mit dem Highdpi-Fenster-Flag aktiviert, kann das Fenster die gleiche physische Größe wie ein 800x600-Fenster aufnehmen, aber der Bereich innerhalb des Fensters verwendet 1600x1200 Pixel. love.window.fromPixel (1600) würde in diesem Fall 800 zurückgeben.

Diese Funktion konvertiert Koordinaten von Pixeln zu der Größe, die Benutzer erwarten, dass sie auf dem Bildschirm angezeigt werden. love.window.toPixel macht das Gegenteil. Das Highdpi-Fenster-Flag muss aktiviert sein, um die volle Pixeldichte eines Retina-Bildschirms auf Mac OS X und iOS zu verwenden. Die Flagge macht derzeit nichts unter Windows und Linux, und auf Android ist es effektiv immer aktiviert.

Die meisten LÖVE-Funktionen geben Werte zurück und erwarten Argumente in Form von Pixeln anstelle von dichteunabhängigen Einheiten.

value = love.window.fromPixels( pixelvalue )

valuenumberDie umgewandelte Zahl in dichteunabhängigen Einheiten.
pixelvaluenumberEine Zahl in Pixeln, um in dichteunabhängige Einheiten umzuwandeln.

x, y = love.window.fromPixels( px, py )

xnumberDer umgewandelte x-Achsenwert der Koordinate in dichteunabhängigen Einheiten.
ynumberDer umgewandelte y-Achsenwert der Koordinate in dichteunabhängigen Einheiten.
pxnumberDer x-Achsenwert einer Koordinate in Pixeln.
pynumberDer y-Achsenwert einer Koordinate in Pixeln.

love.window.getDisplayName

Gibt den Namen des Bildschirms zurück.

name = love.window.getDisplayName( displayindex )

namestringDer Name des Bildschirms.
displayindexnumberDer Index des Bildschirms, dessen Name zurückgegeben werden soll.

love.window.getFullscreen

Gibt zurück, ob sich das Fenster im Vollbildmodus befindet.

fullscreen, fstype = love.window.getFullscreen()

fullscreenbooleanWahr wenn das Fenster im Vollbildmodus ist, falsch wenn nicht.
fstypeFullscreenTypeDie Art des genutzten Vollbildmodus.

love.window.getFullscreenModes

Ruft eine Liste der unterstützten Vollbild-Modi ab.

modes = love.window.getFullscreenModes( display )

modestableEin Tisch mit Breiten- / Höhenpaaren. (Beachten Sie, dass dies nicht in Ordnung sein kann.)
display (1)numberDer Index der Anzeige, wenn mehrere Monitore zur Verfügung stehen.

love.window.getIcon

Gibt das Icon des Fensters zurück.

imagedata = love.window.getIcon()

imagedataImageDataDas Icon als Bilddatum, oder nil wenn kein Icon bestimmt wurde.

love.window.getMode

Ruft den aktuellen Anzeigemodus ab.

width, height, flags = love.window.getMode()

widthnumberFensterbreite
heightnumberFensterhöhe
flagstableTabelle mit den Eigenschaften des Fensters.
flags.fullscreenbooleanVollbild (true) oder Fenster (falsch).
flags.fullscreentypeFullscreenTypeDie Art des Vollbildmodus wird verwendet.
flags.vsyncbooleanTrue, wenn die Grafik-Framerate mit der Bildwiederholfrequenz des Monitors synchronisiert ist, false anders.
flags.msaanumberDie Anzahl der verwendeten Antialiasing-Samples (0, wenn MSAA deaktiviert ist).
flags.resizablebooleanTrue, wenn das Fenster im Fenstermodus veränderbar ist, false anders.
flags.borderlessbooleanWahr, wenn das Fenster im Fenstermodus grenzenlos ist, falsch anders.
flags.centeredbooleanTrue, wenn das Fenster im Fenstermodus zentriert ist, false sonst.
flags.displaynumberDer Index der Anzeige des Fensters befindet sich derzeit, wenn mehrere Monitore zur Verfügung stehen.
flags.minwidthnumberDie minimale Breite des Fensters, wenn es resizable ist.
flags.minheightnumberDie minimale Höhe des Fensters, wenn es resizable ist.
flags.highdpibooleanTrue, wenn der High-dpi-Modus auf Retina-Displays in OS X und iOS verwendet werden soll. Gibt es nichts auf Nicht-Retina. Hinzugefügt in 0.9.1.
flags.refreshratenumberDie Bildwiederholfrequenz des aktuellen Anzeigemodus des Bildschirms in Hz. Kann 0 sein, wenn der Wert nicht ermittelt werden kann.
flags.xnumberDie x-Koordinate der Position des Fensters in der aktuellen Anzeige.
flags.ynumberDie y-Koordinate der Position des Fensters in der aktuellen Anzeige.

love.window.getPixelScale

Ruft den mit dem Fenster verbundenen DPI-Skalierungsfaktor ab.

Die Pixeldichte im Fenster kann größer (oder kleiner) als die "Größe" des Fensters sein. Zum Beispiel auf einem Retina-Bildschirm in Mac OS X mit dem Highdpi-Fenster-Flag aktiviert, kann das Fenster die gleiche physische Größe wie ein 800x600-Fenster aufnehmen, aber der Bereich innerhalb des Fensters verwendet 1600x1200 Pixel. love.window.getPixelScale () würde in diesem Fall 2.0 zurückgeben.

Die love.window.fromPixels und love.window.toPixels Funktionen können auch verwendet werden, um zwischen Einheiten zu konvertieren.

Das Highdpi-Fenster-Flag muss aktiviert sein, um die volle Pixeldichte eines Retina-Bildschirms auf Mac OS X und iOS zu verwenden. Die Flagge macht derzeit nichts unter Windows und Linux, und auf Android ist es effektiv immer aktiviert.

scale = love.window.getPixelScale()

scalenumberDer mit dem Fenster verbundene Pixel-Skalierungsfaktor.

love.window.getPosition

Gibt die Position des Fensters auf dem Bildschirm zurück.

Die Position richtet sich dabei nach dem Koordinatensystem des gewählten Bildschirms.

x, y, display = love.window.getPosition()

xnumberDie x-Koordinate des Fensters.
ynumberDie y-Koordinate des Fensters.
displaynumberDer Index des Bildschirms in dem sich das Fenster befindet.

love.window.getTitle

Gibt den Titel des Fensters zurück.

title = love.window.getTitle()

titlestringDer aktuelle Titel.

love.window.hasFocus

Überprüft, ob das Spielfenster Tastaturfokus hat.

focus = love.window.hasFocus()

focusbooleanWahr, wenn das Fenster den Fokus hat oder falsch wenn nicht.

love.window.hasMouseFocus

Überprüft, ob das Spielfenster Mausfokus hat.

focus = love.window.hasMouseFocus()

focusbooleanWahr, wenn das Fenster hat Maus-Fokus oder falsch, wenn nicht.

love.window.isDisplaySleepEnabled

Ermittelt, ob das Display während des laufenden Programms eingeschaltet werden darf.

Der eingeschaltete Schlaf ist standardmäßig deaktiviert. Einige Arten von Eingaben (z. B. Joystick-Tasten drücken) können nicht verhindern, dass die Anzeige schläft, wenn der Anzeigeschlaf erlaubt ist.

enabled = love.window.isDisplaySleepEnabled()

enabledbooleanTrue, wenn Systemanzeige Schlaf aktiviert / erlaubt ist, sonst false.

love.window.isMaximized

Ermittelt, ob das Fenster momentan maximiert ist.

Das Fenster kann maximiert werden, wenn es nicht Vollbild und ist veränderbar, und entweder der Benutzer hat die Fenster Maximize-Taste oder love.window.maximize wurde aufgerufen wurde.

maximized = love.window.isMaximized()

maximizedbooleanTrue, wenn das Fenster derzeit im Fenstermodus maximiert ist, false sonst.

love.window.isOpen

Überprüft, ob das Fenster geöffnet ist.

open = love.window.isOpen()

openbooleanWahr, wenn das Fenster offen ist, falsch anders.

love.window.isVisible

Überprüft, ob das Spielfenster sichtbar ist.

Das Fenster wird als sichtbar betrachtet, wenn es nicht minimiert wird und das Programm nicht ausgeblendet ist.

visible = love.window.isVisible()

visiblebooleanWahr, wenn das Fenster sichtbar oder falsch ist, wenn nicht.

love.window.maximize

Macht das Fenster so groß wie möglich.

Diese Funktion hat keine Auswirkung, wenn das Fenster nicht veränderbar ist, da es im Wesentlichen programmgesteuert die Taste "Maximieren" des Fensters drückt.

love.window.maximize()

love.window.minimize

Minimiert das Fenster in die Task Bar / das Dock.

love.window.minimize()

love.window.requestAttention

Veranlaßt das Fenster, die Aufmerksamkeit des Benutzers zu verlangen, wenn es nicht im Vordergrund steht.

In Windows blinkt das Taskleistensymbol, und in OS X wird das Dock-Symbol springen.

love.window.requestAttention( continuous )

continuous (false)booleanOb kontinuierlich Aufmerksamkeit zu verlangen, bis das Fenster aktiv wird, oder es nur einmal zu tun.

love.window.setDisplaySleepEnabled

Legt fest, ob die Anzeige während des laufenden Programms eingeschaltet werden darf.

Der eingeschaltete Schlaf ist standardmäßig deaktiviert. Einige Arten von Eingaben (z. B. Joystick-Tasten drücken) können nicht verhindern, dass die Anzeige schläft, wenn der Anzeigeschlaf erlaubt ist.

love.window.setDisplaySleepEnabled( enable )

enablebooleanTrue, um den System-Display zu aktivieren, false, um ihn zu deaktivieren.

love.window.setFullscreen

Aktiviert oder verlässt den Vollbildmodus. Die Anzeige, die bei der Eingabe von Vollbildschirm verwendet wird, wird auf der Grundlage der Anzeige des Fensters ausgewählt, wenn mehrere Monitore angeschlossen sind.

Wenn der Vollbildmodus eingegeben wird und die Fenstergröße nicht mit den Anzeigemodi des Monitors übereinstimmt (im normalen Vollbildmodus) oder die Fenstergröße nicht mit der Desktopgröße übereinstimmt (im 'Desktop' Vollbildmodus), wird das Fenster verkleinert passend. Das Fenster kehrt wieder in seine ursprüngliche Größe zurück, wenn der Vollbildmodus mit dieser Funktion verlassen wird.

success = love.window.setFullscreen( fullscreen )

successbooleanTrue wenn erfolgreich, falsch anders.
fullscreenbooleanEgal, ob Sie den Vollbildmodus betreten oder verlassen möchten.

success = love.window.setFullscreen( fullscreen, fstype )

successbooleanTrue wenn erfolgreich, falsch anders.
fullscreenbooleanEgal, ob Sie den Vollbildmodus betreten oder verlassen möchten.
fstypeFullscreenTypeDie Art der Vollbild-Modus zu verwenden.

love.window.setIcon

Setzt das Fenster-Symbol, bis das Spiel beendet ist. Nicht alle Betriebssysteme unterstützen sehr große Icon-Bilder.

success = love.window.setIcon( imagedata )

successbooleanOb das Icon erfolgreich gesetzt wurde.
imagedataImageDataDas Fenster Icon Bild.

love.window.setMode

Stellt den Anzeigemodus und die Eigenschaften des Fensters ein.

Wenn Breite oder Höhe 0 ist, verwendet setMode die Breite und Höhe des Desktops.

Das Ändern des Anzeigemodus kann Nebenwirkungen haben: Zum Beispiel werden Leinwände gelöscht und Werte an Shader mit Shader gesendet: send wird gelöscht. Achten Sie darauf, den Inhalt der Leinwände vorher zu speichern oder neu zu ziehen, nachdem Sie dies benötigen.

success = love.window.setMode( width, height, flags )

successbooleanTrue wenn erfolgreich, falsch anders.
widthnumberAnzeigebreite.
heightnumberHöhe anzeigen
flagstableDie Flags-Tabelle mit den Optionen:
flags.fullscreen (false)booleanVollbild (true) oder Fenster (falsch).
flags.fullscreentype ("desktop")FullscreenTypeDie Art des Vollbildes zu verwenden. Dies ist standardmäßig auf "normal" in 0.9.2 und älter.
flags.vsync (true)booleanTrue, wenn LÖVE auf vsync warten sollte, sonst false.
flags.msaa (0)numberDie Anzahl der Antialiasing-Proben.
flags.resizable (false)booleanTrue, wenn das Fenster im Fenstermodus veränderbar sein sollte, false anders.
flags.borderless (false)booleanTrue, wenn das Fenster im Fenstermodus grenzenlos sein sollte, sonst false.
flags.centered (true)booleanTrue, wenn das Fenster im Fenstermodus zentriert sein soll, sonst false.
flags.display (1)numberDer Index des Displays zeigt das Fenster an, wenn mehrere Monitore zur Verfügung stehen.
flags.minwidth (1)numberDie minimale Breite des Fensters, wenn es resizable ist. Kann nicht kleiner als 1 sein
flags.minheight (1)numberDie minimale Höhe des Fensters, wenn es resizable ist. Kann nicht kleiner als 1 sein
flags.highdpi (false)booleanTrue, wenn High-dpi-Modus auf Retina-Displays in OS X verwendet werden soll. Wird nichts auf Nicht-Retina angezeigt.
flags.x (nil)numberDie x-Koordinate der Position des Fensters in der angegebenen Anzeige.
flags.y (nil)numberDie y-Koordinate der Position des Fensters in der angegebenen Anzeige.

love.window.setPosition

Bestimmt die Position des Fensters auf dem Bildschirm.

Die Position richtet sich dabei nach dem Koordinatensystem des gewählten Bildschirms.

love.window.setPosition( x, y, display )

xnumberDie x-Koordinate des Fensters.
ynumberDie y-Koordinate des Fensters.
displaynumberDer Index des Bildschirms nach welchem sich die Fensterpositionierung richten soll.

love.window.setTitle

Bestimmt den Titel des Programmfensters.

love.window.setTitle( title )

titlestringDer neue Titel.

love.window.showMessageBox

Zeigt ein Meldungsfeld-Dialog über dem Lieffenster an. Das Meldungsfeld enthält einen Titel, einen optionalen Text und Schaltflächen.

success = love.window.showMessageBox( title, message, type, attachtowindow )

successbooleanOb das Meldungsfeld erfolgreich angezeigt wurde.
titlestringDer Titel des Meldungsfeldes.
messagestringDer Text innerhalb des Meldungsfeldes.
type ("info")MessageBoxTypeDer Typ des Meldungsfeldes.
attachtowindow (true)booleanOb das Meldungsfeld an das Liebesfenster angeschlossen oder frei schwimmend sein soll.

pressedbutton = love.window.showMessageBox( title, message, buttonlist, type, attachtowindow )

pressedbuttonnumberDer Index der Taste wird vom Benutzer gedrückt. Kann 0 sein, wenn das Meldungsfeld-Dialog geschlossen wurde, ohne eine Taste zu drücken.
titlestringDer Titel des Meldungsfeldes.
messagestringDer Text innerhalb des Meldungsfeldes.
buttonlisttableEine Tabelle mit einer Liste der zu nennenden Schaltflächennamen. Die Tabelle kann auch die Felder enterbutton und escapebutton enthalten, die der Index der Standard-Schaltfläche sein soll, wenn der Benutzer 'enter' bzw. 'escape' drückt.
type ("info")MessageBoxTypeDer Typ des Meldungsfeldes.
attachtowindow (true)booleanOb das Meldungsfeld an das Liebesfenster angeschlossen oder frei schwimmend sein soll.

love.window.toPixels

Konvertiert eine Zahl von dichteunabhängigen Einheiten in Pixel.

Die Pixeldichte im Fenster kann größer (oder kleiner) als die "Größe" des Fensters sein. Zum Beispiel auf einem Retina-Bildschirm in Mac OS X mit dem Highdpi-Fenster-Flag aktiviert, kann das Fenster die gleiche physische Größe wie ein 800x600-Fenster aufnehmen, aber der Bereich innerhalb des Fensters verwendet 1600x1200 Pixel. love.window.toPixels (800) würde in diesem Fall 1600 zurückgeben.

Dies wird verwendet, um Koordinaten von der Größe zu konvertieren, die Benutzer erwarten, dass sie auf dem Bildschirm auf Pixel angezeigt werden. love.window.fromPixel macht das Gegenteil. Das Highdpi-Fenster-Flag muss aktiviert sein, um die volle Pixeldichte eines Retina-Bildschirms auf Mac OS X und iOS zu verwenden. Die Flagge macht derzeit nichts unter Windows und Linux, und auf Android ist es effektiv immer aktiviert.

Die meisten LÖVE-Funktionen geben Werte zurück und erwarten Argumente in Form von Pixeln anstelle von dichteunabhängigen Einheiten.

pixelvalue = love.window.toPixels( value )

pixelvaluenumberDie umgewandelte Zahl in Pixel.
valuenumberEine Zahl in dichteunabhängigen Einheiten, um in Pixel umzuwandeln.

px, py = love.window.toPixels( x, y )

pxnumberDer umgewandelte x-Achsenwert der Koordinate in Pixel.
pynumberDer umgewandelte y-Achsenwert der Koordinate in Pixel.
xnumberDer x-Achsenwert einer Koordinate in dichteunabhängigen Einheiten, um in Pixel umzuwandeln.
ynumberDer y-Achsenwert einer Koordinate in dichteunabhängigen Einheiten, um in Pixel umzuwandeln.

FullscreenType

desktop

Auch bekannt als randloser Fenster-Vollbildmodus. Ein randloses Fenster mit der Größe des Bildschirms, welches über allen Desktop-GUI Elementen sitzt (wie z.B. der Windows-Taskleiste oder dem Dock unter Mac OS). Das Fenster hat automatisch die Größe des Desktops und kann nicht verändert werden.

exclusive

Standard-Exklusiv-Vollbildmodus. Ändert den Anzeigemodus (tatsächliche Auflösung) des Monitors.

MessageBoxType

info

Informationsdialog.

warning

Warnungsdialog.

error

Fehlerdialog.