Помогите CUI Image белая полоса

SoulRain

26 Фев 2023
9
0
0
ДД
Вопрос такой, я сделал CUI js (Код ниже)

Вызываю его в определенных условиях с помощью - CuiHelper.AddUi(player, CUI_Crosshair);
Удаляю его вот так когда он мне нужен - CuiHelper.DestroyUi(player, "CrossArrowIMG");

Проблема заключается в том, что каждый раз когда я вызываю цуи изоброжение, перед отображением картинки, проскакивает белый блок, и на месте него спустя N-ное время появляется картинка ( в среднем 1-2с).
Как убрать белый кубик и сделать чтобы сразу появлялась картинка ?

[CODE lang="javascript" title="CUI"][
{
""name"": ""CrossArrowIMG"",
""parent"": ""Overlay"",
""components"": [
{
""type"": ""UnityEngine.UI.RawImage"",
""sprite"": """",
""url"": ""Тут ссылка на мою картинку в веб""
},
{
""type"": ""RectTransform"",
""anchormin"": ""0.495 0.495"",
""anchormax"": ""0.505 0.505"",
""offsetmax"": ""0 0""
}
]
}
][/CODE]
 
Используй Image library (не забудь установить сам плагин)
Код:
void OnServerInitialized()
{
    ImageLibrary.Call("AddImage", "URL", "любое название картинки для вызова");
}

container.Add(new CuiElement
{
    Parent = Layer,
    Components =
    {
        new CuiRawImageComponent { Png = (string)ImageLibrary.Call("GetImage", "название картинки") },
        new CuiRectTransformComponent { AnchorMin = "0 0", AnchorMax = "1 1" }
    }
});

и да, лучше при .AddUI перед этим ещё и дестрой делать, вот так:

CuiHelper.DestroyUi(player, "CrossArrowIMG"); CuiHelper.AddUi(player, CUI_Crosshair);

зачем? чтобы уишка не стакалась, если там есть какая-либо ошибка

p.s.
при выгрузке плагина желательно тоже дестроить уи, ибо тогда ты его никак не закроешь и оно зависнет

Код:
void Unload()
{
    foreach (var player in BasePlayer.activePlayerList)
    {
        CuiHelper.DestroyUi(player, Layer);
    }
}
 
Только вот ImageLibrary вместо белого кубика делает черный перед загрузкой самой картинки)
значит поменяй хостинг картинок, из за того что они долго скачиваются такая шняга. и вообще в имейдж либрари можно сделать кеширование, тогда они один раз загрузятся и больше не будут перегружаться
 
Активность
Пока никто не печатает сообщение

Похожие темы