Воскресенье, 17 Ноября 2024, 06:31

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Интерфейс
Made_In_USSRДата: Воскресенье, 30 Января 2011, 02:29 | Сообщение # 1
заслуженный участник
Сейчас нет на сайте
Мое нубское начало все таки взяло верх. Буду просить помощи.

Итак, при разработке интерфейса столкнулся с такими проблемами:
1. Нужно чтобы обьекты сцены не неагировали на действия мыши при определенных уловиях. Ну скажем у меня есть полупрозрачный интерфейс и айтем который при наведении на него мышью подсвечивается а при щелчке - активируется. Мне нужно чтобы этого не происходило если айтем лежит за интерфейсом. Поятное дело что можно это реализовать дописывая в код айтема проверку на столкновение с обьетом интерфейса, но во первых айтем может быть перекрыт частично а во вторых если обьектов бдет 1000, то в каждый писать будет немного неудобно. Возможно это можно сделать через обьект интерфейса? В общем посоветуйте что нибудь интересное.
2. Как лучше реализовать интерфейс? Обьектами это самый очевидный но не самый удобный как мне кажется выход. Есть ли возможность уйти от создания мириад обьектов кнопок ограничившись скажем "регионами" обьекта, если такое понятие применимо к обьектам (спрайтам обьектов) в гамемакере. Если нет, то как можно обойтись без создания 1000 оригинальных кнопок, создав скажем 3-4 вида с разными свойствами в зависимости от айди инстанса или еще как нибудь?
3. Оконный интерфейс нестандартными средствами. Встроенные диалоговые окна и меню не канают, это думаю все понимают. Возможно кто-то видел несложные примеры? На скриптах или нет без разницы, главное чтобы код был хорошо прокомментирован.

Спасибо за внимание.


Новичкам изучающим GML кликать сюда.
Много примеров, исходников, библиотек и вообще всего что вам только может пригодиться. Автор портала, прости меня за ссылку, наболело =)
NeZnayuДата: Воскресенье, 30 Января 2011, 02:49 | Сообщение # 2
__танцуй!__
Сейчас нет на сайте
1. Нужно использовать один родительский объект для всех предметов, которые можно класть в инвентарь.
Весь код писать в том объекте.

2. Интерфейс можно организовать, как ты выразился, "зонами" - просто проверять где именно нажата мышь.
Для кнопок, опять же, испоьзовать родительский объект.

3. Ну тут очень много разных способов. Если нужно что-то конкретное - могу сделать пример.


CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу
Made_In_USSRДата: Воскресенье, 30 Января 2011, 03:04 | Сообщение # 3
заслуженный участник
Сейчас нет на сайте
1. А по "деактивации" обьектов которые находятся один за другим что-то посоветуешь? biggrin

2. Про зоны если можно более развернуто.

3. Конкретное? Хм... Ну принцип диалоговых окон виндоус. Конкретнее не могу. Окно и две кнопки, окно и три кнопки. Только чтобы не стандартными функциями. Мне просто нужна возможность не использовать в окнах бекграунды. Когда то я уже химичил на эту тему, да со временем все из головы повылетало. Практически с нуля начинаю. Перебрал несколько примеров, но абсолютно без коментариев и с громоздким кодом. Переварить не получилось.

постскриптум: как у тебя еще профайл от плюсов не треснул? biggrin


Новичкам изучающим GML кликать сюда.
Много примеров, исходников, библиотек и вообще всего что вам только может пригодиться. Автор портала, прости меня за ссылку, наболело =)
NeZnayuДата: Воскресенье, 30 Января 2011, 03:33 | Сообщение # 4
__танцуй!__
Сейчас нет на сайте


CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу


Сообщение отредактировал NeZnayu - Воскресенье, 30 Января 2011, 03:42
NeZnayuДата: Воскресенье, 30 Января 2011, 03:41 | Сообщение # 5
__танцуй!__
Сейчас нет на сайте
1. скачать пример, взято отсюда - http://gmakers.ru/index.php?topic=4312.0 - очень рекомендую, огромное количество полезных советов, и ответов на часто задаваемые вопросы.

2. Тут обычная проверка:
if mouse_x>interface_pos_lx mouse_x<interface_pos_rx
{
if mouse_y>interface_pos_ly mouse_y<interface_pos_ry
{//Всякие действия}
}

3. Так тебе именно под стиль винды надо, или просто свою картинку на бэкграунд поставить хочешь?



CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу
Made_In_USSRДата: Воскресенье, 30 Января 2011, 03:56 | Сообщение # 6
заслуженный участник
Сейчас нет на сайте
1. Немного понаглею. Ссылка требует регистрацию. Можно на файлообменник ее?

2. А если зона не прямоугольной формы что нибудь получится придумать? Например миникарта-радар которая под круглый локатор стилизована.

3. Не-не-не. Винда тут ни при чем, это я для примера. Картинка будет своя конечно.

постскриптум: я это, не спешу. если на все вопросы сразу ответить не получается, не торопись, я подожду. просто решил понаглеть раз уж нашел советчика biggrin


Новичкам изучающим GML кликать сюда.
Много примеров, исходников, библиотек и вообще всего что вам только может пригодиться. Автор портала, прости меня за ссылку, наболело =)
NeZnayuДата: Воскресенье, 30 Января 2011, 04:03 | Сообщение # 7
__танцуй!__
Сейчас нет на сайте
1. пример

2. если форма - круг - то нет ничего проще, просто проверяем расстояние от центра до мыши (смотри если оно меньше радиуса)

3. message_set_background()?



CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу
Made_In_USSRДата: Воскресенье, 30 Января 2011, 04:07 | Сообщение # 8
заслуженный участник
Сейчас нет на сайте
1. Спасибо

2. Спасибо. Действительно все элементарно. Последний вопрос по этой теме: фигурный регион.

3. Не подходит. Стандартные функции работают с бэкграундами. А мне нужна реализация окон на спрайтах.


Новичкам изучающим GML кликать сюда.
Много примеров, исходников, библиотек и вообще всего что вам только может пригодиться. Автор портала, прости меня за ссылку, наболело =)
NeZnayuДата: Воскресенье, 30 Января 2011, 04:11 | Сообщение # 9
__танцуй!__
Сейчас нет на сайте
2. Фигурный регион, все-таки проще сделать объектом, чем придумывать длинную формулу.

3. Сейчас сделаю пример.


CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу
NeZnayuДата: Воскресенье, 30 Января 2011, 05:05 | Сообщение # 10
__танцуй!__
Сейчас нет на сайте
Уже скоро* wink

CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу
Made_In_USSRДата: Воскресенье, 30 Января 2011, 05:07 | Сообщение # 11
заслуженный участник
Сейчас нет на сайте
Ок, скоро так скоро. У меня еще воскресенье выходной biggrin

Новичкам изучающим GML кликать сюда.
Много примеров, исходников, библиотек и вообще всего что вам только может пригодиться. Автор портала, прости меня за ссылку, наболело =)
NeZnayuДата: Воскресенье, 30 Января 2011, 05:14 | Сообщение # 12
__танцуй!__
Сейчас нет на сайте
Готово:

Там несколько коментов на английском (сори, раскладку ну очень влом переключать) на самом деле все должно быть понятно, если все-таки появятся вопросы - пиши.


CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу


Сообщение отредактировал NeZnayu - Воскресенье, 30 Января 2011, 06:41
NeZnayuДата: Воскресенье, 30 Января 2011, 05:18 | Сообщение # 13
__танцуй!__
Сейчас нет на сайте
ПС
В данном случае можно задать одну, две, или три кнопки, но скрипт не трудно переделать под любое количество + добавить всяких эффектов покрасивей.


CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу
Made_In_USSRДата: Воскресенье, 30 Января 2011, 05:25 | Сообщение # 14
заслуженный участник
Сейчас нет на сайте
Ну как бэ есть вопрос. Практически сраз же назрел smile
У тебя все функции используют бэкграунды. Этот вариант, как я уже говорил, мне не подходит. Там страшные вещи рисуются если использовать частично прозрачные гифы. Другие типы файлов с прозрачностью бэкграунды не поддерживают. Можно ли заменить эти функции на функции рисования спрайтов используя этот код? (Не в смысле тебе заменить а в смысле вообще)?

Добавлено (30.01.2011, 05:25)
---------------------------------------------
апдейтед:
не все функции конечно, а те что рисуют задник сообщения


Новичкам изучающим GML кликать сюда.
Много примеров, исходников, библиотек и вообще всего что вам только может пригодиться. Автор портала, прости меня за ссылку, наболело =)
NeZnayuДата: Воскресенье, 30 Января 2011, 05:32 | Сообщение # 15
__танцуй!__
Сейчас нет на сайте
1. ну вообще бэкграунды поддерживают *.пнг с полной прозрачностью

2. И бэк в итоге можно заменить на спрайт, просто отрисовать его вместо бэкграунда (ну и не забыть поменять в create у ob_message настройки)

пс: какая у тебя версия гм?


CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу
Made_In_USSRДата: Воскресенье, 30 Января 2011, 05:35 | Сообщение # 16
заслуженный участник
Сейчас нет на сайте
Восьмая. На седьмой бэки не поддерживали прозрачность из пнг. Только гиф и тоько полную прозрачность/не прозрачность. Если в восьмерке что-то поменялось прошу прощения.

Новичкам изучающим GML кликать сюда.
Много примеров, исходников, библиотек и вообще всего что вам только может пригодиться. Автор портала, прости меня за ссылку, наболело =)
NeZnayuДата: Воскресенье, 30 Января 2011, 05:38 | Сообщение # 17
__танцуй!__
Сейчас нет на сайте
Да, да smile В восьмерке поная поддержка пнг wink

CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу
Made_In_USSRДата: Воскресенье, 30 Января 2011, 05:39 | Сообщение # 18
заслуженный участник
Сейчас нет на сайте
А нет, подожди, все таки я умудрялся использовать пнг в бэках, только там как раз и появлялись артефакты на частично прозрачных изображениях. Поэтому и отказался от стандартных функций.

Добавлено (30.01.2011, 05:39)
---------------------------------------------
Я уже совсем запутался. В общем буду пробовать. Спасибо smile


Новичкам изучающим GML кликать сюда.
Много примеров, исходников, библиотек и вообще всего что вам только может пригодиться. Автор портала, прости меня за ссылку, наболело =)


Сообщение отредактировал Made_In_USSR - Воскресенье, 30 Января 2011, 05:39
NeZnayuДата: Воскресенье, 30 Января 2011, 05:41 | Сообщение # 19
__танцуй!__
Сейчас нет на сайте
Когда загружаешь бэкграунд в формате пнг с прозрачностью - смотри чтобы в окне открытия файла справа не стояла галочка "Удалять фон" (remove background) - а то лишнего отрежет, может поэтому артефаки и появились.

CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу


Сообщение отредактировал NeZnayu - Воскресенье, 30 Января 2011, 05:46
Made_In_USSRДата: Воскресенье, 30 Января 2011, 15:15 | Сообщение # 20
заслуженный участник
Сейчас нет на сайте
Нет, не по этому. Я тогда перебрал все возможные комбинации всех возможных настроек. Эффект был тот же. Это какой то жуткий метод обработки полупрозрачности был, при определенном значении полупрозрачный пиксел воспринимался как прозрачный или как то так. Но это уже не важно раз бэки полпостью сроднились с пнг.

Добавлено (30.01.2011, 15:10)
---------------------------------------------
апдэйтед:

добрые люди, дайте почитать полный перечень новых функций гм8, если не трудно.

Добавлено (30.01.2011, 15:15)
---------------------------------------------
И еше в догонку:
функция deactivate_all деактивирует обьекты которые были созданы до ее применения или и те, что создаются после?


Новичкам изучающим GML кликать сюда.
Много примеров, исходников, библиотек и вообще всего что вам только может пригодиться. Автор портала, прости меня за ссылку, наболело =)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг