Player flickering on screen after image

So I made a intro in Roblox. But everytime an image loads the player starts flickering on the screen for some reason, any help?

What I want: I want it so the player stops flickering on the screen.

The bug: Player keeps flickering on screen everytime image loads

It looks like you’re changing the image every frame, and I’m pretty sure the images do take some time to load so it creates this “choppy” effect. Maybe you could try a different approach such as making every frame visible (as a seperate ImageLabel) and make them invisible each frame?

You have to preload the images. Loop through them and check the .IsLoaded property on all the images you want to go through for the flipbook animation and then start the animation.

Use ContentProvider Service to preload all the images in advance. This way, by preloading them, the images don’t need be loaded again, and allow a smooth transition from frame to frame. ContentProvider has a method PreloadAsync() that you will want to use here!

This won’t work with images, you have to manually check the .IsLoaded property for them to make sure its actually loaded into the cache so it will display immediately

This service works for images, decals, sounds, or any asset that includes a engine identifies links to the content, being any one of these formats. Images are one of these, content identified links, and therefore the service works with images.

Yeah but the service doesn’t actually work for images or sounds. It’s broken right now and you have to manually check the property to make sure it’s actually loaded in.

I am unaware of this outage, and currently I am using ContentProviderService in numerous amount of times in my projects, specifically for images, however ContentProviderService seems to be working fine for me. Do you mind sharing more infomation about this, and where you heard about the outage?

yea, for me it is fine as well. I don’t remember it being impossible to use on images.

1 Like

the thing is, its one image label and there are above 100 frames. so duplicating that would take so much time :slightly_frowning_face:

IsLoaded is enabled. its all one image changing ids every 0.1 seconds
image

and how would I do that? my code is

game.ReplicatedStorage.RemoteEvent.OnServerEvent:Connect(function(plr)
	plr.PlayerGui.ScreenGui.Frame.TextButton.Transparency = 1
	wait(0.1)
	plr.PlayerGui.ScreenGui.Frame.ImageLabel.Image = "rbxassetid://17351199138"

and then it does that further and further on. changing the image ids

roblox images take time to load so whenever the player shows on screen it just means that the image isnt loaded. try waiting some time before playing the animation for each image to load although that will take time
Roblox should just release the video feature to everyone since theyre already giving out public ugc

instead of working with over 100 frames, you can stick to that one image label you are changing, but also have all the others somewhere like in replicated first so you can preload them like the replies above suggested, and then you shouldnt have any problems

vidoes cost money, and i do not have robux

so i put imagelabels in replicatedfirst and make it change to that image after a few seconds?

well that is an option, but i said stick to your own script, but store all the other frames in replicated first so you can preload all the images before playing the animation, so it doesnt look choppy

i guess something like this could work pretty well, something like a for loop maybe? i have no idea

You can do it with something like this:

local ContentProvider = game:GetService("ContentProvider")
local AllImageIds = {"rbxassetid://17351199138", "AnotherOne", "Next", } -- All images need to go in here
ContentProvider:PreloadAsync(AllImageIds)

game.ReplicatedStorage.RemoteEvent.OnServerEvent:Connect(function(plr)
	plr.PlayerGui.ScreenGui.Frame.TextButton.Transparency = 1
	wait(0.1)
	plr.PlayerGui.ScreenGui.Frame.ImageLabel.Image = "rbxassetid://17351199138"
--etc
1 Like

This worked! Thank you so much.
image

1 Like