Difference between revisions of "SetAnimFrames (CMS)"
From The Official Visionaire Studio: Adventure Game Engine Wiki
(8 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | {| class=" | + | {| class="ts" style="width:100%" |
|- | |- | ||
! style="text-align:left" | Name !! style="text-align:left" | Type !! style="text-align:left" | By | ! style="text-align:left" | Name !! style="text-align:left" | Type !! style="text-align:left" | By | ||
|- | |- | ||
− | | setAnimFrames(" | + | | setAnimFrames("anim", f, t) || Definition || AFRLme |
|} | |} | ||
− | This small function allows you to quickly set the | + | This small function allows you to quickly set the frame range of an animation. |
+ | |||
== Instructions == | == Instructions == | ||
1. Add the [[#Main_Script|main script]] to the Visionaire Studio Script Editor & set the script as a definition script.<br/> | 1. Add the [[#Main_Script|main script]] to the Visionaire Studio Script Editor & set the script as a definition script.<br/> | ||
− | + | 2a. Example #1: forcing an animation to loop a single animation frame, in this case animation frame #1. | |
− | <syntaxhighlight> | + | <syntaxhighlight lang="lua"> |
− | setAnimFrames(" | + | setAnimFrames("example", 1) |
+ | </syntaxhighlight> | ||
+ | 2b. Example #2: forcing an animation to loop a range of animation frames, in this case between animation frames #3 to #7. | ||
+ | <syntaxhighlight lang="lua"> | ||
+ | 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> | ||
+ | |||
== Main Script == | == Main Script == | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang="lua"> |
− | function setAnimFrames( | + | 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 | end | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 25: | Line 37: | ||
== Syntax Breakdown == | == Syntax Breakdown == | ||
− | {| class=" | + | {| class="ts" style="width:100%" |
|- | |- | ||
! style="text-align:left" | Name !! style="text-align:left" | Type !! style="text-align:left;width:70%" | Description | ! style="text-align:left" | Name !! style="text-align:left" | Type !! style="text-align:left;width:70%" | 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). |
− | |} | + | |}{{toc}} |
Latest revision as of 20: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). |