Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.04.2018, 04:10
Профессор
Отправить личное сообщение для Роман Андреевич Посмотреть профиль Найти все сообщения от Роман Андреевич
 
Регистрация: 12.08.2016
Сообщений: 296

Разработка игры: отрисовка карты - CANVAS vs SVG
Коллеги, доброго времени суток, собственно вопрос исходит из темы.

Работаю надо разработкой игры. И процесс остановился на рендере карты локации. Карта представляет собой набор объектов, каждый отвечает за свой участок, например "завод", "стадион" (пример) и так далее. Соответственно каждый объект имеет свое изображение, координаты, по сценарию изображения делаются в формате svg, пример:

const map_objects = {

factory: {
name: '/*some name*/',
image: '<svg>.......</svg>',
coords: /*.......*/
},
shop: {
//...

},
gym: {
//...

}

// other ....
}

При инициализации игры, из объектов таких, собирается карта локации. Карту масштабируется и можно ее двигать. С этим нет проблем.
Вопрос собственно в том, если делать через canvas, то по сути будет вставка картинок svg внутрь и несколько слоев canvas. Но ведь можно собрать карту и просто сгенерировав элемент например <gamemap></gamemap> в него вставить объекты и получится то же самое. При том у svg больше возможностей обработки событий, интерактивность ...

Вопрос производительности. При росте игры будет и увеличиваться число объектов.

Что будет быстрее отрисовка в canvas или сборка большой SVG из маленьких???
Ответить с цитированием
  #2 (permalink)  
Старый 04.05.2018, 09:41
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,420

Сообщение от Роман Андреевич
несколько слоев canvas
Обычно один слой.
Сообщение от Роман Андреевич
ведь можно собрать карту и просто сгенерировав элемент
Например из div можно тоже собрать карту.
Сообщение от Роман Андреевич
у svg больше возможностей обработки событий, интерактивность
У обычных элементов не меньше, а canvas при желании можно сделать интерактивным.
Сообщение от Роман Андреевич
отрисовка в canvas или сборка большой SVG из маленьких?
Вообще помимо SVG и Canvas есть еще CSS. Используйте что вам больше нравится, будет тормозить перепишите в Canvas)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
object (svg) сквозь canvas Герасим (X)HTML/CSS 0 04.12.2017 12:29
Можно ли использовать анимацию svg внутри canvas? Negotiant Общие вопросы Javascript 0 30.08.2017 10:56
Отрисовка сетки на canvas и событие по клику BR4IN Общие вопросы Javascript 0 05.03.2017 13:05
Петербург: Javascript + Canvas. Разработчик для портирования игры. В офис. waxattack Работа 0 21.07.2016 14:06
Простой графический движок: SVG vs Canvas stryaponoff Общие вопросы Javascript 5 29.06.2010 15:59