|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
13.01.2011, 18:13 | #1 |
Пользователь
Регистрация: 15.08.2010
Сообщений: 24
|
Проблемы со считыванием игровой карты с файла
Привет, друзья!
У меня, как новичка, не знакомого особо с программированием игр, возникли непредвиденные трудности. Я внимательно просмотрел тему "Уроки по созданию игр для новичков", решил написать собственную игру, рисуется у меня все на канве. Уровень состоит из тайлов, считываемых с файла 1.txt. Игровая карта у меня - array [0..23, 0..23] of TGameMap, где: Код:
Код:
Я сначала решил исправить это довольно-таки китайским способом: в TGameMap добавил TGId, и каждому типу местности присваивал номерок, его уже - в Сase. Cнова ошибка! Код:
Помогите, пожалуйста! |
13.01.2011, 18:40 | #2 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Для того чтобы записать и считать правильно данные с файла вовсе не обязательно отделять каждую виртуальную клетку пробелом. Достаточно в заголовке файла записать размеры карты в клетках по-X и по-Y. Эти данные будет использовать двойной цикл. В теле цикла нужны две подряд идущие команды Read. Переменные, в которые сохраняются оба байта должны быть типа Char (AnsiChar). Следом идет операция загрузки картинки по сборному пути в банк текстур, по первой пустой его ячейке, а в массив карты идет индекс этой ячейки по координатам цикла. Далее цикл переходит на следующие 2 байта в файле, считывает код, загружает картинку, ищет следующую свободную ячейку в банке текстур, сохраняет там, индекс новой текстуры записывает в массив карты по координатам цикла. Операция продолжается пока циклы не закончат считать.
Попробуйте понять, и накидать код сюда, ...если будут проблемы, попробую найти время и помочь.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
13.01.2011, 18:46 | #3 |
Пользователь
Регистрация: 15.08.2010
Сообщений: 24
|
Хорошо, сейчас перелопачу код)
|
13.01.2011, 19:07 | #4 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Тут все есть для создания правильной структуры: http://www.programmersforum.ru/showt...t=1206&page=27 ...посты #263 - 268.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
13.01.2011, 19:36 | #5 |
Пользователь
Регистрация: 15.08.2010
Сообщений: 24
|
все, 45 минут, исправил.
Ваш пост насчет правильной структуры только сейчас обнаружил, дописал так: Код:
Спасибо, Beermonza, все работает. Последний раз редактировалось Enlightened; 13.01.2011 в 19:38. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как сам лабиринт ввести не как постоянную как тут а считыванием с файла | Голем | Помощь студентам | 10 | 17.07.2010 18:07 |
Проблемы с отображением содержимого res файла | Gamst | Общие вопросы Delphi | 1 | 26.05.2010 16:50 |
проблемы с открытием файла | Sparky | Общие вопросы C/C++ | 1 | 09.04.2010 19:46 |
Проблемы с PChar (Считывание из ini файла) | Altera | Общие вопросы Delphi | 9 | 18.12.2009 20:27 |
DBGrid. Проблема со считыванием инфы из столбца. | Teenager | БД в Delphi | 6 | 18.01.2008 15:33 |