0 / 0 / 0
Регистрация: 20.07.2016
Сообщений: 4
|
||||||
1 | ||||||
Очередная 2D игра-платформер27.07.2016, 00:56. Показов 14910. Ответов 4
Метки нет (Все метки)
Доброго времени суток, товарищи.
В общем: Я не программист, но захотелось самому склепать 2д игру, художник есть. Полистал некоторые туториалы и мало что нашёл, так что принимал решения исходя из своих знаний. Если кому интересно, я тут скину свои некоторые решения ниже. Прошу советов, возможно я что то вкорне делаю неверно. В основном пишу тут, т.к. столкнулся с проблемами, решения которых сам найти не смог. Начну с того, что решил.(или нашёл решение в нете). 1. Перемещение персонажа (соответственно и врагов по карте) - РЕШЕНО. 2. Анимация персонажей, врагов (спорно,но ..) - РЕШЕНО. 3. загрузка аудиофайлов в паскальАБС.нет(спорно, но...) - РЕШЕНО. .. а теперь понеслось: 4. Можно ли звуки загружать не построчно, а как картинки - в массив? вообще есть ли в паскале массив звуковых файлов? 5. Как бы мне сделать загрузку карты из текстовых файлов или просто прописать в паскале (буквенно, а к соответствующей букве приделать блок определённого размера, свойство которого я пропишу, и к этому блоку,т.е. букве смогу прописать картинку), 6. скроллинг карты - т.е. мир или уровень или карта -очень большой и выходит за рамки экрана. Как сделать так что бы экран перемещался вслед за персонажем по этой самой карте? 7. насколько знаю, цикл WHILE означает "пока, что...". т.е. он выполняется, пока не выполнится его условие или мы его не пропустим. Но при выполнении условия цикла игра не переходит к следующему. Она повисает. вопрос: как осуществить данный переход? (например смену уровней). 8. как привязать действие в цикле WHILE ко времени? как вообще объявить время? (смысл в том, что бы анимировать персонажа во времени, пока он стоит на месте, а так же, если долго стоит, то можно было бы приписать действия-анимацию). пока на вскидку, все вопросы, какие хотел узнать. Если что то забыл, обязательно ещё обращусь. игру хочу сделать сам, а не садиться на шею. Просто хотел узнать принципы действий, по которым буду двигаться дальше. пока выложу код, как я думаю решить проблему анимации и звука. игрок и враги будут соответственно прописываться через тип=запись и по анимации и фреймам я уже далеко ушёл. выкладываю то простое с чего начинал для передачи смысла.
0
|
27.07.2016, 00:56 | |
Ответы с готовыми решениями:
4
Игра платформер Игра-платформер на C++. Разобраться в причинах ошибок Очередная игра в слова 2D платформер |
5084 / 2655 / 2350
Регистрация: 10.12.2014
Сообщений: 10,047
|
|
27.07.2016, 08:15 | 2 |
Почему бы и нет?
Конечно можно! Ну, в принципе, они так примерно и делаются… Карты описываются в одном файле, а спрайты — выводятся уже на готовую карту. Можете посмотреть как это делается у старых Близардовских игр: starcraft или warcraft. Цикл while выполняется пока условие выполняется. Цикл repeat выполняется пока условие не выполнится. С этим вопросом в любой букварь по ЯП Паскаль… Вы про объекты что-нибудь слышали? Делается общий список объектов (персонажей и не только) и в цикле обрабатываете каждый из них… А там уже что они делать будут — это всё зависит от внутренних счётчиков и флагов. Это некоторые частные условия, которые решаются простыми булевыми выражениями.
0
|
6 / 6 / 0
Регистрация: 04.03.2015
Сообщений: 71
|
||||||||||||||||
29.07.2016, 12:22 | 3 | |||||||||||||||
Я сейчас тоже занят созданием чего-то подобного.
Проблему загрузки карт в игру в обход парсинга текстовых файлов я, например, хочу решить с помощью .resx файлов. Как мне только что объяснили в соседнем топике форума, чтобы передавать ресурсы из одной программы в другую, надо дать возможность обоим программам(создающей и читающей) обращаться к одной библиотеке с типами этих ресурсов. То есть создаем библиотеку с классами, которые используются в твоей карте(персонажи, мобы и т.д.). В моем примере это будет библиотека testClasses.dll
С помощью следующего кода мы создаем файл ресурсов из сделанной нами карты:
С помощью следующего кода мы можем распаковывать и использовать ресурсы:
1
|
0 / 0 / 0
Регистрация: 20.07.2016
Сообщений: 4
|
|
21.08.2016, 14:30 [ТС] | 5 |
по своему же списку:
1. Перемещение персонажа по карте - РЕШЕНО. 2. Анимация- РЕШЕНО. 3. загрузка аудиофайлов - РЕШЕНО. 4. загружать звуки в массив - НЕ РЕШЕНО 5. Загрузка карты из текстовых файлов - РЕШЕНО 6. скроллинг карты - РЕШЕНО 7. Повисание игры при смене уровней - НЕ РЕШЕНО 8. и пока основной - главный вопрос. сейчас скорость приложения зависит не от времени, а от скорости работы компьютера или тип того. если действия привязывать к таймерам, то вообще всё тупит по полчаса. можно ли это как то привязать ко времени? на примере кода желательно
0
|
21.08.2016, 14:30 | |
21.08.2016, 14:30 | |
Помогаю со студенческими работами здесь
5
Платформер Время на платформер Платформер с анимацией Платформер на С++ и SFML Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |