02.01.2018, 12:38
У меня есть текстдрав GPS навигатора, в котором счётчик времени и текстдрав спидометра.
Пример создания текстдрава навигатора:
gps_td_info[playerid] = CreatePlayerTextDraw(playerid,520.374755, 138.083404, "TIME:_00:00");
PlayerTextDrawLetterSize(playerid,gps_td_info[playerid], 0.406998, 1.419999);
PlayerTextDrawAlignment(playerid,gps_td_info[playerid], 1);
PlayerTextDrawColor(playerid,gps_td_info[playerid], -1378294017);
PlayerTextDrawSetShadow(playerid,gps_td_info[playerid], 0);
PlayerTextDrawSetOutline(playerid,gps_td_info[playerid], -1);
PlayerTextDrawBackgroundColor(playerid,gps_td_info[playerid], 255);
PlayerTextDrawFont(playerid,gps_td_info[playerid], 1);
PlayerTextDrawSetProportional(playerid,gps_td_info[playerid], 1);
PlayerTextDrawSetShadow(playerid,gps_td_info[playerid], 0);
PlayerTextDrawShow(playerid, gps_td_info[playerid]);
И если он активен, то раз в секунде делаю:
PlayerTextDrawSetString(playerid,gps_td_info[playerid],string);
string содержит обновленноё время.
Работает отлично. Но до тех пор, пока я не сажусь в машину, и не появляется текстдрав спидометра.
Текстдрав спидометра работает по тому же принципу. Если я в машине и показан спидометр, то раз в секунду показываю обновлённую скорость через PlayerTextDrawSetString.
Заметил 3 вида поведения:
1. Всё работает как надо. Спидометр показывает текущую скорость в правом нижнем углу, навигатор показывает таймер в правом верхнем углу.
2. Текстдрав gps навигатора пропадает, а его текст (в данном случае таймер) каждую секунду чередуется с отображением текущей скорости в правом нижнем углу в спидометре.
Т.е. 1 секунду на спидометре нормально отображается скорость,а вторую секунду там отображается таймер из навигатора.
3. То же самое, что и во втором пункте, только всё это мигает уже на месте навигатора. То скорость, то таймер.
Не заметил никаких закономерностей. Работает такое через раз.
Появилось это давно, и так как случалось не всегда, то и жаловались не часто. Поэтому связать с чем-то я не могу.
Почему такое может быть?
Пример создания текстдрава навигатора:
gps_td_info[playerid] = CreatePlayerTextDraw(playerid,520.374755, 138.083404, "TIME:_00:00");
PlayerTextDrawLetterSize(playerid,gps_td_info[playerid], 0.406998, 1.419999);
PlayerTextDrawAlignment(playerid,gps_td_info[playerid], 1);
PlayerTextDrawColor(playerid,gps_td_info[playerid], -1378294017);
PlayerTextDrawSetShadow(playerid,gps_td_info[playerid], 0);
PlayerTextDrawSetOutline(playerid,gps_td_info[playerid], -1);
PlayerTextDrawBackgroundColor(playerid,gps_td_info[playerid], 255);
PlayerTextDrawFont(playerid,gps_td_info[playerid], 1);
PlayerTextDrawSetProportional(playerid,gps_td_info[playerid], 1);
PlayerTextDrawSetShadow(playerid,gps_td_info[playerid], 0);
PlayerTextDrawShow(playerid, gps_td_info[playerid]);
И если он активен, то раз в секунде делаю:
PlayerTextDrawSetString(playerid,gps_td_info[playerid],string);
string содержит обновленноё время.
Работает отлично. Но до тех пор, пока я не сажусь в машину, и не появляется текстдрав спидометра.
Текстдрав спидометра работает по тому же принципу. Если я в машине и показан спидометр, то раз в секунду показываю обновлённую скорость через PlayerTextDrawSetString.
Заметил 3 вида поведения:
1. Всё работает как надо. Спидометр показывает текущую скорость в правом нижнем углу, навигатор показывает таймер в правом верхнем углу.
2. Текстдрав gps навигатора пропадает, а его текст (в данном случае таймер) каждую секунду чередуется с отображением текущей скорости в правом нижнем углу в спидометре.
Т.е. 1 секунду на спидометре нормально отображается скорость,а вторую секунду там отображается таймер из навигатора.
3. То же самое, что и во втором пункте, только всё это мигает уже на месте навигатора. То скорость, то таймер.
Не заметил никаких закономерностей. Работает такое через раз.
Появилось это давно, и так как случалось не всегда, то и жаловались не часто. Поэтому связать с чем-то я не могу.
Почему такое может быть?