Javascript.RU

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

Сообщение от float
а если картинка?
если цвет точек определять то без разницы. допустим зелёная окружность картинка.
определить клик. по цвету точек определить был ли клик внутри круга. если был то точки справа и слева будут зелёными(не рассматриваю сейчас вариант что он не весь в канве -определить смещение точек по вертикали относительно найденной чтоб определить внутри или снаружи был клик) -поставить индикатор. при отпуске мыши его сбрасывать
если движение мышью были при зажатой клавише-то перерисовать круг по новым координатам
ну а если всю картинку двигать то вообще не вопрос)

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

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

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

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

У меня еще такой глупый вопрос
Зачем сделано что бы при получение контекста, явно указывать "2d"
Разве в будущем что ли планируется возможность создания 3D изображений на канвасе, и тогда будем указывать "3d" ?
Ответить с цитированием
  #14 (permalink)  
Старый 30.07.2011, 20:57
Аватар для float
Профессор
Отправить личное сообщение для float Посмотреть профиль Найти все сообщения от float
 
Регистрация: 01.07.2010
Сообщений: 387

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

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

Сообщение от dmitriymar
ну дак а смысл в объекте-если эрию можно по ним строить и кидать на неё обработчик? отпадает проверка совпадения
Хммм, тоже вариант, попробую так)

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

Сообщение от float
не планируется. это есть уже.
Афигеть, так если научится, то можно будет делать крутые браузерские игры, аналоги настольных игр (моя мечта)

Пока что самую впечатлительную которую я видел - это был quake сделанный в гугле (и то только видео, жаль что самому не удалось поиграть)

Микрософт от зависти обосрется что в его браузерах игры не будут идти

Последний раз редактировалось nyols, 30.07.2011 в 21:44.
Ответить с цитированием
  #18 (permalink)  
Старый 30.07.2011, 22:36
Аватар для DreamTheater
Профессор
Отправить личное сообщение для DreamTheater Посмотреть профиль Найти все сообщения от DreamTheater
 
Регистрация: 15.02.2011
Сообщений: 471

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

Сообщение от nyols
Как вариант только если для статических элементов делать один канвас, а динамические кидать в другой канвас и только его рисовать постоянно ?
если статические у тебя не используются-то подложи изображение под канву-просто контейнер с изображением внутри либо с изображением беграундом

и посмотри на функции канвы getImageData и putImageData чтоб цвет менять и прочее одного элемента а не всю перерисовывать
Ответить с цитированием
  #20 (permalink)  
Старый 30.07.2011, 22:53
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от nyols
Микрософт от зависти обосрется что в его браузерах игры не будут идти
почему не будут?) ие9 полная поддержка канвы а для более старых библиотеки подключаются
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
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