Суббота, 27.04.2024, 16:52
Главная Регистрация RSS
Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Форум » Разработка игр » Примеры игр » Помойка исходников для GM8+
Помойка исходников для GM8+
BRESSДата: Понедельник, 22.06.2020, 16:46 | Сообщение # 1
Мастер-ломастер
Группа: Администраторы
Сообщений: 3120
Награды: 1
Репутация: 224
Статус: Offline


В общем, вспоминаю старые-добрые. Решил сделать небольшой пример-исходник игры типа Zuma. В этот раз я даже позаботился о том, чтобы с этим можно было в дальнейшем работать biggrin Исходник легко редактируется без глубоких познаний в GML. Для удобного взаимодействия с кодом созданы скрипты-события:

- OnWinGame(). Вызывается при победе

- OnLoseGame(). Вызывается при поражении

- OnBallsDestroy( count ). Вызывается при уничтожении цепочки.
count - число уничтоженных шаров.

- OnConfigure( ... ). Вызывается при конфигурировании цепочки шаров.
count - число шаров в цепочке
rndTypes - число типов различных шаров
path - используемый путь для цепочки шаров
size - размер одного шара
cspeed - скорость движения цепочки
(примечание. можно задавать параметры цепочки в зависимости от комнаты
: if(room == название_комнаты) { ... } )

Если кому-то понравится/понадобится этот сурс, возможно, в дальнейшем его доработаю. Делал чисто для фана, чтобы вспомнить былое. И пока особо не хочется снова окунаться в GML (так как он мне не очень-то и нравится, если честно)


Для ваших вопросов по Game Maker есть специально созданный форум. Оставьте в покое мою личку. Спасибо за внимание!
 
UNIT02GSДата: Понедельник, 22.06.2020, 19:55 | Сообщение # 2
Гроза игростроя!
Группа: Модераторы
Сообщений: 703
Награды: 1
Репутация: 101
Статус: Offline
BRESS, хоть какое-то начало положено) Касаемо самого исходника, а точнее игры которая может из нее выйти. Все просто, примитивненько. Кучу раз видели. Так что думаю развивать это дальше не имеет смысла. Ждем чего-то нового, более интересного и главное продуманного и масштабного.
 
BRESSДата: Вторник, 23.06.2020, 12:47 | Сообщение # 3
Мастер-ломастер
Группа: Администраторы
Сообщений: 3120
Награды: 1
Репутация: 224
Статус: Offline
Кста. Сурц для TDS: тык ссылка на загрузку

Мб сделаю из этой темы свою сурцо-помойку.

Цитата UNIT02GS ()
BRESS, хоть какое-то начало положено) Касаемо самого исходника, а точнее игры которая может из нее выйти. Все просто, примитивненько. Кучу раз видели. Так что думаю развивать это дальше не имеет смысла. Ждем чего-то нового, более интересного и главное продуманного и масштабного.
Я больше не работаю на gamemaker (ну тольк для сайта). Так что из этого я и не собирался ничего делать ^_^


Для ваших вопросов по Game Maker есть специально созданный форум. Оставьте в покое мою личку. Спасибо за внимание!
 
UNIT02GSДата: Вторник, 23.06.2020, 17:48 | Сообщение # 4
Гроза игростроя!
Группа: Модераторы
Сообщений: 703
Награды: 1
Репутация: 101
Статус: Offline
Цитата BRESS ()
Мб сделаю из этой темы свою сурцо-помойку.
Хорошая мысль. За все время наверно накопилось много разных идей и наработок. Раз сам не сможешь использовать, может другим пригодиться.

Цитата BRESS ()
Кста. Сурц для TDS: тык ссылка на загрузку
Отличный пример, очень удобный и на удивление простой. Но к сожалению у меня не получилось ее внедрить к себе. Возникают конфликты с анимацией (точнее по какой-то причине они вообще не работают), столкновениями с псевдо-физичными предметами и может еще что-то. Везде использую motion_set. Может стандартные функции GM не идеальны в плане исполнения, но хотя бы могут работать сообща, без конфликтов и разных костылей.
 
BRESSДата: Вторник, 23.06.2020, 20:08 | Сообщение # 5
Мастер-ломастер
Группа: Администраторы
Сообщений: 3120
Награды: 1
Репутация: 224
Статус: Offline
Цитата UNIT02GS ()
Отличный пример, очень удобный и на удивление простой. Но к сожалению у меня не получилось ее внедрить к себе. Возникают конфликты с анимацией (точнее по какой-то причине они вообще не работают), столкновениями с псевдо-физичными предметами и может еще что-то. Везде использую motion_set. Может стандартные функции GM не идеальны в плане исполнения, но хотя бы могут работать сообща, без конфликтов и разных костылей.
Простой, потому что в передвижении нет ничего сложного. Ну если ты, конечно, не пытаешься использовать векторную скорость в Game Maker xD Дело в том, что коллизия вызывается только тогда, когда объект уже влез в другой объект.

Попробуй не давать объектам соприкоснуться и самостоятельно вызывать событие столкновения, если у тебя в нем есть какая-то необходимая логика:

if(!place_free(x+hspeed,y)) {hspeed = 0;event_perform(ev_collision, oWall)}
if(!place_free(x,y+vspeed)) {vspeed = 0;event_perform(ev_collision, oWall)}


Для ваших вопросов по Game Maker есть специально созданный форум. Оставьте в покое мою личку. Спасибо за внимание!
 
UNIT02GSДата: Вторник, 23.06.2020, 21:14 | Сообщение # 6
Гроза игростроя!
Группа: Модераторы
Сообщений: 703
Награды: 1
Репутация: 101
Статус: Offline
BRESS, сколько помню, всегда были проблемы со столкновениями) Думаю поставить на стены шипы, что бы игрок не задевал их (шутка).
 
BRESSДата: Среда, 01.07.2020, 13:20 | Сообщение # 7
Мастер-ломастер
Группа: Администраторы
Сообщений: 3120
Награды: 1
Репутация: 224
Статус: Offline
Пример области прокрутки в сурцо-помойку: https://gamemaker.ucoz.com/load/2-1-0-456

Можете накидывать еще какие-нибудь идеи.


Для ваших вопросов по Game Maker есть специально созданный форум. Оставьте в покое мою личку. Спасибо за внимание!
 
UNIT02GSДата: Среда, 01.07.2020, 23:43 | Сообщение # 8
Гроза игростроя!
Группа: Модераторы
Сообщений: 703
Награды: 1
Репутация: 101
Статус: Offline
BRESS, пытался использовать область прокрутки, но что-то не выходит. Все не правильно отображается. Сможешь глянуть, как в моем случае это лучше реализовать?

Это пример пунктов меню, которые не влезают на экран (1024х576).

См. прикрепление.
Прикрепления: 6794316.gmk (552.3 Kb)


Сообщение отредактировал UNIT02GS - Среда, 01.07.2020, 23:54
 
BRESSДата: Четверг, 02.07.2020, 15:23 | Сообщение # 9
Мастер-ломастер
Группа: Администраторы
Сообщений: 3120
Награды: 1
Репутация: 224
Статус: Offline
Цитата UNIT02GS ()
BRESS, пытался использовать область прокрутки, но что-то не выходит. Все не правильно отображается. Сможешь глянуть, как в моем случае это лучше реализовать?
У тебя всё проще, коз всё рисуется в Draw в одном объекте. Просто смещай вверх, когда доходишь до какого-то пункта.
Прикрепления: 11111.gmk (552.5 Kb)


Для ваших вопросов по Game Maker есть специально созданный форум. Оставьте в покое мою личку. Спасибо за внимание!
 
UNIT02GSДата: Четверг, 02.07.2020, 17:20 | Сообщение # 10
Гроза игростроя!
Группа: Модераторы
Сообщений: 703
Награды: 1
Репутация: 101
Статус: Offline
BRESS, действительно, гораздо удобнее. Путем проб и ошибок, удалось внедрить ее в меню. Помимо самого меню, пришлось немного адаптировать отображения "переменных" от этих пунктов настроек.

Посмотрим, что будет дальше. Спасибо за помощь!

Ждем от тебя новых разработок. Например могу предложить какую-нибудь грамотную систему смены кнопок управления в игре. Я пытался найти, но ничего толкового и главное удобного не нашлось.
В моем наивном представлении это выглядит так:
- Берем за основу наше с sasha меню, которое я выкладывал выше. Оно полностью готово и функционирует. Нужно только прописать действия для пунктов. Загляни в скрипт, все понятно станет.
- Потом при нажатии какого-нибудь пункта, что бы появлялось сообщение "Нажмите любую кнопку", "Выберете кнопку" и т.д.
- И при нажатии, функция применялась!

П.С. Касаемо этой темы. Может ссылки на новые разработки дублировать в сообщение #1? Что бы не приходилось искать среди других сообщений.


Сообщение отредактировал UNIT02GS - Четверг, 02.07.2020, 17:25
 
BRESSДата: Четверг, 02.07.2020, 19:40 | Сообщение # 11
Мастер-ломастер
Группа: Администраторы
Сообщений: 3120
Награды: 1
Репутация: 224
Статус: Offline
Цитата UNIT02GS ()
Ждем от тебя новых разработок. Например могу предложить какую-нибудь грамотную систему смены кнопок управления в игре. Я пытался найти, но ничего толкового и главное удобного не нашлось.В моем наивном представлении это выглядит так:
- Берем за основу наше с sasha меню, которое я выкладывал выше. Оно полностью готово и функционирует. Нужно только прописать действия для пунктов. Загляни в скрипт, все понятно станет.
- Потом при нажатии какого-нибудь пункта, что бы появлялось сообщение "Нажмите любую кнопку", "Выберете кнопку" и т.д.
- И при нажатии, функция применялась!
Тебе надо, чтобы я помог расширить меню для игры, или тебе просто интересно, как сделал бы я? )
Очень важно, коз мне бы было удобно сделать по-другому.

Цитата UNIT02GS ()
П.С. Касаемо этой темы. Может ссылки на новые разработки дублировать в сообщение #1? Что бы не приходилось искать среди других сообщений.
Знаю. Но не сейчас. Пока просто впадлу. Как будет нечем заняться, обязательно наведу порядок.


Для ваших вопросов по Game Maker есть специально созданный форум. Оставьте в покое мою личку. Спасибо за внимание!
 
UNIT02GSДата: Четверг, 02.07.2020, 19:50 | Сообщение # 12
Гроза игростроя!
Группа: Модераторы
Сообщений: 703
Награды: 1
Репутация: 101
Статус: Offline
Цитата BRESS ()
Тебе надо, чтобы я помог расширить меню для игры, или тебе просто интересно, как сделал бы я? )Очень важно, коз мне бы было удобно сделать по-другому.
На деле, первое и второе) Помню ты раньше жаловался, что в моих играх нельзя сменить раскладку управления. А все потому, что у меня нет представления того, как это реализовать. Особенно, что бы эти настройки сохранились при перезапуске игры.

П.С. Возвращаясь к предыдущей теме... Что мне еще нужно прописать, что бы пункты не уходили слишком вниз, а так же как сверху исчезали?

Прикрепления: 1502949.png (476.0 Kb)
 
BRESSДата: Четверг, 02.07.2020, 23:33 | Сообщение # 13
Мастер-ломастер
Группа: Администраторы
Сообщений: 3120
Награды: 1
Репутация: 224
Статус: Offline
Цитата UNIT02GS ()
П.С. Возвращаясь к предыдущей теме... Что мне еще нужно прописать, что бы пункты не уходили слишком вниз, а так же как сверху исчезали?

Код
var maxp, delta, avaible_len;
avaible_len = 10      // Максимально допустимая длина столбца
maxp = 5;            // Номер меню после которого идет скролл вниз
delta = p-maxp;  
if(p>maxp) d3d_transform_add_translation(0, -32 * (delta-1), 0);

/* === ОТРИСОВКА ДЕКОРАЦИЙ МЕНЮ === */
draw_circle(xc+74,yc+42+h*(p+1),3,false);

/* === ПУНКТЫ МЕНЮ === */
var otstp;
draw_set_alpha(1);
draw_set_halign(fa_left); // Настройки (Шрифт, прозрачность, центровка)
draw_set_font(font_menu);

for(i = max(delta, 1); i<= max(delta, 1) + avaible_len && i<=pp; i+=1) {
    if (p <> i) {
        draw_set_color(color1); otstp = 0;
    } else {
        draw_set_color(color2); otstp = 16;
    }
    draw_text(xc+64+otstp,yc+64+i*h,s_text[i])
}

d3d_transform_set_identity();[/i]


Цитата UNIT02GS ()
Помню ты раньше жаловался, что в моих играх нельзя сменить раскладку управления. А все потому, что у меня нет представления того, как это реализовать. Особенно, что бы эти настройки сохранились при перезапуске игры.
Храни параметры в INI-файлах
Можешь потом загружать их в мапы или просто в глобальные переменные.


Для ваших вопросов по Game Maker есть специально созданный форум. Оставьте в покое мою личку. Спасибо за внимание!
 
UNIT02GSДата: Пятница, 03.07.2020, 06:16 | Сообщение # 14
Гроза игростроя!
Группа: Модераторы
Сообщений: 703
Награды: 1
Репутация: 101
Статус: Offline
BRESS, ну вот отлично, теперь все выглядит более опрятно. 



Цитата BRESS ()
Храни параметры в INI-файлахМожешь потом загружать их в мапы или просто в глобальные переменные.
Это вроде понятно, еще во времена Агента грина использовал INI.  Мне непонятен момент выбора новой кнопки для действия. Как его обыграть.
Прикрепления: 9988957.png (477.3 Kb)
 
BRESSДата: Пятница, 03.07.2020, 12:26 | Сообщение # 15
Мастер-ломастер
Группа: Администраторы
Сообщений: 3120
Награды: 1
Репутация: 224
Статус: Offline
Цитата UNIT02GS ()
Это вроде понятно, еще во времена Агента грина использовал INI. Мне непонятен момент выбора новой кнопки для действия. Как его обыграть.
Код
if(keyboard_check_released(vk_anykey)) {
    global.binds [key]= keyboard_lastkey;
}


Всё. А для принятия настроек просто создай отдельный объект, который будет отображать интерфейс. Чтобы не приходилось плодить кучу объектов, создавай один и передавай ему ключ, по которому будет сохранено значение переменной.

Код
obj = instance_create(x,y,oKeyConfigurator);
obj.key = "left";


Для ваших вопросов по Game Maker есть специально созданный форум. Оставьте в покое мою личку. Спасибо за внимание!
 
Форум » Разработка игр » Примеры игр » Помойка исходников для GM8+
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: