Game Maker - создание игр | HellRoom Games
Январь 15, 2025, 08:31:32 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

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

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

API: 8.0 Pro
Сообщений: 12


« : Февраль 03, 2011, 23:08:40 »

Доброго времени суток. Потихоньку осваиваю GM8. Вот возник затык с созданием интерфейса в игре. Искал ответ, но что то ничего подходящего не нашел. Пытаюсь создать что то типа этого:

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

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

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

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

Пол: Мужской
Награды:
2000 сообщений!За постоянность! [200 дней на форуме]За лояльность! [+150 репутации]3 место за игру: AntiZombie (Конкурс Золотые Руки)1 место: Звание лучшего дизайнера (Февраль 2011)За добавление полезных программ!
API: GameMaker Studio Standard
Сообщений: 2018



« Ответ #1 : Февраль 03, 2011, 23:10:34 »

сделай глубину панели +1. И тогда она будет под всеми.
Записан
raven1891
Новичок
*

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

API: 8.0 Pro
Сообщений: 12


« Ответ #2 : Февраль 03, 2011, 23:24:01 »

сделай глубину панели +1. И тогда она будет под всеми.
вроде немного не то... мне нужно что бы пространство закрываемое этой панелькой как бы не учитывалось, что бы туда не мог забежать AI mob, там по рандому не могло что то проспавниться, что бы там ничего не прорисовывалось. Можно конечно тупо вычитать размер панельки из общей игровой зоны, но я думаю может есть способы проще.
Записан
VeGaS
«Старожил форума»
******

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

Пол: Мужской
Награды:
2000 сообщений!За постоянность! [200 дней на форуме]За лояльность! [+150 репутации]3 место за игру: AntiZombie (Конкурс Золотые Руки)1 место: Звание лучшего дизайнера (Февраль 2011)За добавление полезных программ!
API: GameMaker Studio Standard
Сообщений: 2018



« Ответ #3 : Февраль 03, 2011, 23:25:48 »

А, теперь вопрос ясен.

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

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

Пол: Мужской
Награды:
2000 сообщений!За постоянность! [100 дней на форуме]За лояльность! [+300 репутации]Знаток Game Maker!За помощь новичкам!
API: Game Maker 8.0 Pro
Деятельность: GML, С++, OpenGL, Java. Бывший Директор бывшей школы GML
Сообщений: 2573


« Ответ #4 : Февраль 04, 2011, 05:38:47 »

Нужно сделать игровое пространство и панель отдельными видами. И у мобов в событии пересечения границ виде поля - уходить обратно в поле
Записан

Есть вещи, которые нельзя объяснить. Для всего остального есть Справка
Рандом-рандом-рандомище (с)

C++ & OpenGL
raven1891
Новичок
*

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

API: 8.0 Pro
Сообщений: 12


« Ответ #5 : Февраль 04, 2011, 08:55:08 »

А, теперь вопрос ясен.

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

Нужно сделать игровое пространство и панель отдельными видами. И у мобов в событии пересечения границ виде поля - уходить обратно в поле
Вот это у же интереснее, а можно где-нить про виды подробно почитать, с примерами использования, а то я чето не очень пока в них разобрался, можно и на аглицком? У меня сейчас только 1 view который следует за глав героем.
Записан
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
« Ответ #6 : Февраль 04, 2011, 09:18:01 »

поробуй так:
создай объект, задай спрайт панели у спрайта выстави позицию(крестик) на 0,0
в create:
x=view_xview
y=view_yview
у игрового объекта в событии столкновения с рамкой:
x=xprevious
y=yprevious
Записан

Dva_Kota
Гл. Администратор
*

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

Пол: Мужской
Награды:
3000 сообщений!За постоянность! [500 дней на форуме]За лояльность! [+500 репутации]Настоящий игродел!Тру Админ :D1 место за игру: Energy Wars (Конкурс Золотые Руки)...
API: GameMaker Studio Standard
Сообщений: 3245



« Ответ #7 : Февраль 04, 2011, 11:53:18 »

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

raven1891
Новичок
*

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

API: 8.0 Pro
Сообщений: 12


« Ответ #8 : Февраль 04, 2011, 12:53:58 »

Не нужно делать два вида. На сколько я понял у тебя видна сразу вся комната (не используешь виды). Второй вид тут не к чему. Сделай панель обычным твердым объектом, поставь ему свойства как у стены (если в игре есть стены) - мобы и игрок не смогут походить под панель. При рендомном спавне вычитай ширину панели из ширины комнаты, или создавай объекты с проверкой свободно ли место где будет создаваться объект (как написано в справке):
Виды использую, сразу виден только кусок комнаты. Но вроде бы разобрался как чего сделать. Просто видимо пока еще не мыслю "объектами и приемами" GMакера =)
Записан
Dva_Kota
Гл. Администратор
*

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

Пол: Мужской
Награды:
3000 сообщений!За постоянность! [500 дней на форуме]За лояльность! [+500 репутации]Настоящий игродел!Тру Админ :D1 место за игру: Energy Wars (Конкурс Золотые Руки)...
API: GameMaker Studio Standard
Сообщений: 3245



« Ответ #9 : Февраль 04, 2011, 13:22:44 »

Если виды есть, то можно бъект "интерфейс" двигать вместе с видом
Записан

Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

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