| Name | Typ | Von |
|---|---|---|
| alignChar("c", "t") | Definition | AFRLme |
Mit dieser kleinen Funktion kannst du schnell einen Charakter an einem anderen Charakter ausrichten.
| Zusätzliche Informationen |
|---|
| Die Ausrichtung basiert auf der Zeichenmitte, die normalerweise in der Nähe der Füße liegt. |
| Es gibt keine einfache Methode zum Ermitteln der oberen (y) Pixelkoordinate der aktuell aktiven Charakteranimation. |
Anweisungen
1. Füge das Hauptskript im Skripteditor von Visionaire Studio hinzu und lege es als Definitionsskript fest.
2a. Um einen Charakter an einem anderen Charakter auszurichten ...
alignChar(nil, "Tom")
2b. Um ein bestimmtes Zeichen an einem anderen Charakter auszurichten ...
alignChar("Tom", "Barry")
2c. Um ein bestimmtes Zeichen am aktuellen Zeichen auszurichten ...
alignChar("Tom")
Hauptskript
function alignChar(c, t)
if c == nil then c = game.CurrentCharacter else c = Characters[c] end -- store character or current character
if t == nil then t = game.CurrentCharacter else t = Characters[t] end -- store character or current character
-- + --
local p1 = c.Position -- store characters position
local p2 = t.Position -- store target characters position
-- + --
local ax, ay
ax = p2.x - p1.x -- calculate x destination coordinate
ay = p1.y - p2.y -- calculate y destination coordinate
-- + --
local angle = math.deg( math.atan(ay, ax) ) -- calculate angle
if angle < 0 then angle = 360 + angle end -- some fallback? I don't remember why I wrote it
-- + --
c.Direction = angle -- update specified characters direction
end
Syntaxaufschlüsselung
| Name | Typ | Beschreibung |
|---|---|---|
| c | „string“ oder null | Ein „String“-Wert mit dem Namen des Charakters, der ausgerichtet werden soll, oder nil für den aktuellen Charakter. |
| t | „string“ oder null | Ein „String“-Wert mit dem Namen des Charakters, an dem ausgerichtet wird, oder nil für den aktuellen Charakter. |