Сообщение от pax
По идее первая проблема связана с маппингом текстуры. Т.е. вот этот желтый кусок у тебя скорее всего есть с другой стороны текстуры. Обычно такое решается установкой параметра Wrap Mode = Clamp в настройках импорта.
А по поводу второй проблемы - в очередной раз призываю использовать анимации, а не код для таких задач)
|
С первым ничего не понял.
Со вторым, у меня ещё было много вариантов кода,
и проблема не решалась, из-за того, что у юнити всё в
рандомно-примерных флоатах, векторах, а дальтатайм
вообще срабатывает через разное время.
Финальный код, это на последнем сближении я просто
координаты желаемые уже устанавливаю вручную,
выравниваю короче это безобразие. Визуально вроде скачка незаметно.
А на счёт анимаций. Ну хз, я здесь подстраиваю картинки под высоту
и ширину экрана, заведомо не зная какое разрешение у игрока,
как это делать через анимации без кода я хз )
Но повторю, проблема решена принудительным трансформпозишном на
последние нужные координаты в конце этого безобразия.
if (GLOBALSUPERSCRIPT.CamStop == 0 && FightScene.ZanaveskaSost == 1) { GLOBALSUPERSCRIPT.CamStop = 1; SW = Screen.width; }
if (FightScene.ZanaveskaSost == 1 && LH < SW)
{
if (ZanaveskaLeft.gameObject.activeSelf == false)
{
ZanaveskaLeft.gameObject.SetActive(true);
ZanaveskaRight.gameObject.SetActive(true);
}
if (SuperTimer < 1f) { SuperTimer = SuperTimer + 1f * Time.deltaTime * 1000; }
if (SuperTimer > 0f)
{
LH = LH + Mathf.Floor(20f);
SuperTimer = 0f;
rectTransfrom.offsetMax -= new Vector2(Mathf.Floor(-10f), 0);
rectTransfrom2.offsetMin -= new Vector2(Mathf.Floor(10f), 0);
ZanaveskaLogoLeft.transform.Translate(Vector2.right * Mathf.Floor(10f));
ZanaveskaLogoRight.transform.Translate(Vector2.left * Mathf.Floor(10f));
}
}
if (FightScene.ZanaveskaSost == 1 && LH >= SW && MicroTimer == 0f)
{
MicroTimer = 2f;
float a = Mathf.Floor(ZanaveskaLogoLeft.transform.position.y);
float b = Mathf.Floor(ZanaveskaLogoRight.transform.position.y);
ZanaveskaLogoLeft.transform.position = new Vector2(Mathf.Floor(SW / 2 - 256), a);
ZanaveskaLogoRight.transform.position = new Vector2(Mathf.Floor(SW / 2), b);
}