![]() |
Ответ: Vivo
Цитата:
Цитата:
Код:
;если инфа о стенках только в 1 клетке хранится, а не в обеих смежных, то две проверки рубишь фишку? :) |
Ответ: Vivo
Изометрическая графика? лолчто? как будут выглядеть блоки и их копание? придется переделывать всю графу и крабов!
|
Ответ: Vivo
ну да, я начинаю все заново.
|
Ответ: Vivo
если бы я мог использовать массивы, то твой способ хорош. Но из-за большого мира я не могу массивы двухмерные исользовать - RАМ уйдет слищком много.
|
Ответ: Vivo
|
Ответ: Vivo
Все, проблема со стенками ушла. Но сразу за ней появилась новая. Вот я на радостях создал 9000(это не мем, а настоящее количество) тайлов земли. Рисую я, как образованный человек, лишь те что рядом с игроком. А результат то - 20 fps от силы. Так в чем же дело? Тайлы земельки - элементы типа, то есть создается 9000 элементов. И пожалуйста, мне интересно решение без использование чанков. Мне нужны эти 9000 тайлов сразу вместе. Потребуете код - кину. Но думаю можно и без него справится, доходчиво изъяснился я.
|
Ответ: Vivo
А вот и код:
Напомню, проблема в том, что при создании больше 9000 тайлов начинаются лаги, хотя они даже не рисуются, так что непонятно и почему так происходит. |
Ответ: Vivo
For перебор, степени и корни в цикле.
Игрок может и не видит, но эвм о них всех думает с заботой. |
Ответ: Vivo
1. Переходи на блитцмакс:)
2. Сам цикл с большим числом проходов напрягающ для слабых тачек. Извлечение корня выкинуть можно, оперируя везде квадратами расстояний. На счёт занимания массивом слишком большого объёма памяти: где у тебя хранятся экземпляры тайлов? в списке. а что такое список? это хрень, состоящая из узлов, каждый из которых хранит указатель на данные и на следующие за ними данные. А в массиве что хранится? те же самые указатели. Так что жрать памяти должно примерно одинаково (поправьте знающие люди, если не прав), но работать с массивами в разы удобнее. :) 3. R1 R2 для размеров экрана не информативно (для меня) 4. Для поля 1000х1000 твоя прога заняла 42 мб оперативки. |
Ответ: Vivo
а на сколько макс сильнее в плане перебора For each? Я и сам об этом думал, он как ни как и на ОП язык тянет, но классы меня сильно пугают:)
Но точно как-то делают без чанков. В Террарии чанков нету вроде, а там значительно больше чем 9000 блоков(в 50 раз как минимум). Также старушка Diablo 2 скорее всего без чанков была, тоже с огромными картами. Видимо у них есть тайные знания... |
Ответ: Vivo
Возможно, большие поля делят на сектора, и далёкие сектора отсекают. И подгружают их по мере надобности. Это мои догадки лишь.
Про блитцмакс: как только ты поймёшь что такое класс, уже не захочешь без них программить.:) Вот ссылка на мануал по максу на русском, почитай на досуге, проведи аналогии с блитц3д: Wave’s~ BlitzMax Tutorial ~ 2004 - 7 Jan ~ Version 5 |
Ответ: Vivo
А и почему R1 и R2 не информативны? Вторая и третья строчка описывают что это за переменные. Я решил не делать меню с выбором разрешений, потому что всегда найдутся люди разрешения которых в списке нету, так что пусть пока играют с максимальным разрешением монитора.
Кстати, чанк и значит сектор:) |
Ответ: Vivo
> А и почему R1 и R2 не информативны?
х их з. не бери в голову. а что если делать поля 100х100, но не склеивать их на лету, а делать переход "на новый экран", как у тебя было изначально? |
Ответ: Vivo
Да, наверное это единственный выход. Но пример Diablo 2 меня насторожил. Карты там большие, особенно на те времена, а ведь игра шла и не лагала. Может блитц3Д безнадежен?
|
Ответ: Vivo
Цитата:
Для 2д блитцмакс лучше, это всё что я могу сказать про средство. Почитай в инете на счёт больших карт, и выбери решение подходящее; ну или сам придумай. |
Часовой пояс GMT +4, время: 01:01. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot