Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.07.2011, 13:48
Кандидат Javascript-наук
Отправить личное сообщение для nyols Посмотреть профиль Найти все сообщения от nyols
 
Регистрация: 16.02.2011
Сообщений: 134

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

Вообще вроде насколько понял, такое не возможно. Надо получать координаты (клика к примеру) по всему холсту, и уже смотреть что за элемент по этим координатам находится, а как тогда это определить ?
Ответить с цитированием
  #2 (permalink)  
Старый 30.07.2011, 17:08
Кандидат Javascript-наук
Отправить личное сообщение для nyols Посмотреть профиль Найти все сообщения от nyols
 
Регистрация: 16.02.2011
Сообщений: 134

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

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

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

Последний раз редактировалось nyols, 30.07.2011 в 17:13.
Ответить с цитированием
  #3 (permalink)  
Старый 30.07.2011, 17:25
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Libcanvas не кроссбраузерный, точнее в IE9- не работает., если вас это не напрягает, то библиотека довольно хорошая (простая, легкая), если же нужен кроссбраузерное решение, то наиболее активная аудитория у Raphaël.
Сообщение от nyols
Никто не может дать ссылок на документацию
Напишите разработчику
Ответить с цитированием
  #4 (permalink)  
Старый 30.07.2011, 17:31
Кандидат Javascript-наук
Отправить личное сообщение для nyols Посмотреть профиль Найти все сообщения от nyols
 
Регистрация: 16.02.2011
Сообщений: 134

Raphael - это вроде как больше в сторону SVG ?
Ответить с цитированием
  #5 (permalink)  
Старый 30.07.2011, 17:53
Аватар для UpJump
Профессор
Отправить личное сообщение для UpJump Посмотреть профиль Найти все сообщения от UpJump
 
Регистрация: 02.11.2010
Сообщений: 174

как вариант только для для n-угольных фигур.
проводим от курсора к центру фигуры прямую.
смотрим если прямая пересекает любой отрезок фигуры то соответственно курсор не внутри фигуры. если не пересекли то в фигуре.
Надеюсь смысл понятен.
Ответить с цитированием
  #6 (permalink)  
Старый 30.07.2011, 17:58
Кандидат Javascript-наук
Отправить личное сообщение для nyols Посмотреть профиль Найти все сообщения от nyols
 
Регистрация: 16.02.2011
Сообщений: 134

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

Может есть формула какая то ? К примеру у нас координаты центра круга, его радиус и координаты клика ?
Ответить с цитированием
  #7 (permalink)  
Старый 30.07.2011, 18:09
Аватар для float
Профессор
Отправить личное сообщение для float Посмотреть профиль Найти все сообщения от float
 
Регистрация: 01.07.2010
Сообщений: 387

(|[координаты ц. круга]-[к. курсора]|<R) => наведён на круг
Ответить с цитированием
  #8 (permalink)  
Старый 30.07.2011, 18:09
Аватар для UpJump
Профессор
Отправить личное сообщение для UpJump Посмотреть профиль Найти все сообщения от UpJump
 
Регистрация: 02.11.2010
Сообщений: 174

ну посмотрите здесь к примеру
Ответить с цитированием
  #9 (permalink)  
Старый 30.07.2011, 19:00
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

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

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

Последний раз редактировалось dmitriymar, 30.07.2011 в 19:04.
Ответить с цитированием
  #10 (permalink)  
Старый 30.07.2011, 19:07
Аватар для float
Профессор
Отправить личное сообщение для float Посмотреть профиль Найти все сообщения от float
 
Регистрация: 01.07.2010
Сообщений: 387

а если картинка?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
canvas ии события KOLANICH Events/DOM/Window 17 04.11.2010 21:41
Добавить на canvas еще один елемент greengarlic Общие вопросы Javascript 5 22.09.2010 10:16
Прерывание события на границе двух блоков miller Events/DOM/Window 0 25.06.2010 20:58
Drug&Drop + всплывание события = проблемы =(( _NoName_ Events/DOM/Window 4 05.03.2009 17:47
Явный вызов процедуры обработки события. supchik Общие вопросы Javascript 18 27.01.2009 13:16