Difference between revisions of "SetAnimFrames (CMS)"

From The Official Visionaire Studio: Adventure Game Engine Wiki
m
Line 18: Line 18:
 
<syntaxhighlight lang="lua">
 
<syntaxhighlight lang="lua">
 
setAnimFrames("example", 3, 7)
 
setAnimFrames("example", 3, 7)
 +
</syntaxhighlight>
 +
2c. Example #3: update last frame to total amount of animation frames belonging to the animation.
 +
<syntaxhighlight lang="lua">
 +
setAnimFrames("example", 3, #Animations["example"].Sprites)
 
</syntaxhighlight>
 
</syntaxhighlight>
  

Revision as of 20:32, 21 August 2022

Name Type By
setAnimFrames("anim", f, t) Definition AFRLme

This small function allows you to quickly set the frame range of an animation.


Instructions

1. Add the main script to the Visionaire Studio Script Editor & set the script as a definition script.
2a. Example #1: forcing an animation to loop a single animation frame, in this case animation frame #1.

setAnimFrames("example", 1)

2b. Example #2: forcing an animation to loop a range of animation frames, in this case between animation frames #3 to #7.

setAnimFrames("example", 3, 7)

2c. Example #3: update last frame to total amount of animation frames belonging to the animation.

setAnimFrames("example", 3, #Animations["example"].Sprites)


Main Script

function setAnimFrames(anim, f, t)
  t = t or f -- fallback in case t equals nil
  if f > t then f = t end -- fallback in case f is greater than t
  ActiveAnimations[anim].FirstFrame = f -- update from animation frame range
  ActiveAnimations[anim].LastFrame =  t -- update to animation frame range
end


Syntax Breakdown

Name Type Description
anim "string" This should be a "string" value containing the name of the animation you want to affect.
f integer This should be an integer (number) value which will determine which frame will be the initial (from) frame of the linked animation (anim).
t integer This should be an integer (number) value which will determine which frame will be the final (to) frame of the linked animation (anim).