Привет, провожу мысленный эксперимент на тему того, что случится, если попытаться сделать 2D игру без Canvas, а исключительно на div'ах.
Все примеры разработки простых игрушек в обязательном порядке включают в себя использование canvas - всевозможные змейки, flappy bird'ы, пинг-понги начинаются с создания canvas. А что, если сделать их просто "обычной версткой"? Какие минусы?
От себя добавлю, что с канвасом работал в рамках конкурса телеги на создание графика - помню, был гемор с координатами. Ну и полное отсутствие css, любой стиль нужно было задавать через js построчно. Знаю, что многие выполнили эту задачу используя svg и, хоть там и были свои сложности, результат получился лучше.
А в плане разработки игр делал разве что шахматы, обошлось без канваса, но там и рендерить, разумеется, особо нечего.
ты по сути уже сам ответил на свой вопрос. как только дивов, которые нужно будет двигать и анимировать станет условно больше 100 - фризы и лаги не заставят себя долго ждать
xmoonlight, я помню просто ради фана делал что-то на подобии агарио. просто сервак и каждый управляет своим кругом. когда около 10 кругов двигались и все это перерисовывалось и перерендерилось - начинало все лагать, пока не перевел на канвас
Ну ходить тоже можно сразу и ногами и руками и есть можно не ложкой, а руками. Только вот видите ли, это не удобно это медленно, так никто не делает. Таких глупых вопросов даже не должно возникать, или по вашему все эти интеграции в браузер флешей, юнити, веб жиэлей это всё чушь собачья, и можно было всегда создавать игры на html элементах? Гемор с координатами? Координаты что у html что у canvas идут одинаково слева направо и сверху вниз, вот если бы вы на open gl создавали то да, там снизу вверх и это поначалу очень путает. Полное отсутствие css это вообще уникально....
В общем могу сказать одно, заниматься такими вещами абсолютно бесполезно, пустая трата времени, лучше бы на канвасе практиковались, ваши знания в создании ""игр"" на хтмл никому не нужны, а вот в canvas еще куда ни шло. Вы ищете вариант, как бы попроще создать, чтобы и через ксс все оформить и писать особо ничего не нужно было, это плохо и путь к деградации, таким образом вы можете придти только к созданию игра через какие-нибудь конструкторы где нужно только кнопочки жать, но разработчиком такого конструктора никогда не станете.
iBird Rose, xmoonlight,
ну 50/50. В зависимости от мощности ПК и скорости передвижения объектов. Точно больше 100 выдержит но и меньше 100к(опять же от мощности ПК). xmoonlight, Держит 100к просто на странице или все 100к перемещаются ? есть ссылка ?
Здесь сравнить можно.У меня на достаточно мощном ПК есть разница между 1-ым уровнем и 2-ым.
1-ый уровень размер сцены примерно в 4 раза больше. Там больше объектов и есть враги(пчелы и рыбы), которые так же перемещаются.
2-ой уровень размер сцены равен примерно размеру экрана и видно отличие перемещение и "прыжок" персонажа.
P.S. на 2-ой уровень можно сразу попасть есть пройти в оранжевый квадрат.
На дивах - в общем итоге вы получаете DOM-дерево. А DOM-деревья очень медленные, как браузер не оптимизируй. Они тащат за собой много много всякого легаси и много много не нужных для графики вещей.
У них другое предназначение.
Другое дело канвас, где все создано для быстрой отрисовки графики.
Чем больше числа и чем слабее компьютер - тем заметнее разница.
Вообще никаких проблем.
На дивах даже 3D action есть через css 3d transform!
Главное - клонировать, если нужны подобные объекты (div'ы) и следить за асинхронностью исполнения кода везде, где это возможно.
(+"прямые руки")
Удачи! я как-то ландшафт (импровезированный) создавал... работала отрисовка через цикл...
Как только запускался рендер - висло всё... проц 100%, диск 100%, оперативка 100% !
После третьего раза он не включался и пришлось менять материнку... Возможно совпадение!