Игорь Николаевич: В зависимости от того, как представлены уровни "ячейки" могут подразумевать совершенно разную реализацию.
Самое банальное, делишь всю карту на одинаковые квадраты и в каждом "квадрате" хранишь список объектов, которые в него частично или полностью попадают (сравнивая габариты объекта с габаритами "квадрата"). Так же можешь погуглить про BSP деревья и многое другое... Но банальное разделение на квадраты проще всего реализовать. При условии, что у тебя карта полностью сформирована и сразу вся подгружается, то нужный "квадрат" получается из координат объекта, даже искать ничего не нужно. Если уровень динамически подгружается, то чуть сложнее реализовать.
BaryhaLASH: Есть образы, оптимизированные для установки с флешки/диска. В виртуалке их невозможно загрузить, потому что нужны физические адреса файлов, а их нет. Если в описании образа написано, что он только для флэшек, то он только для флэшек.
Ульрих: После установки Guest Additional и DirectX (через защищённый режим), работает вполне сносно. Как раз на уровне тех компьютеров, которые были в год выпуска игры.) Главное не жадничать с оперативкой и процессорами для виртуалки.
Torvald3d: Тут блокирование в смысле разделения на блоки, для локализации данных в кэше. Например, картинка 1000*1000 пикселей разрезается на квадраты по 100*100. И для пяти слоёв берутся соответствующие квадратики, лежащие друг над другом. Почти все стандартные алгоритмы основаны на разделении цельной картинки на фрагменты, чтобы оптимизировать их размещение в памяти. Кстати, это хорошо видно на сложных фильтрах, когда картинка по кусочкам обновляется.
Я изучал SDK для Photoshop CS2. Сейчас может и поменялось что-то, но вряд ли существенно.
Neonoviiwolf: Спасибо! Непосредственно для анимации персонажей мне программа Spriter приглянулась. Тем более, что почти бесплатная. Там тоже и скелетная анимация и прочее. А вот всё скомпоновать... Попробую что-нибудь из adobe.
CC и AnimeStudio для векторной анимации, как я понял по ютубу. Всё очень круто, но мне нужно аналогичное для спрайтовой графики.)
After Effects может и подходит, на ютубе в основном на спецэффекты упор сделан, но он какой-то излишне монструозный. Это как стрельба из пушки по тараканам... И я пока не понял, можно ли анимированные гифки в нём использовать или наборы кадров(спрайтшиты или отдельные файлы для каждого кадра), без их переключения вручную на каждом кадре анимации.
MisterN: Ну да, всё зависит от вариантов использования. Под мои нужны организация по папкам оказалась самой эффективной.
Кстати, в каждой папке лежит файл cover.jpg и плеер обложку показывает при выборе папки. Разумеется, только при переключении вручную, поиск по картинке не сделать.
Николай М: Да, нотификация должна появиться. Потом уже в маркете подтвердить обновление и подтвердить новый список разрешений. Т.е. лишь небольшое неудобство при обновлении.
abcd0x00: Всё, до меня дошло. Я описал ситуацию с перегруженным оператором, там ленивые вычисления не работают, потому что это уже совсем не то, на что похоже внешне.
devalone: В принципе, разные материалы не проблема. Если разбивать поверхность не на треугольники, а на тетраэдры, то можно даже вокруг разбрасывать реальные куски земли. Типа как в Red Faction. Т.е. "копаемые" материалы будут как бы твёрдотельными моделями.
AtomKrieg: Без полного определения типа невозможно узнать размер объекта, так что и рекурсии в принципе бы не случилось, потому что нельзя вставить неизвестно что. Рекурсия это уже вторая проблема, которая не успевает возникнуть, т.к. в первом классе ещё неизвестно определение второго класса. Думаю, в шаблонных классах проблема получилась бы именно с рекурсией, но в не шаблонных классах до рекурсивного определения даже не дойдёт.
Therapyx: предварительное объявление это как подсказка компоновщику, что в этом месте будет использоваться объект указанного класса, но кроме названия этого класса ничего неизвестно. Ни методов, ни размера объекта. Поэтому можно лишь создать указатель или ссылку, но не объект. А в файле реализации необходимо подключить инклюд, чтобы было полное определение класса, чтобы можно было обращаться к методам. Это почти то же самое, что предварительное объявление функции. Сообщаете, что "где-то" есть такая-то функция. Но пока в этом "кое-где" её не реализуете, использовать её будет нельзя.
Therapyx: Чтобы избежать зависимость от порядка следования инклюдов, проще в каждом из двух файлов предварительное объявление сделать. Это особенно заметным будет, когда классов будет не два, а несколько десятков и инклюдящихся в куче других файлов.
Therapyx: "Получается работая с указателями, деллать так можно?"
Чтобы стало можно, нужно сделать предварительное объявление классов. Просто написать "class Cellphone;" перед классов SimCard и можно будет создавать указатель на объект класса Cellphone. И "class SimCard;" перед классом CellPhone. Инклюды инклюдить всё-равно нужно, но при такой записи будет компилировать.
Самое банальное, делишь всю карту на одинаковые квадраты и в каждом "квадрате" хранишь список объектов, которые в него частично или полностью попадают (сравнивая габариты объекта с габаритами "квадрата"). Так же можешь погуглить про BSP деревья и многое другое... Но банальное разделение на квадраты проще всего реализовать. При условии, что у тебя карта полностью сформирована и сразу вся подгружается, то нужный "квадрат" получается из координат объекта, даже искать ничего не нужно. Если уровень динамически подгружается, то чуть сложнее реализовать.