Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Canvas события (https://javascript.ru/forum/misc/19266-canvas-sobytiya.html)

nyols 30.07.2011 13:48

Canvas события
 
Hi all))
Начал изучение canvas'a.
Вот и хочу узнать как можно реализовать события для элементов canvas'a ?
Искал в нете, везде фреймворки предлагают использовать. Никак не получается найти как вешать обработчики на элементы в канвасе.

Вообще вроде насколько понял, такое не возможно. Надо получать координаты (клика к примеру) по всему холсту, и уже смотреть что за элемент по этим координатам находится, а как тогда это определить ?

nyols 30.07.2011 17:08

Хмм, вроде читал что Libcanvas хороший фреймворк.

Никто не может дать ссылок на документацию (у них сайт вроде не работает) или на статьи для новичков ?
Читал эту и эту статьи и не получается((( Точнее примеры из статьи работают, а вот когда что то свое хочу сделать, то не работает. Есть у кого ссылки на хорошие статьи ?

Или может кто предложит другой фремворк ?

monolithed 30.07.2011 17:25

Libcanvas не кроссбраузерный, точнее в IE9- не работает., если вас это не напрягает, то библиотека довольно хорошая (простая, легкая), если же нужен кроссбраузерное решение, то наиболее активная аудитория у Raphaël.
Цитата:

Сообщение от nyols
Никто не может дать ссылок на документацию

Напишите разработчику

nyols 30.07.2011 17:31

Raphael - это вроде как больше в сторону SVG ?

UpJump 30.07.2011 17:53

как вариант только для для n-угольных фигур.
проводим от курсора к центру фигуры прямую.
смотрим если прямая пересекает любой отрезок фигуры то соответственно курсор не внутри фигуры. если не пересекли то в фигуре.
Надеюсь смысл понятен.;)

nyols 30.07.2011 17:58

UpJump,
Для n-угольных фигур я то предполагаю как, а вот для круга, не очень.

Может есть формула какая то ? К примеру у нас координаты центра круга, его радиус и координаты клика ?

float 30.07.2011 18:09

(|[координаты ц. круга]-[к. курсора]|<R) => наведён на круг

UpJump 30.07.2011 18:09

ну посмотрите здесь к примеру

dmitriymar 30.07.2011 19:00

определить событие-легко
определить позицию указателя мыши на канве-легко .
считать строку(линию) /либо необход колво строк из канвы по координате y мыши-легко
в этой строке каждая точка представлена 4 байтами rgb+альфа
считать нужную по координате х мыши -легко
определить цвет её (возможно окружения её) -легко
если цвет соответствует (либо последовательность) выполнить действие

а на элементы канвы событие никак не повесишь. как вариант над канвой эрии создавать и обработчики на них вешать.

float 30.07.2011 19:07

а если картинка?:)


Часовой пояс GMT +3, время: 12:43.