Shime // Shimmer for GuiObjects

Just added support to edit both the frame and gradient. You can use the :GetGradient and :GetFrame methods.

You will need to build from GitHub to access to these beta features. You can just copy and paste the module from Shime.lua located in the src folder.

You will need be accessing beta code which may have bugs in them. I’m actively testing the code and making fixes. Currently beta is not too unstable.

1 Like

v1.0.0 Public Release (LTS)

v1.0.0 Public Release (LTS) is the first public release of Shime out of beta. This release is a long-term support release and will be supported for at least 1 year. This release is a major release, and is not backwards compatible with previous releases.

Documentation will be updated to reflect the changes in this release soon.

Changelog:

  • [BREAKING]: Removed Shime.IsPlaying, Shime.IsPaused, and Shime.IsStopped.

  • Added Shime:GetFrame() and Shime:GetGradient() to get the Frame and UIGradient instances used by Shime. This allows for more customization of Shime.

  • Added Shime.PlaybackState: Enum.PlaybackState to replace Shime.IsPlaying, Shime.IsPaused, and Shime.IsStopped.

  • Added UIPadding support. Shime will now attempt to ignore UIPadding.

  • Updated UICorner support. Shime will now detect changes to UICorner.CornerRadius.

  • Renamed some internal properties to be more descriptive.

Full Changelog: Comparing v0.1.0...v1.0.0 · RyanLua/Shime · GitHub

1 Like

Get your work featured on Shime


Do you use Shime and want to get your work featured? We are looking for any works made with Shime to feature our materials. Get your work along with your name and link shown as official examples.

Ends Thursday, June 1, 2023 12:00 AM

Learn more at entry and submissions at Get featured on Shime · RyanLua/Shime · Discussion #6 · GitHub.


v1.0.1 Parameter Validation (LTS)


v1.0.1 Parameter Validation (LTS) improves stability and error handling for Shime. It adds some minor changes overall while keeping Shime’s functionality the exact same. Improved error handling and links to the Shime wiki.

Changelog:

  • Add wiki links to the boilerplate of Shime so people know how to use the module.
  • Add parameter validation which will print more concise and readable errors.

Full Changelog: Comparing v1.0.0...v1.0.1 · RyanLua/Shime · GitHub


2 Likes

I’ve found a problem with the Shime module. The problem is that the frame that create that shimmer effect, and even after the animation, they remain and there are a lot of them if i’m entering end leaving for so many times the button or the UI object. I’ve tried to remove the ‘UIShimmer’ frame but the for loop doesen’t find any of those frames. Any solution?

UIShimmer hosts the UIGradient used for the shimmer effect. You shouldn’t remove UIShimmer unless you plan to no longer use a shimmer effect on the GuiObject.

I don’t know what you exactly mean by “if i’m entering end leaving for so many times the button or the UI object”.

You can play the shimmer effect again after it’s over by calling :Play() again instead of using .new() if you are doing that.

Would be cool if you can publish this to Wally

Is it possible to make the shimmer only affect the text on a TextLabel, rather than the entire label?

Currently there is no specific way to apply it only for text but you can use :GetGradient() to reparent it.

I’ve never tried so no guarantees here.

FYI, Stop() is missing. Seems to have been removed.
image

Also, I had to add a pcall to the padding offset update function because if you Destroy() it, the GetPropertyChange fires for Parent and nil doesn’t have UIPadding.
image