12.11.2014, 08:32
|
Новичок на форуме
|
|
Регистрация: 12.11.2014
Сообщений: 9
|
|
Вопрос по отрисовке в canvas
Здравствуйте!
Решил заняться обучением фишками html5, появился вопрос по canvas, решение нагуглиить не смог.
Вопрос в чем: допустим у меня есть игровое поле с разными цветами (например, шахматная доска, или там, полосатое поле). Есть фигура, скажем круг.Если я захочу перемещать круг по этому полю, то мне придется же сначала очистить его и нарисовать с другими x и y. НО!!! Поле, на
рисованое мной тогда заирается. То есть на шахматной доске на черном поле стоит фигура, при перемещение на черном поле остается эта "очищенная зона". и вообще если зацепит, то остается след.... Я не пойму или наверно не знаю приема, как не затирать уже нарисованные элементы
|
|
12.11.2014, 13:03
|
|
Профессор
|
|
Регистрация: 23.12.2013
Сообщений: 1,856
|
|
До перемещения круга тебе нужно очистить всю страницу, потом нарисовать игровое поле и только потом сам круг. И так на каждый кадр анимации.
|
|
12.11.2014, 13:14
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,584
|
|
Safort, о_О наркоман штоле?
uuushka, использовать два и более канвасов, один снизу с полем, второй сверху с фигурами. Также можно хранить состояния канваса.
__________________
29375, 35
|
|
12.11.2014, 13:54
|
Профессор
|
|
Регистрация: 21.12.2012
Сообщений: 869
|
|
Сообщение от Aetae
|
использовать два и более канвасов, один снизу с полем, второй сверху с фигурами. Также можно хранить состояния канваса.
|
Ага, для одного поля и пары фигурок сойдет.
А для сложных вещей вместо того чтоб писят канвасов один под другим втыкать ка бы так и делают, как Safort написал. Точнее на себя функцию перерисовки берут либы которые предоставляют объектную модель канвсу.
|
|
12.11.2014, 14:25
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,584
|
|
krasovsky, всё равно не всё поле перерисовывают, а только куски в которых что-либо изменилось. Это уже отдельные движки со сложной логикой, а вопрос был по работе с нативным канвасом.
__________________
29375, 35
|
|
12.11.2014, 16:10
|
|
Профессор
|
|
Регистрация: 07.03.2011
Сообщений: 1,138
|
|
подходы к рисованию бывают разные =)
и у каждого подхода есть недостатки и достоинства =)
подходы разные нужны !
подходы разные важны !
Статья на данную тему
|
|
12.11.2014, 18:30
|
|
Профессор
|
|
Регистрация: 23.12.2013
Сообщений: 1,856
|
|
Aetae,
Цитата:
|
Safort, о_О наркоман штоле?
|
товарищ майор, а зачем вы интересуетесь?)
По моему кое-кто заморачивается)
Вопрос был довольно ясный, я дал ответ, а всё остальное это всякие разные оптимизации и прочие плюхи, которые пока что автору не нужны. Будут нужны - спросит или найдёт в сети инфу.
|
|
12.11.2014, 21:37
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,584
|
|
Перерисовывать всю канву каждый кадр - антипатерн. Такому никого учить не след.
__________________
29375, 35
|
|
13.11.2014, 00:52
|
|
Профессор
|
|
Регистрация: 23.12.2013
Сообщений: 1,856
|
|
Да, но вот только я не видел, чтобы говорили, об этой перерисовке, как об антипаттерне.
|
|
|
|