ROBLOX — Красивая порезанная рамка или что такое Slice — GUI ImageLabel.Slice

Автор: | 1 апреля, 2024
Поделиться...

В других «языках программирования» интерфейсов для игровых движков наблюдал вариацию разрезания картинки, чтобы получалась красивая рамочка обрамления без искажения общего вида.

Нашёл картинку для подтверждения. Итак, главная красота состоит в том, что отрезанные углы не подвергаются деформациям, а вот остальные части дублируются или растягиваются. Тут уж от движка зависит.

https://devforum.roblox.com/t/how-to-use-slicecenter-robloxs-9-slice-gui-property/18313

https://developer.roblox.com/en-us/api-reference/property/ImageLabel/SliceCenter

В качестве примера использую свеже созданную заготовку ImageLabel:

Создадим картиночку заготовку UI:

Локальный скрипт для демонстрации работы Slince:

	me = script.Parent
	me.ImageLabel.ScaleType = Enum.ScaleType.Slice -- обрезание
	me.ImageLabel.SliceCenter = Rect.new(120, 160, 190, 167) -- отступ от лево верх
	me.ImageLabel.SliceScale=0.4 -- размер

while true do
	x=20
	y=20	
	for x=20,60 do
		me.ImageLabel.Size=UDim2.new(x/100,0,y/100,0)
		wait(0.1)			
	end
	x=60
	for y=20,60 do
		me.ImageLabel.Size=UDim2.new(x/100,0,y/100,0)
		wait(0.1)			
	end
	y=60
	for x=60,20,-1 do
		me.ImageLabel.Size=UDim2.new(x/100,0,y/100,0)
		wait(0.1)			
	end
	x=20
	for y=60,20,-1 do
		me.ImageLabel.Size=UDim2.new(x/100,0,y/100,0)
		wait(0.1)			
	end
end	

print("end")

Посмотреть на это в действии можно тут:

P.s. Забыл указать, чтобы можно было использовать свои рисунки игра должна быть опубликована.


Поделиться...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *