Как я могу обнаружить щелчок на границе холста, а не на его содержимом? в Flex - PullRequest
1 голос
/ 29 августа 2011

Как я могу обнаружить щелчок на границе холста, а не на его содержимом?.

Я знаю, что могу проверить диапазоны event.mouseX (Y), но мой холст имеет закругленные углыв некоторых случаях это круг, есть ли способ узнать, находится ли граница холста под указателем?

У меня есть:

Canvas.setStyle ("borderColor", 0xFF0000);
Canvas.setStyle ("borderStyle", "solid");
Canvas.setStyle ("BorderThickness", 10);

Ответы [ 3 ]

0 голосов
/ 29 августа 2011

Я не очень разбираюсь в этой конкретной теме, но задумывались ли вы о настройке какого-либо механизма выбора?

У вас может быть графический буфер, который вы никогда не отображаете, но рисуете все.Каждую вещь, которую вы хотели бы выделить, вы рисуете другим цветом.Таким образом, для любого события мыши можно выяснить, над чем была мышь, включая границу, которая будет нарисована его собственным цветом, и передать соответствующее событие этому объекту.

Возможно, полезно только в качествев крайнем случае, если вы не можете найти другой способ сделать это.

0 голосов
/ 31 августа 2011

Как насчет одного холста, который на 10 пикселей больше, чем тот, что перед ним, с вашим реальным контентом. Тогда этот задний холст регистрируется для клика, а передний с вашим реальным контентом - нет.

0 голосов
/ 29 августа 2011

Судя по толщине в 10px, что является реальной проблемой, если пользователь нажимает на рамку или холст?У вас есть слушатели событий, которые вызываются при нажатии на холст?Если это так, возможно, вам следует уточнить тех слушателей, чтобы они настраивались на события, отправляемые из содержимого холста, а не из самого холста.

...