{"id":19261816,"url":"https://github.com/ryanlua/shime","last_synced_at":"2025-04-21T17:30:59.704Z","repository":{"id":149994176,"uuid":"617130438","full_name":"RyanLua/Shime","owner":"RyanLua","description":"Easily create a shimmer effect on any GuiObject on Roblox. Shime is easy to use and supports all available GuiObjects.","archived":false,"fork":false,"pushed_at":"2024-08-05T04:19:50.000Z","size":14407,"stargazers_count":15,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-08-05T05:31:45.269Z","etag":null,"topics":["github","hacktoberfest","lua","lua-script","luau","module","modulescript","roblox","roblox-api","roblox-lua","roblox-script","roblox-scripting","roblox-scripts","roblox-studio","robloxdev","robloxlua","robloxscripts","shimmer","works-with-codespaces"],"latest_commit_sha":null,"homepage":"https://github.com/RyanLua/Shime/wiki","language":"Luau","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RyanLua.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":".github/CODEOWNERS","security":".github/SECURITY.md","support":".github/SUPPORT.md","governance":".github/GOVERNANCE.md","roadmap":null,"authors":null,"dei":null},"funding":{"github":"RyanLua","patreon":"RyanLuu"}},"created_at":"2023-03-21T18:59:40.000Z","updated_at":"2024-08-05T04:19:52.000Z","dependencies_parsed_at":"2024-04-20T10:04:08.481Z","dependency_job_id":null,"html_url":"https://github.com/RyanLua/Shime","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RyanLua%2FShime","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RyanLua%2FShime/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RyanLua%2FShime/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RyanLua%2FShime/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RyanLua","download_url":"https://codeload.github.com/RyanLua/Shime/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223872615,"owners_count":17217792,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["github","hacktoberfest","lua","lua-script","luau","module","modulescript","roblox","roblox-api","roblox-lua","roblox-script","roblox-scripting","roblox-scripts","roblox-studio","robloxdev","robloxlua","robloxscripts","shimmer","works-with-codespaces"],"created_at":"2024-11-09T19:28:30.910Z","updated_at":"2024-11-09T19:28:31.563Z","avatar_url":"https://github.com/RyanLua.png","language":"Luau","readme":"\u003ch1 align=\"center\"\u003e\n  \u003cpicture\u003e\n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://user-images.githubusercontent.com/80087248/229268959-a3cb2881-3022-4acf-afc5-b6007e94ff3d.png\"\u003e\n    \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://user-images.githubusercontent.com/80087248/229328903-68ae2d94-aa31-4651-bce3-45ae6159897c.png\"\u003e\n    \u003cimg src=\"https://user-images.githubusercontent.com/80087248/229268585-bc4ab425-809c-4a1e-a4c1-a693e861f455.png\"\u003e\n  \u003c/picture\u003e\n\n  [![GitHub release](https://img.shields.io/github/v/release/RyanLua/Shime?logo=roblox\u0026color=2db74c)](https://github.com/RyanLua/Shime/releases)\n  [![GitHub top language](https://img.shields.io/github/languages/top/RyanLua/Shime?logo=lua\u0026color=2db74c)](https://github.com/search?q=repo%3ARyanLua%2FShime++language%3ALua\u0026type=code)\n  [![GitHub license](https://img.shields.io/github/license/RyanLua/Shime?logo=apache\u0026color=2db74c)](LICENSE.txt)\n  [![Lint](https://github.com/RyanLua/Shime/actions/workflows/ci.yml/badge.svg)](https://github.com/RyanLua/Shime/actions/workflows/CI.yml)\n  [![Discord](https://img.shields.io/discord/1162303282002272359?label=discord\u0026logo=discord\u0026logoColor=white\u0026color=2db74c)](https://discord.gg/hYU4rvT7DK)\n\n  [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/RyanLua/Shime?quickstart=1)\n\n\u003c/h1\u003e\n\n\u003cdiv align=\"center\"\u003e\n  Shime is a module that allows you to easily create a shimmer effect on any GuiObject.\n\u003c/div\u003e\n\n## About\n\n\u003e [!TIP]\n\u003e\n\u003e Visit the [Shime Wiki](https://github.com/RyanLua/Shime/wiki) for more information about Shime, including installation, usage, and documentation.\n\nShime is a module that allows you to easily create a shimmer effect on any [`GuiObject`](https://create.roblox.com/docs/reference/engine/classes/GuiObject). Shime is easy to use and extremely customizable. Shime achieves this by using a [`UIGradient`](https://create.roblox.com/docs/reference/engine/classes/UIGradient) that is animated using a [`Tween`](https://create.roblox.com/docs/reference/engine/classes/Tween). Shime will detect the GuiObject's size and position to apply the proper gradient to it and will clip to the guiobject's size including [`UICorners`](https://create.roblox.com/docs/reference/engine/classes/UICorner).\n\n\u003cimg src=\"https://user-images.githubusercontent.com/80087248/229268404-127c8838-46b3-42cd-af84-a6e06a1e136e.gif\" width=\"300\"/\u003e\n\n## Demo\n\n\u003e [!NOTE]\n\u003e\n\u003e [Shimmer Demo](https://www.roblox.com/games/12865649978) has Content Sharing enabled. You can download the demo from the Roblox website by clicking the ellipsis (`...`)and selecting `Edit`.\n\nWe provide an open-source demo of Shime, you can [view the demo](https://www.roblox.com/games/12865649978) on Roblox. Feel free to use the demo as a reference for how to use Shime and modify it to your liking.\n\n\u003ca href=\"https://www.roblox.com/games/12865649978\"\u003e\u003cimg src=\"https://user-images.githubusercontent.com/80087248/229328112-31295fd2-c501-4415-9ef6-8d3b1047ec82.png\" width=\"600\"/\u003e\u003c/a\u003e\n\n## Features\n\nShime has a lot of features that allow you to customize the shimmer effect to your liking. Here are some of the features:\n\n### Tween Animations\n\nShime uses a TweenService to animate the gradient. This allows you to customize the animation to your liking. You can change the time, style, direction, repeat count, and delay time. You can change the TweenInfo of the animation by using the [`Shime.new`](https://github.com/RyanLua/Shime/wiki/Documentation#constructors-1) constructor and passing in the parameters you want to change.\n\n### Easy \u0026 Versatile\n\nShime is extremely versatile, working on nearly all GuiObjects and allows easy customization through its class. You can use Shime on any GuiObject including TextButtons, TextLabels, ImageLabels, Frames, and more. Shime will automatically detect the GuiObject's size and position to apply the proper gradient to it and will clip to the guiobject's size including any UICorner instances.\n\n### Informative Wiki\n\nShime has its own GitHub Wiki with an included [Getting Started](https://github.com/RyanLua/Shime/wiki/Getting-Started) page that will help you get started with Shime which includes multiple installation methods, usage guides, and real-world code samples. The wiki also includes a [Documentation](https://github.com/RyanLua/Shime/wiki/Documentation) page with all the methods, properties, and constructors for Shime.\n\n## Installation\n\n\u003e [!NOTE]\n\u003e\n\u003e Visit the [**Installation**](https://github.com/RyanLua/Shime/wiki/Getting-Started#installation) page more information on installation. Below is a quick summary of the installation methods.\n\nShime is easy to install. They are many ways to install Shime. The links below will take you to the installation method you want to use.\n\n| Install Method | Asset Link |\n| :--- | :--- |\n| [Install from Roblox](https://github.com/RyanLua/Shime/wiki/Getting-Started#install-from-roblox) | [Shimmer - Creator Marketplace](https://create.roblox.com/marketplace/asset/12959615382) |\n| [Install from GitHub](https://github.com/RyanLua/Shime/wiki/Getting-Started#install-from-github) | [Shime - GitHub](https://github.com/RyanLua/Shime/releases)\n\n## Usage\n\n\u003e [!NOTE]\n\u003e\n\u003e Visit the [**Usage**](https://github.com/RyanLua/Shime/wiki/Getting-Started#usage) page more information on usage, including additional code samples.\n\nShime is easy to use. The API is simple and easy to understand. Below is a simple code sample of how to create a shimmer effect on a GuiObject using Shime.\n\n```lua\n-- Require the Shime module\nlocal Shime = require(game.ReplicatedStorage.Shime)\n\n-- Create a new Shimmer and play it\nlocal shimmer = Shime.new(script.Parent)\nshimmer:Play()\n```\n\n## Documentation\n\n\u003e [!NOTE]\n\u003e\n\u003e Visit the [**Documentation**](https://github.com/RyanLua/Shime/wiki/Documentation) page more information on the Shime module and more details about Shime Constructors, Methods, and Properties.\n\nShime has many methods and properties that allow you to customize the shimmer effect to your liking. Below is a summary of all the methods, properties, and constructors for Shime.\n\n### [Constructors](https://github.com/RyanLua/Shime/wiki/Documentation#constructors-1)\n\n| new(parent: [`GuiObject`](https://create.roblox.com/docs/reference/engine/classes/GuiObject)) |\n| :--- |\n| Returns a [`table`](https://create.roblox.com/docs/reference/engine/libraries/table) containing `Shimmer`'s metatable. Shimmers using default parameters. |\n\n| new(parent: [`GuiObject`](https://create.roblox.com/docs/reference/engine/classes/GuiObject), time: [`number`](https://create.roblox.com/docs/scripting/luau/numbers)?, style: [`EasingStyle`](https://create.roblox.com/docs/reference/engine/enums/EasingStyle)?, direction: [`EasingDirection`](https://create.roblox.com/docs/reference/engine/enums/EasingDirection)?, repeatCount: [`number`](https://create.roblox.com/docs/scripting/luau/numbers)?, reverses: [`boolean`](https://create.roblox.com/docs/scripting/luau/booleans)?, delayTime: [`number`](https://create.roblox.com/docs/scripting/luau/numbers)?) |\n| :--- |\n| Returns a [`table`](https://create.roblox.com/docs/reference/engine/libraries/table) containing `Shimmer`'s metatable. Shimmers using specified parameters. |\n\n### [Properties](https://github.com/RyanLua/Shime/wiki/Documentation#properties-1)\n\n| Property | Description |\n| :--- | :--- |\n| PlaybackState: [`Enum.PlaybackState`](https://create.roblox.com/docs/reference/engine/enums/PlaybackState) | This read-only property will return [`Enum.PlaybackState`](https://create.roblox.com/docs/reference/engine/enums/PlaybackState). |\n\n### [Methods](https://github.com/RyanLua/Shime/wiki/Documentation#methods-1)\n\n| GetFrame(): [`Frame`](https://create.roblox.com/docs/reference/engine/classes/Frame) |\n| :--- |\n| The GetFrame function returns the [`Frame`](https://create.roblox.com/docs/reference/engine/classes/Frame) that is used to create the shimmer effect. This frame can be customized after the shimmer is created.|\n\n| GetGradient(): [`UIGradient`](https://create.roblox.com/docs/reference/engine/classes/UIGradient) |\n| :--- |\n| The GetGradient function returns the [`UIGradient`](https://create.roblox.com/docs/reference/engine/classes/UIGradient) that is used to create the shimmer effect. This gradient can be customized after the shimmer is created. |\n\n| Stop(): `void` |\n| :--- |\n| The Stop function halts `Shimmer`. If [`Shimmer:Play()`](https://github.com/RyanLua/Shime/wiki/Documentation#play) is called again the `Shimmer` will resume interpolating towards their destination but take the full length of the time to do so. |\n\n| Pause(): `void` |\n| :--- |\n| The Pause function halts `Shimmer`. If you call [`Shimmer:Play()`](https://github.com/RyanLua/Shime/wiki/Documentation#play) again, the shimmer resumes playback from the moment it was paused. |\n\n| Play(): `void` |\n| :--- |\nThe Play function starts `Shimmer`. Note that if a shimmer has already begun calling Play will have no effect unless the shimmer has finished or has been stopped (either by [`Shimmer:Stop()`](https://github.com/RyanLua/Shime/wiki/Documentation#stop) or [`Shimmer:Pause()`](https://github.com/RyanLua/Shime/wiki/Documentation#pause). |\n\n## Contributing\n\nWe worked hard to make this **open-source**, so please **contribute at your will**. Go ahead and [fork this repository](https://github.com/RyanLua/Shime/fork), and maybe we will merge together someday.\n\nIf you **have a change** you want to make, please [open a new pull request](https://github.com/RyanLua/Shime/compare).\n\nIf you see a **bug or want a feature**, please [open an issue](https://github.com/RyanLua/Shime/issues/new/choose).\n\nTo get started to go [CONTRIBUTING.md](https://github.com/RyanLua/Shime/blob/main/.github/CONTRIBUTING.md) on how to contribute. \n\n## License\n\nShime is **licensed under** [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). See [LICENSE.txt](LICENSE.txt) for details.\n","funding_links":["https://github.com/sponsors/RyanLua","https://patreon.com/RyanLuu"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryanlua%2Fshime","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fryanlua%2Fshime","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryanlua%2Fshime/lists"}