Я хочу иметь возможность регистрировать / отменять регистрацию объектов в списке и проверять, находится ли мышь над ними для отображения подсказок. Однако я спотыкаюсь в начале.
Я собираюсь использовать: al_get_pixel
& al_unmap_rgba
, чтобы получить альфа каждого пикселя и решить, достаточно ли он видим, чтобы считаться попаданием при наведении на него мышью.
Основная проблема, с которой я сталкиваюсь, заключается в том, чтобы решить, как лучше всего сохранить эту отдельную "карту попаданий" и ссылку на объект, который ее сгенерировал; Так как много разных типов объектов (в виде структур) разных размеров могут нуждаться в создании хит-карт. Я надеялся, что смогу сделать что-то похожее на проверку, расширяет ли сложный объект базовый объект, но я не понимаю, как мне этого добиться в c ++.
Ps; Я знаю, что мог бы создать массив размером экрана для каждого объекта, но я делаю это главным образом с целью максимизации эффективности. Я бы сделал массивы динамического размера, но ...