Я произвел эффект затухания на слое параллакса, и я сделал это:
if(currentBackgroundPhase == BackgroundPhase.Night)
{
foreach(SpriteRenderer sprite in GetComponentsInChildren<SpriteRenderer>())
{
if (sprite.name.Contains("Cloud"))
{
sprite.color = new Color(opaqueCloud.r, opaqueCloud.g, opaqueCloud.b, transitionTimeElapsed / TRANSITION_TIME);
}
}
}
Параллакс продолжает перемещать спрайты облаков, и это единственный способ, которым я могу думать.Я посмотрел профилировщик и не увидел падения производительности при вызове if.Это слишком дорого / неэффективно, потому что GetComponensInChildren?Если так, есть ли другой способ сделать это?
Я посмотрел на графике скриптов профилировщика, чтобы увидеть, если это слишком много, но не заметил ничего странного.
Я не могу проверить наплохое устройство, потому что у меня его нет, и я хочу, чтобы это работало на каждом устройстве Android ...
Максимальное количество спрайтеров, которые могут быть у детей, равно 20 или около того.