
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
12.11.2014, 10:05
|
|||
|---|---|---|---|
|
|||
Вопрос по отрисовке в canvas |
|||
|
#18+
Здравствуйте! Решил заняться обучением фишками html5, появился вопрос по canvas, решение нагуглиить не смог. Вопрос в чем: допустим у меня есть игровое поле с разными цветами (например, шахматная доска, или там, полосатое поле). Есть фигура, скажем круг.Если я захочу перемещать круг по этому полю, то мне придется же сначала очистить его и нарисовать с другими x и y. НО!!! Поле, на рисованое мной тогда заирается. То есть на шахматной доске на черном поле стоит фигура, при перемещение на черном поле остается эта "очищенная зона". и вообще если зацепит, то остается след.... Я не пойму или наверно не знаю приема, как не затирать уже нарисованные элементы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.11.2014, 14:32
|
|||
|---|---|---|---|
Вопрос по отрисовке в canvas |
|||
|
#18+
С канвасами не игрался, но напрашивается идея рисовать поле на одном слое, фигуры - на другом. Тогда можно будет не перерисовывать их, а двигать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.11.2014, 20:27
|
|||
|---|---|---|---|
|
|||
Вопрос по отрисовке в canvas |
|||
|
#18+
Вам либо нужна послойная организация канвасов -- на одном рисуем фигуры, на другом поле, или же вообще каждую фигуру в отдельный канвас в абсолютно позиционированном div, а там уж двигаем div. Либо же проникайтесь и образовывайтесь на тему рисования по маске, быстрым затираниями-перерисовкам нужной области, и пр. Это темы не конкретно канваса, но двухмерной графики в общем. А применительно к канвасу нужно всего лишь знать про globalCompositeOperation, которая собственно и делает рисование по маске. Первый способ в подавляющем большинстве случаев вам и нужен. Почему не "всегда" -- так это потому, что канвасы жрут память, и комплексная послойная организация множества канвасов (особенно больших канвасов) будет жрать ресурсы системы с невероятной скоростью. Второй способ значительно сложнее в освоении, но если всё правильно сделать -- будет очень даже быстрый и жрущий значительно меньше ресурсов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=22&mobile=1&tid=1446543]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
141ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 243ms |
| total: | 442ms |

| 0 / 0 |
