Добрый день!
Я занялся разработкой игры и столкнулся с такими проблемами:
1) Как реализовать загрузку игрового поля не через компонент GE_GridSpace, а через компонент StrList вместе с использованием GE_GridSpace (чтобы поле хранилось не в файле, а в списке строк).
2) Как заставить спрайты, вызванные таким путём, двигаться?
Этот топик читают: Гость
Ответов: 54
Рейтинг: 1
|
|||
карма: 1 |
|
Ответов: 2290
Рейтинг: 678
|
|||
BogdashkaM, смотрите в схемах на форуме, есть там ответы на ваши вопросы. Или выкладывайте схему, а то разговор будет долгий.
1) GE_SpriteArray 2) GE_SpriteMove |
|||
карма: 11 |
|
Ответов: 54
Рейтинг: 1
|
|||
sla8a, можеш хотябы пример привести?
А то у меня не получается. |
|||
карма: 1 |
|
Ответов: 2290
Рейтинг: 678
|
|||
Привел пример: code_27771.txt
|
|||
карма: 11 |
| ||
файлы: 1 | code_27771.txt [8.4KB] [244] |
Ответов: 54
Рейтинг: 1
|
|||
Всё нормально, но когда закрываеш программу, вылазит ошибка.
|
|||
карма: 1 |
|
Ответов: 3889
Рейтинг: 362
|
|||
Ошибка выскакивает в библиотеке System, можно предположить, что где-то намудрено с указателями или потоками (деструктор срабатывает слишком рано или наоборот - позно, пытаясь удалить то, чего нет).
|
|||
карма: 1 |
|
Разработчик
Ответов: 26170
Рейтинг: 2127
|
|||
Ошибка кроется вот здесь
в компоненте hiGE_SpriteArray ------------ Дoбавленo в 23.58: Решение вопроса -- отправьте hiGE_SpriteArray на передний план, чтобы он уничтожался последним, и ошибка исчезнет |
|||
карма: 22 |
| ||
Голосовали: | sla8a |
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 2 раз(а), последний 2025-01-09 16:41:48 |
|||
карма: 0 |
|
Ответов: 2290
Рейтинг: 678
|
|||
BogdashkaM писал(а): когда закрываеш программу, вылазит ошибкаА я закрывал кнопкой остановить в HiAsm и не заметил. А что хоть за игру планируешь сделать (если не секрет)? |
|||
карма: 11 |
|
Ответов: 54
Рейтинг: 1
|
|||
sla8a, Вот ссылка на игру. Правда, хотелось бы еще каких-то врагов добавить, которые движутся горизонтально или вертикально туда-сюда! Поможешь решить? Если что: http://vk.com/bogdan_marchenko Я ВК
Может ещё идей подкинеш! |
|||
карма: 1 |
|
Ответов: 2290
Рейтинг: 678
|
|||
BogdashkaM, сделать такую игру (по твоей ссылки выше) на GameEngine не сложно.
Вот посмотри схемы которые тебе помогут: В этой игре посмотри управления мышкой в игре и реакцию на блоки финиша: Загони яблоко! (автор Ravilr) Тут можешь посмотреть загрузку карты из списка строк: GE_Ball (автор Assasin) Вот еще не сложный пример игры на GameEngine: Зеркала (автор kamakama) Эта игра сделана не на GameIngine но по теме: [url= http://forum.hiasm.com/forum.html?q=3&p=192982#p192982]Доведи мышку (автор pc-master)[/url] Так что начинай делать, будут вопросы задавай. |
|||
карма: 11 |
|
Ответов: 54
Рейтинг: 1
|
|||
sla8a писал(а): Тут можешь посмотреть загрузку карты из списка строкВот эту игру я видел, но я не смог понять, как оно сделано. Можешь схему дать такого поля (из списка строк)? ------------ Дoбавленo в 20.22: Сделал загрузку поля из списка строк. Работало. Но потом что-то сделал не так и выдаёт ошибку. Вот код:
Как это исправить? |
|||
карма: 1 |
|
Ответов: 3889
Рейтинг: 362
|
|||
Ошибка при работе с указателями в 146-й строке GE_GridSpaceObject, точнее не скажу, дебаггера нет.
|
|||
карма: 1 |
|
Ответов: 2290
Рейтинг: 678
|
|||
BogdashkaM писал(а): о потом что-то сделал не так и выдаёт ошибку.BogdashkaM, элементы из вкладки GameEngine работают как Менеджеры. Ошибку у тебя выдает потому что в свойствах (GameScene, Sprites) элемента GE_GridSpace установлены значения несуществующих менеджеров (в схеме их нет). Да и ты подаешь на точку doSetCell значения X,Y и ID, так твои ID элементу не знакомы (не присвоены эти ID спрайтам в схеме). А для разбивания строки посимвольно пользуйся Str_Enum. Вот так:
|
|||
карма: 11 |
|
Ответов: 54
Рейтинг: 1
|
|||
Нашел то самое "что-то".
Перед тем, как записывать в поле новое значение для координат, нужно открыть какой-то файл с уровнем, причём так, чтобы размеры соответствовали размерам поля уровней. sla8a, можеш дать схему загрузки поля из списка строк без использования GE_GridSpace? |
|||
карма: 1 |
|
15