Всем привет! столкнулся с такой проблемой.
У меня есть таблица спрайтов при наведение на один из спрайтов показывается текст с информация о данной ячейке.
Выглядит примерно так:
Код
//obj_inv_items.sprite_dx и obj_inv_items.sprite_dy левый угол таблицы
if mouse_x>view_xview[0]+obj_inv_items.sprite_dx
&& mouse_x<view_xview[0]+obj_inv_items.sprite_dx + 500
&& mouse_y>view_yview[0]+obj_inv_items.sprite_dy
&& mouse_y<view_yview[0]+obj_inv_items.sprite_dy + 300//вычисляется входит ли мышка в таблицу
&& obj_inv_items.visible=1
{
current_x=(mouse_x-(view_xview[0]+obj_inv_items.sprite_dx)) div obj_inv_items.cell_size//вычисляется ячейка по X
current_y=(mouse_y-(view_yview[0]+obj_inv_items.sprite_dy)) div obj_inv_items.cell_size//вычисляется ячейка по Y
// obj_inv_items.cell_size - размер ячейки
Далее когда ячейки вычисляются, через массивы рисуются текст и обложка(спрайт) позади него.
Код
if obj_inv_items.item_sprite[current_x,current_y]>0
{
draw_sprite_ext(spr_txt_back,-1,mouse_x-string_width(obj_inv_items.txt[current_x,current_y]),mouse_y+25,
string_width(obj_inv_items.txt[current_x,current_y])+2,string_height(obj_inv_items.txt[current_x,current_y]),0,c_white,0.8);
draw_text(mouse_x-string_width(obj_inv_items.txt[current_x,current_y])+1,mouse_y+25,string(obj_inv_items.txt[current_x,current_y]))
}
Теперь собственно вопрос
cell_size=32 но до следующей ячейки остаётся ещё 18 свободного места т.е. с начала первой ячейки и до начала второй 50 пикселей
если я ставлю cell_size 32 то при наведении на 1 ячейку все нормально, но дальше они сильно смещаются влево
если я ставлю cell_size 50 то всё работает нормально, но при наведении на 18 лишних пикселей тоже отображается текст и спрайт под ним.
Можно ли каким либо способом сделать так чтобы при наведении на эти лишние 18 пикселей информация не показывалась?
Это большая таблица по этому в ручную прописать все координаты к сожалению не получится.
Извините за стену текста, с меня плюс.