IIS
(Image Interlacing Service)
~ Purpose ~
IIS, or Image Interlacing Service, is a Service Module designed by EternalEthel to aid in the creation of animated decal and texture instances. It is used to give life to an image through simple animation. It uses simple and intuitive functions to help provide developers with the best possible experience of animating images for their experience.
~ Documentation ~
.Info ( Time, Looped, DelayTime, FrameTime ) | Used to create animation info.
.Finished ( N/A ) | Fired when an animation cycle finishes.
:Create ( Image, InterlaceInfo, Frames ) | Used to create an animation instance.
:Play ( N/A ) | Used to play an animation instance.
:Cancel ( N/A ) | Used to stop an animation instance.
:GetStatus ( N/A ) | Returns status of an animation instance.
Note: .Info has default values such as 0.1 seconds for default Time, false for default Looped, and 0 for default DelayTime. FrameTime, if filled in, will overrule Time so leave it blank, or put it as nil if you want your animation to take your set Time amount. All required parameters in other functions must be filled fully manually for the Service to work properly.
Note 2: In :Create, a parameter called Frames is required. This parameter must be a table. The easiest way to do this is to have a folder in ReplicatedStorage that contains decals with each Frame (As the decal’s image property) that you want to use, in the order you want your frames to be animated. When using the folder, simply call :GetChildren() so that it allows the Service to get your images properly.
In-Code Documentation ~
Template:
local IIS = require(7234793148)
Local AnimationInfo = IIS.Info( timeForAnimation, loopedBool, delayTime, timePerFrame)
local newAnimation = IIS:Create(path_to_instance, AnimationInfo, {table_of_frames})
newAnimation:Play()
Example:
Video:
(Not sure what that background noise is but just mute the video.)
local IIS = require(7234793148)
Local fireInfo = IIS.Info( 1.5, true, 0, nil) -- or IIS.Info( 1.5, true)
local fireAnimation = IIS:Create(FireDecal, fireInfo, game.ReplicatedStorage.FireFrames:GetChildren())
fireAnimation:Play()
~ Why You Should Use IIS ~
IIS is one of the most/only easily available services on Roblox to animate images for your game. It allows for multi-use cases from Decals to Textures to Image Labels. It provides support for all of these, to be animated, in a simple to use format. While other Services may exist, IIS is designed to be simple to use and intuitive. It offers
~ Performance ~
While large cases where IIS being used for many animations at once have not been thoroughly researched yet, I try to keep my code optimized and up-to-date to keep performance issues low. Please send in any cases directly to me where big use is shown, along with FPS and, preferably a video, so that I can improve IIS and know its impact on a large scale.
~ Extra Information ~
IIS is open to all for use with or without credit. It is open-source and free to use.
Simply require this ID to use: 7234793148
…or port the module into your own game!
For any bug reports or issues, please contact EternalEthel or leave a comment on this post with a short description of the issue and your exact code to be reviewed.
Thank you for reading this pretty lengthy post about IIS, I hope that it can help you!
Contact Me: My DevForum Profile, My Roblox Profile, EternalEthel#0777