SA-MP Forums Archive
Искажение TextDraw на разных мониторах. - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: Искажение TextDraw на разных мониторах. (/showthread.php?tid=622860)



Искажение TextDraw на разных мониторах. - Danger228 - 27.11.2016

Всем привет.
В общем заметил такую особенность, что на разных разрешениях экрана монитора TextDraw искажается, меняю позицию на пару дюймов.
Искал решение проблемы в Интернете, нашёл лишь функцию, узнающую расширение монитора (GetPlayerCameraAspectRatio), но толку от неё, если она возвращает только вещественное число (как раз таки это расширение).
Как сделать, чтобы на разных мониторах всё нормально было?


Re: Искажение TextDraw на разных мониторах. - ZiGGi - 27.11.2016

GetPlayerCameraAspectRatio используется для определения отношения сторон экрана игрока 4:3, 16:9 и т.д.. Для более корректной работы TD рекомендуется использовать целочисленные координаты.


Re: Искажение TextDraw на разных мониторах. - Danger228 - 27.11.2016

Делал и с целочисленными координатами - сути не меняет.


Re: Искажение TextDraw на разных мониторах. - White_116 - 27.11.2016

Quote:
Originally Posted by Danger228
View Post
Делал и с целочисленными координатами - сути не меняет.
4:3, 16:9, 16:10 - коэффициенты.
По умолчанию 4:3 - это 100% верное отображение.
Так для 16:9 по Х нужно домножить на 1,3
Так для 16:10 по Х нужно домножить на 1,23


Re: Искажение TextDraw на разных мониторах. - Danger228 - 27.11.2016

Но есть же и другие разрешения, 3:2, 4:5 и т.д. Как поступить?


Re: Искажение TextDraw на разных мониторах. - stabker - 27.11.2016

Quote:
Originally Posted by White_116
View Post
4:3, 16:9, 16:10 - коэффициенты.
По умолчанию 4:3 - это 100% верное отображение.
Так для 16:9 по Х нужно домножить на 1,3
Так для 16:10 по Х нужно домножить на 1,23
А из чего следует, что если 16:9 - то 1.3, а если 16:10 - то 1.23? Как можно получать универсально это число, исходя из ascept ratio?


Re: Искажение TextDraw на разных мониторах. - Stepashka - 27.11.2016

Quote:
Originally Posted by stabker
View Post
А из чего следует, что если 16:9 - то 1.3, а если 16:10 - то 1.23? Как можно получать универсально это число, исходя из ascept ratio?
Математику в школе проходили?
Ключевое слово пропорции.


Re: Искажение TextDraw на разных мониторах. - Danger228 - 27.11.2016

16 относится к 9, как?...


Re: Искажение TextDraw на разных мониторах. - Stepashka - 27.11.2016

Quote:
Originally Posted by Danger228
View Post
16 относится к 9, как?...
нет.
Если вы сделали тексты под монитор с соотношением 4:3, то вам нужно искать отношение между 4:3 и 16:9.


Re: Искажение TextDraw на разных мониторах. - Danger228 - 27.11.2016

Так разрешений мониторов очень большое количество, неужели надо подбирать под все значения?


Re: Искажение TextDraw на разных мониторах. - Stepashka - 27.11.2016

Quote:
Originally Posted by Danger228
View Post
Так разрешений мониторов очень большое количество, неужели надо подбирать под все значения?
Разрешений много, соотношений меньше, делайте под них.


Re: Искажение TextDraw на разных мониторах. - stabker - 27.11.2016

Эта функция, GetPlayerCameraAspectRatio, все время возвращает либо 1.333333, либо 1.776470, причем независимо от разрешения, а в зависимости от того, установлен ли широкоэкранный режим (вернет 1.776470) в настройках или нет (вернет 1.333333). А вот текстдравы плавают именно в зависимости от разрешения: чем больше разрешение, тем больше они искажаются. Так как тут что-то сделать можно, если вариантов искажения много, а возвращаемых значений только 2? Вы сами хоть тестировали то, что советуете?