PDA

Просмотр полной версии : [Вопрос] Вопрос по клибательности тд



Витёк
12.01.2017, 04:40
Добрый день
как для определённого тд можно сделать определённую зону клибательности
пробовал TextDrawTextSize (брал с бокса) и тд перестаёт кликатся
или есть ли другие способы
https://pp.vk.me/c636730/v636730605/4ee72/CxReI3yAlZQ.jpg

Wise
12.01.2017, 11:08
Я с помощью ipleomax настраивал размер бокса. В ней удобно подобрать размер под нужные координаты, чтобы именно та зона, которую ты выделил, становилась кликабельной.

DeimoS
12.01.2017, 13:04
А сам бокс у текстдрава включал?

Витёк
12.01.2017, 14:19
А сам бокс у текстдрава включал?

нет я их создовал по отдельности

InvTextObj[10][playerid] = TextDrawCreate(582.000000, 321.000000, "Close");
TextDrawBackgroundColor(InvTextObj[10][playerid], 255);
TextDrawFont(InvTextObj[10][playerid], 1);
TextDrawLetterSize(InvTextObj[10][playerid], 0.409999, 1.500000);
TextDrawColor(InvTextObj[10][playerid], -1);
TextDrawSetOutline(InvTextObj[10][playerid], 0);
TextDrawSetProportional(InvTextObj[10][playerid], 1);
TextDrawSetShadow(InvTextObj[10][playerid], 0);
TextDrawSetSelectable(InvTextObj[10][playerid], 1);
вот кнопка закрыть

InvTextObj[6][playerid] = TextDrawCreate(582.000000, 321.000000, ".");
TextDrawBackgroundColor(InvTextObj[6][playerid], 255);
TextDrawFont(InvTextObj[6][playerid], 1);
TextDrawLetterSize(InvTextObj[6][playerid], 1.000000, 1.500000);
TextDrawColor(InvTextObj[6][playerid], -1321061889);
TextDrawSetOutline(InvTextObj[6][playerid], 0);
TextDrawSetProportional(InvTextObj[6][playerid], 1);
TextDrawSetShadow(InvTextObj[6][playerid], 0);
TextDrawUseBox(InvTextObj[6][playerid], 1);
TextDrawBoxColor(InvTextObj[6][playerid], -1321061889);
TextDrawTextSize(InvTextObj[6][playerid], 616.000000, 0.000000);
TextDrawSetSelectable(InvTextObj[6][playerid], 0);
ну и сам бокс который под ним

DeimoS
12.01.2017, 22:40
Для кликабельного текстдрава включи бокс и сделай его прозрачным (0x000000). Тогда и кликабельность нормально работать будет

Витёк
13.01.2017, 02:39
Для кликабельного текстдрава включи бокс и сделай его прозрачным (0x000000). Тогда и кликабельность нормально работать будет

они теперь вообще перестали кликатся (бокс брал который под ними)

InvTextObj[10][playerid] = TextDrawCreate(582.000000, 321.000000, "Close");
TextDrawBackgroundColor(InvTextObj[10][playerid], 255);
TextDrawFont(InvTextObj[10][playerid], 1);
TextDrawLetterSize(InvTextObj[10][playerid], 0.409999, 1.500000);
TextDrawColor(InvTextObj[10][playerid], -1);
TextDrawSetOutline(InvTextObj[10][playerid], 0);
TextDrawSetProportional(InvTextObj[10][playerid], 1);
TextDrawSetShadow(InvTextObj[10][playerid], 0);
TextDrawUseBox(InvTextObj[10][playerid], 1);
TextDrawBoxColor(InvTextObj[10][playerid], 0x000000);
TextDrawTextSize(InvTextObj[10][playerid], 616.000000, 0.000000);
TextDrawSetSelectable(InvTextObj[10][playerid], 1);

DeimoS
13.01.2017, 02:43
Так у тебя TextDrawTextSize по Y равен нулю

Витёк
14.01.2017, 11:11
Так у тебя TextDrawTextSize по Y равен нулю

добавил Y и результат не впечатлил :negative:
https://pp.vk.me/c636730/v636730605/4ee72/CxReI3yAlZQ.jpg

Витёк
19.01.2017, 05:47
апчи

Geebrox
19.01.2017, 19:03
Если ты про радиус кликабельности обычных текстов, то это настраивается через редактор, если у тебя есть в редакторе включение/выключение USE_BOX, то включи его, далее измени цвет бокса (BOX_COLOR) на любой не прозрачный цвет. Потом при помощи редактора измени размер текста (TEXT_SIZE) (примечание: с ALIGMENT: right это не работает, выбери другое, либо center, либо left). После изменение TEXT_SIZE на нужный для тебя радиус кликабельности, сохрани проект. Но при создание текстдрава не забудь изменить цвет бокса в прозрачную (BOX_COLOR (TextDrawBoxColor(..., 0x000000);))

А если нужно изменить радиус кликабельности обычного бокса, preview или текстуры, то в редакторе измени их размер (TEXT_SIZE) они будут кликаться целиком (их размер - это радиус кликабельности), а если хочешь кликать именно какую-либо область этих текстдравов, то создай над ними новый и измени цвет на прозрачную