Game Maker - создание игр | HellRoom Games

Game Maker | GameMaker: Studio [Game-Maker.ru] => Для новичков: вопросы и ответы по Game Maker => Тема начата: raven1891 от Февраль 03, 2011, 23:08:40



Название: Создание ingame интерфейса
Отправлено: raven1891 от Февраль 03, 2011, 23:08:40
Доброго времени суток. Потихоньку осваиваю GM8. Вот возник затык с созданием интерфейса в игре. Искал ответ, но что то ничего подходящего не нашел. Пытаюсь создать что то типа этого:

|----|-----------------------|
|    |                       |
|  i  |        G             |
|    |                       |
|----|-----------------------|   

i  - панель интерфейса с разными кнопочками, пимпами и пр.
G - игровое поле, так сказать

Если делаю панель интерфейса, то при движении героя на игровом поле, то игровые объекты  оказываются под панелью (т.к. она тоже спрайт), что не есть хорошо. Можно ли как то решить эту задачку? Ну что то типа одновременно отображать 2 комнаты, одна из них будет присутствовать всегда (интерфейс), вторая меняться по ходу игры... ну или еще как.


Название: Re: Создание ingame интерфейса
Отправлено: VeGaS от Февраль 03, 2011, 23:10:34
сделай глубину панели +1. И тогда она будет под всеми.


Название: Re: Создание ingame интерфейса
Отправлено: raven1891 от Февраль 03, 2011, 23:24:01
сделай глубину панели +1. И тогда она будет под всеми.
вроде немного не то... мне нужно что бы пространство закрываемое этой панелькой как бы не учитывалось, что бы туда не мог забежать AI mob, там по рандому не могло что то проспавниться, что бы там ничего не прорисовывалось. Можно конечно тупо вычитать размер панельки из общей игровой зоны, но я думаю может есть способы проще.


Название: Re: Создание ingame интерфейса
Отправлено: VeGaS от Февраль 03, 2011, 23:25:48
А, теперь вопрос ясен.

Добавлено: Февраль 03, 2011, 23:29:55
Цитировать
Можно конечно тупо вычитать размер панельки из общей игровой зоны, но я думаю может есть способы проще.
Чем тебе этот способ не подошёл?


Название: Re: Создание ingame интерфейса
Отправлено: Hummer от Февраль 04, 2011, 05:38:47
Нужно сделать игровое пространство и панель отдельными видами. И у мобов в событии пересечения границ виде поля - уходить обратно в поле


Название: Re: Создание ingame интерфейса
Отправлено: raven1891 от Февраль 04, 2011, 08:55:08
А, теперь вопрос ясен.

Добавлено: Февраль 03, 2011, 23:29:55
Цитировать
Можно конечно тупо вычитать размер панельки из общей игровой зоны, но я думаю может есть способы проще.
Чем тебе этот способ не подошёл?
Да в принципе способ нормальный, просто думал вдруг есть более простой способ.

Нужно сделать игровое пространство и панель отдельными видами. И у мобов в событии пересечения границ виде поля - уходить обратно в поле
Вот это у же интереснее, а можно где-нить про виды подробно почитать, с примерами использования, а то я чето не очень пока в них разобрался, можно и на аглицком? У меня сейчас только 1 view который следует за глав героем.


Название: Re: Создание ingame интерфейса
Отправлено: Alcatraz от Февраль 04, 2011, 09:18:01
поробуй так:
создай объект, задай спрайт панели у спрайта выстави позицию(крестик) на 0,0
в create:
x=view_xview
y=view_yview
у игрового объекта в событии столкновения с рамкой:
x=xprevious
y=yprevious


Название: Re: Создание ingame интерфейса
Отправлено: Dva_Kota от Февраль 04, 2011, 11:53:18
Не нужно делать два вида. На сколько я понял у тебя видна сразу вся комната (не используешь виды). Второй вид тут не к чему. Сделай панель обычным твердым объектом, поставь ему свойства как у стены (если в игре есть стены) - мобы и игрок не смогут походить под панель. При рендомном спавне вычитай ширину панели из ширины комнаты, или создавай объекты с проверкой свободно ли место где будет создаваться объект (как написано в справке):
Цитировать
Код:
{
  while (!place_free(x,y))
  {
    x = random(room_width);
    y = random(room_height);
  }
}
Ну тлько ширину комнаты замени на
Код:
random_range(ширина_панели,room_width+ширина_панели)


Название: Re: Создание ingame интерфейса
Отправлено: raven1891 от Февраль 04, 2011, 12:53:58
Не нужно делать два вида. На сколько я понял у тебя видна сразу вся комната (не используешь виды). Второй вид тут не к чему. Сделай панель обычным твердым объектом, поставь ему свойства как у стены (если в игре есть стены) - мобы и игрок не смогут походить под панель. При рендомном спавне вычитай ширину панели из ширины комнаты, или создавай объекты с проверкой свободно ли место где будет создаваться объект (как написано в справке):
Виды использую, сразу виден только кусок комнаты. Но вроде бы разобрался как чего сделать. Просто видимо пока еще не мыслю "объектами и приемами" GMакера =)


Название: Re: Создание ingame интерфейса
Отправлено: Dva_Kota от Февраль 04, 2011, 13:22:44
Если виды есть, то можно бъект "интерфейс" двигать вместе с видом