UI привязка к точке на масштабируемом Image? [решено]

Графический интерфейс пользователя

UI привязка к точке на масштабируемом Image? [решено]

Сообщение Woolf 18 май 2019, 23:54

Привет, камрады. Вот есть у меня такая карта, она масштабируется в зависимости от разрешения экрана
На карте есть точки-базы, привязанные к конкретным географическим местам.
https://clip2net.com/s/41CrNBk

Проблема в том, что при масштабировании карты эти точки съезжают со своих мест. Так, например, Франция оказывается на территории Германии, а Казахстан уезжает в Россию.
Как мне жестко закрепить эти точки базы, чтобы при любом масштабировании карты они оказывались там, куда я их поставил?

Изображение
Последний раз редактировалось Woolf 22 май 2019, 03:36, всего редактировалось 1 раз.
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: UI привязка к точке на масштабируемом Image?

Сообщение 1max1 19 май 2019, 00:02

Масштабирование через transform.scale? Твои точки дочерние к карте или плавают где-то?
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: UI привязка к точке на масштабируемом Image?

Сообщение Woolf 19 май 2019, 00:07

1max1 писал(а):Масштабирование через transform.scale? Твои точки дочерние к карте или плавают где-то?


Масштабирование через свойство RecTransform
Изображение

Точки - это кнопки, они дочерние к карте.
Изображение
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: UI привязка к точке на масштабируемом Image?

Сообщение 1max1 19 май 2019, 01:08

Могу только костыль предложить:
Но проще скейлить через localScale, а лучше вообще не скейлить, так и картинка не размазанная будет))



Синтаксис:
Используется csharp
using UnityEngine;
using UnityEngine.UI;

class Pointer : MonoBehaviour
{
    [SerializeField] Image map;

    Vector3 startPosition;

    void Start()
    {
        startPosition = transform.localPosition;
    }

    void Update()
    {
        Vector3 p = Vector3.zero;
        p.x = startPosition.x * (map.rectTransform.rect.width / map.mainTexture.width);
        p.y = startPosition.y * (map.rectTransform.rect.height / map.mainTexture.height);
        transform.localPosition = p;
    }
}
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: UI привязка к точке на масштабируемом Image?

Сообщение ~AvA~ 19 май 2019, 10:41

UI конечно штука сложная..
На Canvas есть Content Scaler (добавь если нету). Там с ним можно пошаманить, поставить разрешение на которое нацелен и как скэйлить (Scale with screen size) , если на девайсе другое.
Аватара пользователя
~AvA~
UNIверсал
 
Сообщения: 396
Зарегистрирован: 17 фев 2015, 13:09

Re: UI привязка к точке на масштабируемом Image?

Сообщение AngryCat 19 май 2019, 21:02

Здесь могла бы быть ваша реклама.
Аватара пользователя
AngryCat
Старожил
 
Сообщения: 716
Зарегистрирован: 20 июл 2018, 22:29
Skype: Дискорд - Флеш#4099

Re: UI привязка к точке на масштабируемом Image?

Сообщение Woolf 20 май 2019, 01:02

AngryCat писал(а):То, что надо..

Нет, даже и близко не то..

Ладно, я уже смирился, что нативными средствами мне результата не достичь, буду скейлить своим скриптом с привязкой по долям от целого
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: UI привязка к точке на масштабируемом Image?

Сообщение AngryCat 21 май 2019, 13:16

Woolf писал(а):
AngryCat писал(а):То, что надо..

Нет, даже и близко не то..

Хмм... Видимо я не понял задачу... Что именно не то?
Здесь могла бы быть ваша реклама.
Аватара пользователя
AngryCat
Старожил
 
Сообщения: 716
Зарегистрирован: 20 июл 2018, 22:29
Skype: Дискорд - Флеш#4099

Re: UI привязка к точке на масштабируемом Image?

Сообщение 1max1 21 май 2019, 13:45

Что именно не то?

Посмотри мой видос сразу понятно станет, у него маркеры съезжают при скейле.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: UI привязка к точке на масштабируемом Image?

Сообщение AngryCat 21 май 2019, 13:56

1max1 писал(а):
Что именно не то?

Посмотри мой видос сразу понятно станет, у него маркеры съезжают при скейле.

Допер. Я думал, у него съезжают маркеры на разных разрешениях )
Здесь могла бы быть ваша реклама.
Аватара пользователя
AngryCat
Старожил
 
Сообщения: 716
Зарегистрирован: 20 июл 2018, 22:29
Skype: Дискорд - Флеш#4099

Re: UI привязка к точке на масштабируемом Image?

Сообщение ~AvA~ 21 май 2019, 17:03

Ха, я нашёл решение нативными средствами :)


Вот эти белые херности (маркеры), установи их вокруг твои кнопок , как здесь
Изображение
Аватара пользователя
~AvA~
UNIверсал
 
Сообщения: 396
Зарегистрирован: 17 фев 2015, 13:09

Re: UI привязка к точке на масштабируемом Image?

Сообщение 1max1 21 май 2019, 17:14

Кросовчик!
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: UI привязка к точке на масштабируемом Image?

Сообщение AngryCat 21 май 2019, 19:02

~AvA~ писал(а):Вот эти белые херности (маркеры)

Браво Маэстро :ymapplause:
Здесь могла бы быть ваша реклама.
Аватара пользователя
AngryCat
Старожил
 
Сообщения: 716
Зарегистрирован: 20 июл 2018, 22:29
Skype: Дискорд - Флеш#4099

Re: UI привязка к точке на масштабируемом Image?

Сообщение Woolf 22 май 2019, 03:15

Вот эти белые херности (маркеры), установи их вокруг твои кнопок , как здесь

Ай-нэ-нэ, действительно.. Это ж надо было как-то додуматься, я на эти херности и внимания никогдане обращал.. Большое спасибо, я еще точки поместил в панельки с привязкой по центру, чтобы они размер не меняли, теперь при любом разрешении они стоят там, где надо, Рейн на Рейне, Сырдарья на Сырдарье.

Сию тему надо бы закрепить, в инете такого решения нет.
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59


Вернуться в uGUI

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2