Name Typ Von
moveObj("obj", x, y, duration, easing) Definition AFRLme

Mit dieser kleinen Funktion kannst du ein Objekt sofort von einer Position zur anderen bewegen (absolute Positionierung); oder über x Zeitspanne mit optionaler Easing.


Kurzer Hinweis: Die Position basiert auf dem oberen linken Pixel der Sprite-Leinwand, die zum verknüpften Bild oder zur verknüpften Animation gehört.

Anweisungen

1. Füge das Hauptskript im Skripteditor von Visionaire Studio hinzu und lege es als Definitionsskript fest.
2a. Beispiel Nr. 1: Objekt sofort von der aktuellen Position auf 100, 100 verschieben.

moveObj("object_name", 100, 100)

2b. Beispiel Nr. 2: Das Objekt über 2000 ms von der aktuellen Position auf 100, 100 mit der Easing-Funktion „easeBounceOut“.

moveObj("object_name", 100, 100, 2000, easeBounceOut)


Hauptskript

function moveObj(obj, x, y, duration, easing, pos)
 duration = duration or 0 -- fallback in case duration equals nil
 easing = easing or easeLinearInOut -- fallback in case easing equals nil
 obj = game.CurrentScene.Objects[obj] -- store object
 -- + --
 if obj.Animation:isEmpty() then -- check if animation isn't linked to scene object
   pos = obj.Sprite.Sprite:getPosition() -- store object sprite position (top left pixel)
 else 
   pos = ActiveAnimations[obj.Animation:getName()].CurrentPosition -- store linked animation position (top left pixel)
 end
 -- + --
 obj:to(duration, { Offset = {x = x - pos.x, y = y - pos.y} }, easing) -- update object position
end


Syntaxaufschlüsselung

Name Typ Beschreibung
obj „Zeichenfolge“ Ein „String“-Wert mit dem Namen des Objekts, das du verschieben möchtest.
x Ganzzahl Ein Zahlenwert mit der x-Koordinate, zu der du das Objekt verschieben möchten.
y Ganzzahl Ein Zahlenwert mit der Y-Koordinate, zu der du das Objekt verschieben möchten.
Dauer Ganzzahl Dies sollte ein ganzzahliger Wert der Zeit in Millisekunden sein, die das Objekt benötigen sollte, um von der aktuellen Position zur Zielposition zu gelangen.
Easing Ganzzahl Ein Zahlenwert oder der Variablenname des Easing-Typs, den du verwenden möchtest. Hier findest du eine Liste der verfügbaren Easing-Optionen.