Game Maker - создание игр | HellRoom Games
Июнь 19, 2025, 00:56:07 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   Game Maker Помощь Правила форума Поиск Календарь Войти Регистрация  
Страниц: [1] 2   Вниз
  Печать  
Автор Тема: бесконечная комната  (Прочитано 13801 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Кирюха
Участник
****

Репутация: 4
Offline Offline

Пол: Мужской
API: GameMaker Studio Pro
Деятельность: спрайтер, начинающий гейм-дизайнер, программист gml.
Сообщений: 113


Пиксель арт - это искусство


« : Июль 22, 2011, 07:42:24 »

всем ещё раз привет! буду краток: как сделать комнату которая бы не имела конца? всмысле её конец сразу же соединялся с началом?
Записан

работаю над: Bloble, Ninja Runner
DarGen
Участник
****

Репутация: 38
Offline Offline

Пол: Мужской
Награды:
За постоянность!
API: GameMaker Studio Standard
Деятельность: Pixel-Art, GML, PHP
Сообщений: 188



WWW
« Ответ #1 : Июль 22, 2011, 08:19:47 »

Чтобы начиналась занова поставь в Outside Room такой либ (на картинке), и поставь in both directions. И всё.

в.JPG
бесконечная комната
* в.JPG (25.37 Кб, 296x363 - просмотрено 1711 раз.)
Записан

Выход есть всегда(с) Dargen Мой сайтМой паблик
Alcatraz
Flight Dream Studio
«Старожил форума»
******

Репутация: 392
Offline Offline

Пол: Мужской
Награды:
3000 сообщений!За постоянность! [100 дней на форуме]За лояльность! [+300 репутации]Знаток Unity 3D3 место в конкурсе: Адекватные игры #2 [Стимпанк]2 место за игру: Dead Night (Конкурс Золотые Руки)...
API: Unity 3D
Деятельность: C#, C++, UNITY3D
Сообщений: 3392


http://vk.com/alcatraz_rus


WWW
« Ответ #2 : Июль 22, 2011, 08:26:37 »

юзаем поиск!
http://forum.hellroom.ru/index.php?topic=1243.0
Записан

DarGen
Участник
****

Репутация: 38
Offline Offline

Пол: Мужской
Награды:
За постоянность!
API: GameMaker Studio Standard
Деятельность: Pixel-Art, GML, PHP
Сообщений: 188



WWW
« Ответ #3 : Июль 22, 2011, 08:30:48 »

}{otь бы спасибо сказал
Записан

Выход есть всегда(с) Dargen Мой сайтМой паблик
Кирюха
Участник
****

Репутация: 4
Offline Offline

Пол: Мужской
API: GameMaker Studio Pro
Деятельность: спрайтер, начинающий гейм-дизайнер, программист gml.
Сообщений: 113


Пиксель арт - это искусство


« Ответ #4 : Июль 22, 2011, 10:56:01 »

спасибо! ;D

Добавлено: Июль 24, 2011, 10:14:49
хммм работать то работает, но вот вид мешает всё время когда я приближаюсь к краю комнаты он упираеться туда. надо бы как нибудь это устранить  :(
« Последнее редактирование: Июль 24, 2011, 10:14:49 от Кирюха » Записан

работаю над: Bloble, Ninja Runner
Dmi7ry
Гл. Администратор
*

Репутация: 1379
Offline Offline

Пол: Мужской
Награды:
5000 сообщений!За постоянность! [200 дней на форуме]За лояльность! [+1000 репутации]За помощь в развитии форума!Знаток Game Maker!За помощь новичкам!
API: GameMaker Studio Master
Деятельность: Code, design
Сообщений: 6626



WWW
« Ответ #5 : Июль 24, 2011, 19:17:03 »

Почитав тему, меня запутал концепт FanTom'а. Провозился пол дня, но когда сделал, то выяснил, что GM безбожно глючит при такой реализации: почему-то человечек всегда оказывался ниже одного из видов, хотя принудительно ставил ему вывод в последнюю очередь. Более того, при включении нового вида было на мгновение пропадание информации там, где должен появиться новый вид (upd: ну да, собственно, ведь спрайт не может одновременно показываться в двух местах... Хотя, в принципе, можно это обойти). Понятно, что это никуда не годилось. Тогда пришла в голову другая идея. Всё оказалось довольно просто...

комнату делаем немного больше, чем нужно
Например, наша комната:

1234567890
qwertyuiop
asdfghjklm
zxcvbnmBNM


Делаем вокруг неё повторение противоположных краёв:
NMzxcvbnmBNMzx
90123456789012
opqwertyuiopqw
lmasdfghjklmas
NMzxcvbnmBNMzx
90123456789012


А дальше просто задаём проверку координат.
Например, если ширина комнаты 640, а высота 480
Код:
if x<160 x=480-4
if x>480 x=160+4
if y<160 y=320-4
if y>320 y=160+4

+4 или -4 - здесь должен стоять тот же шаг, что и в изменении координат при нажатии на клавиши управления героем.

Ну, и, конечно же, делаем вид, который привязываем к игроку.


Добавлено: Июль 25, 2011, 07:51:20
Добавил вариант с более понятным фоном (room_loop3)

* room_loop.gmk (18.81 Кб - загружено 514 раз.)
* room_loop3.gmk (20.97 Кб - загружено 575 раз.)
Записан

- А какой, собственно, командой процессора колобок ест черта?
- Командой EAT...
Справка и FAQ в правом верхнем углу...
TheValeev
Посетитель
**

Репутация: 4
Offline Offline

Пол: Мужской
API: Game Maker 8.0 Pro
Сообщений: 21


« Ответ #6 : Март 26, 2012, 12:32:12 »

Всем привет!
Dmi7ry!
А возможен твой вариант в игре с деактивацией объектов?
Записан
Dmi7ry
Гл. Администратор
*

Репутация: 1379
Offline Offline

Пол: Мужской
Награды:
5000 сообщений!За постоянность! [200 дней на форуме]За лояльность! [+1000 репутации]За помощь в развитии форума!Знаток Game Maker!За помощь новичкам!
API: GameMaker Studio Master
Деятельность: Code, design
Сообщений: 6626



WWW
« Ответ #7 : Март 26, 2012, 14:47:36 »

Это индивидуально для каждого конкретного случая. Где-то можно, где-то нет.
Записан

- А какой, собственно, командой процессора колобок ест черта?
- Командой EAT...
Справка и FAQ в правом верхнем углу...
TheValeev
Посетитель
**

Репутация: 4
Offline Offline

Пол: Мужской
API: Game Maker 8.0 Pro
Сообщений: 21


« Ответ #8 : Июль 06, 2013, 11:57:28 »

Это индивидуально для каждого конкретного случая. Где-то можно, где-то нет.
Позвольте рассмотреть мой случай. Допустим, 2D гонки. Построен уровень по вашему случаю.
При переходе из конца комнаты в начало видно как деактивированные объекты
активируются, и бэкграунд скачет. Что делать?

Алсо, можно построить бесконечную комнату постоянным пересозданием всех объектов через
опр. расстояние (например, ширина комнаты)?
Записан
Dmi7ry
Гл. Администратор
*

Репутация: 1379
Offline Offline

Пол: Мужской
Награды:
5000 сообщений!За постоянность! [200 дней на форуме]За лояльность! [+1000 репутации]За помощь в развитии форума!Знаток Game Maker!За помощь новичкам!
API: GameMaker Studio Master
Деятельность: Code, design
Сообщений: 6626



WWW
« Ответ #9 : Июль 06, 2013, 12:39:51 »

Можно деактивировать не все объекты после перехода.
Например, если расстояние от объекта до границы меньше, чем размер вида, то эти объекты также переносятся в начало комнаты, вместе с ГГ, с точно таким же смещением относительно ГГ.

Чтобы "бэкграунд не скакал", его нужно зацикливать особым образом, о чём написано ранее.

Собственно, где-то я делал пример с врагами в такой "бесконечной" комнате, но сейчас не нашел его.
Смысл такой, что у объектов заводил виртуальные координаты, которые и изменялись. А вывод на экран производился в зависимости от того, попадают ли виртуальные координаты в виртуальный вид.
По сути, это своя реализация видов.
Записан

- А какой, собственно, командой процессора колобок ест черта?
- Командой EAT...
Справка и FAQ в правом верхнем углу...
TheValeev
Посетитель
**

Репутация: 4
Offline Offline

Пол: Мужской
API: Game Maker 8.0 Pro
Сообщений: 21


« Ответ #10 : Июль 06, 2013, 19:59:04 »

Чтобы "бэкграунд не скакал", его нужно зацикливать особым образом, о чём написано ранее.
Если вы имеете в виду пример room_loop3, то, к сожалению, он не подходит для меня.
У меня реализирован так называемый параллакс с функциями view_xview и view_yview.
Можно ли их подстроить под бесконечную комнату?
Записан
Dmi7ry
Гл. Администратор
*

Репутация: 1379
Offline Offline

Пол: Мужской
Награды:
5000 сообщений!За постоянность! [200 дней на форуме]За лояльность! [+1000 репутации]За помощь в развитии форума!Знаток Game Maker!За помощь новичкам!
API: GameMaker Studio Master
Деятельность: Code, design
Сообщений: 6626



WWW
« Ответ #11 : Июль 06, 2013, 20:51:06 »

Теоретически - можно, но может быть сложно в реализации. Зависит от того, как это у вас реализовано и как это у вас выглядит.
Записан

- А какой, собственно, командой процессора колобок ест черта?
- Командой EAT...
Справка и FAQ в правом верхнем углу...
TheValeev
Посетитель
**

Репутация: 4
Offline Offline

Пол: Мужской
API: Game Maker 8.0 Pro
Сообщений: 21


« Ответ #12 : Июль 07, 2013, 20:45:13 »

Теоретически - можно, но может быть сложно в реализации. Зависит от того, как это у вас реализовано и как это у вас выглядит.
Как реализовано:

Как выглядит:

Немного порыскал на других иноязычных форумах, нашёл код:
Код:
view_xview = player.x-view_wview/2;
view_yview = player.y-view_hview/2;
Правда немного не понял зачем он, но мне интересно, поможет или нет.
Записан
Dmi7ry
Гл. Администратор
*

Репутация: 1379
Offline Offline

Пол: Мужской
Награды:
5000 сообщений!За постоянность! [200 дней на форуме]За лояльность! [+1000 репутации]За помощь в развитии форума!Знаток Game Maker!За помощь новичкам!
API: GameMaker Studio Master
Деятельность: Code, design
Сообщений: 6626



WWW
« Ответ #13 : Июль 07, 2013, 21:02:12 »

Правда немного не понял зачем он, но мне интересно, поможет или нет.
выставляет вид, чтобы ГГ был всегда в центре

Навскидку - тут не требуется бесконечная комната. Комната может быть размером с вид, нужно просто изменять координаты объектов и задавать смещение фонам.
Записан

- А какой, собственно, командой процессора колобок ест черта?
- Командой EAT...
Справка и FAQ в правом верхнем углу...
TheValeev
Посетитель
**

Репутация: 4
Offline Offline

Пол: Мужской
API: Game Maker 8.0 Pro
Сообщений: 21


« Ответ #14 : Июль 07, 2013, 21:19:00 »

Навскидку - тут не требуется бесконечная комната. Комната может быть размером с вид, нужно просто изменять координаты объектов и задавать смещение фонам.
Пригодится для бесконечной бегалки с боссом.
Но у меня другой формат - гоночный платформер, комната уже построена со всеми примочками, и мне хотелось бы чтобы она была
зациклена, чтобы в перспективе игроки бегали по ней кругами.
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  

HellRoom Games © 2006-2012 All Rights Reserved
Powered by SMF 1.1.21 | SMF © 2013, Simple Machines
Страница сгенерирована за 0.188 секунд. Запросов: 31.