![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#381 | ||
Участник клуба
Регистрация: 06.03.2009
Сообщений: 1,346
|
![]() Цитата:
Цитата:
Как подвинуть камеру? - просто вычитаем из полученной координаты объекта координату камеры. |
||
![]() |
![]() |
![]() |
#382 |
Участник клуба
Регистрация: 29.01.2008
Сообщений: 1,039
|
![]()
(130.000; 0) - а что с такой координатой делать или даже если ещё больше значение будет? Использовать тип для координат LongInt просто? А если вообще не записывать объекты все подряд, а только те, которые есть на карте?
Ну, у меня сейчас вот так отрисовывается: Код:
Код:
Последний раз редактировалось Манжосов Денис :); 26.11.2009 в 18:35. |
![]() |
![]() |
![]() |
#383 | |
Участник клуба
Регистрация: 06.03.2009
Сообщений: 1,346
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#384 |
Участник клуба
Регистрация: 29.01.2008
Сообщений: 1,039
|
![]()
Так...Внимательно почитай мой пост первый, когда я только спросил как реализовать систему хранения файла отличную от моей в старой игре! Вот тип
Код:
Код:
Блин, я от ответов только путаюсь сильней ![]() И как мне сделать игровую камеру, чтобы она рисовала объекты от начала экрана? Последний раз редактировалось Манжосов Денис :); 26.11.2009 в 19:05. |
![]() |
![]() |
![]() |
#385 | |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]()
Я же напечатал:
Цитата:
Карта не измеряется в экранных пикселях, ...клетка - это типичное название элементарной поверхности в игре. В математическом виде, клетка - одна ячейка матрицы, у которой есть координата i и j, номера i в матрице располагаются по столбцам, j - по строкам. Пример, вот карта игры 7х7: j,i 1 2 3 4 5 6 7 1 0 0 0 0 0 0 0 2 0 3 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 2 0 0 0 5 0 0 0 0 0 0 0 6 0 1 0 0 0 0 0 7 0 0 0 0 0 9 0 ...так выглядит математическая модель карты. А вот так она записана в файле, теоретически: 770000000030000000000000002000000000001000000000090 ...разумеется в файле в виде символов кодовой страницы. Если у вас размер тайла (одной элементарной клетки, ее текстуры) 50х50 пикселей на экране, то полная графическая поверхность будет 350х350 пикселей. Вот так хранить карту довольно рационально. Почему столько нулей и зачем их хранить? ...вспомним, что поверхность просто усеяна текстурами, и причем разными, ...записать пропуск проще, чем строить систему списка, к тому же она не сожмется потом, а последовательный массив сожмется, и довольно прилично.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
|
![]() |
![]() |
![]() |
#386 |
Участник клуба
Регистрация: 29.01.2008
Сообщений: 1,039
|
![]()
Beermonza, Вадим, вы мне говорите, о том, о чём я уже знаю. У меня всё это в игре реализовано. Вопрос был в другом, ну да ладно, буду сам находить ответ. Спасибо.
|
![]() |
![]() |
![]() |
#387 | |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]() Цитата:
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Последний раз редактировалось Beermonza; 26.11.2009 в 19:19. |
|
![]() |
![]() |
![]() |
#388 | |
PHP, Delphi
Форумчанин
Регистрация: 07.05.2008
Сообщений: 388
|
![]() Цитата:
Код:
![]() Последний раз редактировалось apromix; 27.11.2009 в 14:00. Причина: :) |
|
![]() |
![]() |
![]() |
#389 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]()
Мы все говорим об одной и той же математической модели карты - матрице. Но, математическая матрица содержит в своих ячейках по определению числа - в данном случае индексы. Так намного проще обращаться к одним и тем же объектам, и записывать в файл только эти индексы, или по иному - код объекта, однобайтный или составной.
Размер файла уменьшается в разы, ...кроме того мы экономим ОЗУ, храня каждый объект в единственном экземпляре. Если потребуется изменить объект "на лету", то достаточно сменить его ресурс в банке, один раз, не бегая по карте и не меняя его во всех клетках карты, где он находится.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
![]() |
![]() |
![]() |
#390 |
Участник клуба
Регистрация: 29.01.2008
Сообщений: 1,039
|
![]()
В моём проекте есть массив двумерный x на y. Ячейка несёт в себе значение текстуры, которую нужно вывести на экран. Есть массив текстур:
Код:
Beermonza, а как у Вас в игре хранится файл карты? Объекты можно ставить, где угодно или есть наименьший размер ячейки, к примеру 10? Последний раз редактировалось Beermonza; 27.11.2009 в 15:38. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Хорошие уроки | Render | Общие вопросы Delphi | 9 | 15.09.2012 07:13 |
Акцесс вопросы новичков | Yaga | Помощь студентам | 4 | 02.06.2008 00:16 |
Учебники для новичков в програмировании | Рар | Общие вопросы Delphi | 6 | 08.01.2007 08:07 |