Difference between revisions of "SetAnimFrames (CMS)"

From The Official Visionaire Studio: Adventure Game Engine Wiki
 
(2 intermediate revisions by the same user not shown)
Line 18: Line 18:
 
<syntaxhighlight lang="lua">
 
<syntaxhighlight lang="lua">
 
setAnimFrames("example", 3, 7)
 
setAnimFrames("example", 3, 7)
 +
</syntaxhighlight>
 +
2c. Example #3: force animation to loop between the 3rd frame & the total amount of animation frames belonging to the animation.
 +
<syntaxhighlight lang="lua">
 +
setAnimFrames("example", 3, #Animations["example"].Sprites)
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Line 23: Line 27:
 
== Main Script ==
 
== Main Script ==
 
<syntaxhighlight lang="lua">
 
<syntaxhighlight lang="lua">
function setFrames(anim, f, t)
+
function setAnimFrames(anim, f, t)
 
   t = t or f -- fallback in case t equals nil
 
   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
 
   if f > t then f = t end -- fallback in case f is greater than t

Latest revision as of 21:33, 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: force animation to loop between the 3rd frame & the 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).