Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 6 из 6
  1. #1
    Аватар для felix_font
    Пользователь

    Статус
    Оффлайн
    Регистрация
    15.07.2014
    Сообщений
    19
    Репутация:
    1 ±

    Баг с размером текста в TextDraw

    На первый взгляд все кажется нормально:


    А если посмотреть на скоростях по больше, заметим неровность в конце:


    А если уж совсем приблизить, мы заметим полную неровность с самого начала и только в некоторых случаях стает ровно:


    А теперь вопрос, почему? И как исправить?
    По параметрам TextDraw'a они идентичны по всем параметрам.
    Разница только в цветах.

    Почему же такая неровность?
    Ведь дело в том, что я сделал для каждой машины индивидуальную макс.скорость и в зависимости от макс.скорости заполняются "ячейки".
    И так получается при макс. скорости заполняется не до конца (вроде 2 ячейки последние) - что полностью все портит.

    Как я и говорил, отличий в стиле TextDraw никаких нету, и также косяков в коде тоже нету, используется один и тот же символ для заполнения.
    Подозреваю только на то - что разные цвета, но... в других же вроде нету такого бага.. и тоже абсолютно разные цвета "ячеек" и чем оно заполняется.

    Какие есть варианты исправления бага?

  2. #2
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Всё же покажите код или объясните как вы всё это реализуете, ибо пока вы предлагаете нам с бубном танцевать.
    Например, расскажите расскрашиваете ли вы 1 и тот же текстдрав или действуете методом наложения?
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  3. #3
    Аватар для felix_font
    Пользователь

    Статус
    Оффлайн
    Регистрация
    15.07.2014
    Сообщений
    19
    Репутация:
    1 ±
    Метод наложения.

    Заполнение:
    PHP код:
    new min_speed floatround(GetVehicleMaxSpeed(vehicleid) / 28floatround_floor);
        new 
    curr_speed floatround(speed min_speedfloatround_round);
        
    //if(curr_speed > 28) curr_speed = 28;
        
    if(curr_speed 1curr_speed 1;
        
        if(
    speed == 0PlayerTextDrawSetString(playeridSM_Text[playerid][SM_CurSpeed], "");
        else
        {
            
    format(szTempmaxlen"");
            for(new 
    0curr_speedi++) strcat(szTemp"l"maxlen);
            
    PlayerTextDrawSetString(playeridSM_Text[playerid][SM_CurSpeed], szTemp);
        } 
    Состоит из 28 полосок, значит макс.скорость делим на 28 и округляем в меньшую сторону.
    Чтобы получить текущую скорость в полосках, делю текущую скорость транспорта на минимальную скорость для 1 полоски и округляю по типу floatround_round (в ту сторону какая ближе), ну а дальше заполнение циклом.

  4. #4
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    А не проще ли создать 1 текстдрав и в нём уже изменять цвет нужных полосок?
    Ну а вообще, скорее всего, просто нужно убрать тень текстдрава или что-то подобное, из-за чего текстдрав чуть смещается в сторону. А так же попробовать убрать собейт из запуска и посмотреть как будет без него, ибо в нём что только не изменяется...
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  5. #5
    Аватар для felix_font
    Пользователь

    Статус
    Оффлайн
    Регистрация
    15.07.2014
    Сообщений
    19
    Репутация:
    1 ±
    Собейт отключил полностью и перезапустил игру.
    Результат такой же:


    По поводу 1 texdraw, выбор цветов очень сухой, этих ~g~, ~b~, ~h~ - никак не станет, цвет получается не очень приятный.

    Параметры TextDraw (серого):
    LetterSize = 0.338797, 1.858844
    Alignmenе = 1
    Color = -2139062017
    SetShadow = 0
    SetOutline = 1
    BackgroundColor = 51
    Font = 1
    SetProportional = 1

    Для цветного все так же, только:
    Color = 16777215

  6. #6
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Попробуйте для SetOutline и SetProportional установить нуль. Да и вообще, поиграйтесь с настройками (сделайте пару команд, которыми прямо в игре меняйте значение и смотрите результат). Я с текстдравами мало работал и не помню предназначения каждой функции, так что могу лишь подсказать то, что бы делал я сам :)
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •