Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.11.2014, 08:32
Новичок на форуме
Отправить личное сообщение для uuushka Посмотреть профиль Найти все сообщения от uuushka
 
Регистрация: 12.11.2014
Сообщений: 9

Вопрос по отрисовке в canvas
Здравствуйте!
Решил заняться обучением фишками html5, появился вопрос по canvas, решение нагуглиить не смог.
Вопрос в чем: допустим у меня есть игровое поле с разными цветами (например, шахматная доска, или там, полосатое поле). Есть фигура, скажем круг.Если я захочу перемещать круг по этому полю, то мне придется же сначала очистить его и нарисовать с другими x и y. НО!!! Поле, на
рисованое мной тогда заирается. То есть на шахматной доске на черном поле стоит фигура, при перемещение на черном поле остается эта "очищенная зона". и вообще если зацепит, то остается след.... Я не пойму или наверно не знаю приема, как не затирать уже нарисованные элементы
Ответить с цитированием
  #2 (permalink)  
Старый 12.11.2014, 13:03
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

До перемещения круга тебе нужно очистить всю страницу, потом нарисовать игровое поле и только потом сам круг. И так на каждый кадр анимации.
Ответить с цитированием
  #3 (permalink)  
Старый 12.11.2014, 13:14
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,589

Safort, о_О наркоман штоле?
uuushka, использовать два и более канвасов, один снизу с полем, второй сверху с фигурами. Также можно хранить состояния канваса.
__________________
29375, 35
Ответить с цитированием
  #4 (permalink)  
Старый 12.11.2014, 13:54
Профессор
Отправить личное сообщение для krasovsky Посмотреть профиль Найти все сообщения от krasovsky
 
Регистрация: 21.12.2012
Сообщений: 869

Сообщение от Aetae
использовать два и более канвасов, один снизу с полем, второй сверху с фигурами. Также можно хранить состояния канваса.
Ага, для одного поля и пары фигурок сойдет.
А для сложных вещей вместо того чтоб писят канвасов один под другим втыкать ка бы так и делают, как Safort написал. Точнее на себя функцию перерисовки берут либы которые предоставляют объектную модель канвсу.
Ответить с цитированием
  #5 (permalink)  
Старый 12.11.2014, 14:25
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,589

krasovsky, всё равно не всё поле перерисовывают, а только куски в которых что-либо изменилось. Это уже отдельные движки со сложной логикой, а вопрос был по работе с нативным канвасом.
__________________
29375, 35
Ответить с цитированием
  #6 (permalink)  
Старый 12.11.2014, 16:10
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,138

подходы к рисованию бывают разные =)
и у каждого подхода есть недостатки и достоинства =)
подходы разные нужны !
подходы разные важны !

Статья на данную тему
Ответить с цитированием
  #7 (permalink)  
Старый 12.11.2014, 18:30
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

Aetae,
Цитата:
Safort, о_О наркоман штоле?
товарищ майор, а зачем вы интересуетесь?)

По моему кое-кто заморачивается)
Вопрос был довольно ясный, я дал ответ, а всё остальное это всякие разные оптимизации и прочие плюхи, которые пока что автору не нужны. Будут нужны - спросит или найдёт в сети инфу.
Ответить с цитированием
  #8 (permalink)  
Старый 12.11.2014, 21:37
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,589

Перерисовывать всю канву каждый кадр - антипатерн. Такому никого учить не след.
__________________
29375, 35
Ответить с цитированием
  #9 (permalink)  
Старый 13.11.2014, 00:52
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

Да, но вот только я не видел, чтобы говорили, об этой перерисовке, как об антипаттерне.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Всплытие событий или что то не так... Кирюха =) jQuery 6 30.03.2013 12:56
вопрос по canvas burovik Общие вопросы Javascript 0 12.12.2012 16:51
Почему неправильно вырисовывается canvas? Amateur Events/DOM/Window 0 19.09.2012 10:45
Вопрос по canvas ale19 Общие вопросы Javascript 1 07.05.2011 18:12
Добавить на canvas еще один елемент greengarlic Общие вопросы Javascript 5 22.09.2010 10:16