AlignObj (CMS)
From The Official Visionaire Studio: Adventure Game Engine Wiki
Name | Type | By |
---|---|---|
alignObj("c", "t") | Definition | AFRLme |
This small function allows you to quickly align a character to an object.
Instructions
1. Add the main script to the Visionaire Studio Script Editor & set the script as a definition script.
2a. To align current character to an object...
alignObj("", "object_name")
2b. To align a specific character to an object...
alignObj("character_name", "object_name")
Main Script
function alignObj(c, t)
if c == "" then c = game:getLink(VGameCurrentCharacter) else c = getObject("Characters[" .. c .. "]") end
t = getObject("Game.GameCurrentScene.SceneObjects[" .. t .. "]")
-- + --
local p1 = c:getPoint(VCharacterPosition)
local p2 = t:getPoint(VObjectPosition)
-- + --
local ax, ay
ay = p1.y - p2.y
ax = p2.x - p1.x
-- + --
local angle = math.deg( math.atan2(ay, ax) )
if angle < 0 then angle = 360 + angle end
-- + --
c:setValue(VCharacterDirection, angle)
end
Syntax Breakdown
Name | Type | Description |
---|---|---|
c | "string" | This should be a "string" value containing the name of the character you want to affect; if string is empty it will default to current character. |
t | "string" | This should be a "string" value containing the name of the object you want to align to. |