Воскресенье, 17 Ноября 2024, 04:37

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Вопрос - Ответ (Game Maker)
FоzzieДата: Четверг, 19 Июня 2014, 22:05 | Сообщение # 4981
Король Гопов
Сейчас нет на сайте
poks, sound_loop(Твой звук), и в какой объект вставишь - сделай постоянным.



Сообщение отредактировал Fоzzie - Четверг, 19 Июня 2014, 22:07
MrVasLukДата: Суббота, 21 Июня 2014, 22:43 | Сообщение # 4982
участник
Сейчас нет на сайте
Мне вот надо создать в студио changelog игры. Суть в том, чтобы при входе после обновления через google play он перенаправлял тебя в комнату changelog.
Какой код проверит: первый-ли раз человек вошел после обновления игры?


увеличь популярность своего проекта/канала YouTube/странички вк:
FREE Social Promotion


Сообщение отредактировал VasLuk - Четверг, 26 Июня 2014, 11:23
sayranДата: Суббота, 28 Июня 2014, 10:25 | Сообщение # 4983
частый гость
Сейчас нет на сайте
Подскажите как реализовать запуск фоновой музыки позле загрузки
сохраненной игры ??


MrSlapДата: Четверг, 03 Июля 2014, 23:27 | Сообщение # 4984
почетный гость
Сейчас нет на сайте
Ох, если кто-то и отвечал на мой вопрос, то я уже не знаю как найти ответ... ибо был тут полгода назад. Наконец-то вернулся к игрострою.
Вопрос по сохранениям в ini меня терзает, помогите, люди добрые:

Игра РПГ-образца, герой бьёт мобов, собирает артефакты в инвентарь, экипируется... Однако, разумеется, при загрузке все собранные или убитые объекты на карте - как новенькие. Не могу придумать код, чтобы при загрузке игры удалять объекты, которых больше нет на карте.

Надеюсь, выразился понятно...

Добавлено (03.07.2014, 23:27)
---------------------------------------------
Решил проблему. Может кому будет полезно:

В Create объекта, наличие, или отсутствие которого нужно запомнить:
Код
if RESTART=false //условие, что игра продолжена, а не начата "новая игра".
{
ini_open('save');     
a=ini_read_real('save',string(id),1);//считываем в переменную состояние объекта, по умлочанию=1, что значит - объект существует.
ini_close();
if a=0 instance_destroy();
}
else
{
ini_open('save');
ini_write_real('save',string(id),1);//раз объект не удалён, вернём ему значение 1, для будущих загрузок.
ini_close();
}

В событие Destroy того же объекта пишем команду:
Код
ini_open('save');
ini_write_real('save',string(id),0);//если объект уничтожен, сохраняем в файл значение 0 для id этого объекта.
ini_close();


Таким образом, при загрузке игры мы получаем результат из ини файлов: либо объект был удалён с поля, либо остался там.
Может, кому-то пригодится?.. Ну или кто-то найдёт минус данного решения.
Просто это лучшее, что пришло мне в голову.

И это не решает вопроса - как сохранить объекты, которые были созданы в процессе игры?


Создаю интерактивную повесть.

Сообщение отредактировал MrSlap - Четверг, 03 Июля 2014, 23:53
Drake_XBДата: Воскресенье, 06 Июля 2014, 11:15 | Сообщение # 4985
был не раз
Сейчас нет на сайте
Цитата MrSlap ()
Ох, если кто-то и отвечал на мой вопрос, то я уже не знаю как найти ответ... ибо был тут полгода назад. Наконец-то вернулся к игрострою.
Вопрос по сохранениям в ini меня терзает, помогите, люди добрые:

Игра РПГ-образца, герой бьёт мобов, собирает артефакты в инвентарь, экипируется... Однако, разумеется, при загрузке все собранные или убитые объекты на карте - как новенькие. Не могу придумать код, чтобы при загрузке игры удалять объекты, которых больше нет на карте.


Ухтыж как всё хитро то :-) Возможно немного разочарую но для таких манипуляций есть persistent который отвечает за постоянность объекта в комнате!

ссыль на справку по экземплярам в игре: http://gmakers.ru/gamemaker_help/source/files/403_05_instances.php

Добавлено (06.07.2014, 11:12)
---------------------------------------------

Цитата sayran ()
Подскажите как реализовать запуск фоновой музыки позле загрузки
сохраненной игры ??


Для таких манипуляций читай справку, а вообще, если не найдёшь ничего путного то советую установить DLL библиотеку по музыке в игре! на Gcup.ru видел где-то недавно...

Добавлено (06.07.2014, 11:15)
---------------------------------------------

Цитата poks ()
Можно ли сделать так, чтобы при переходе в другую комнату музыка воспроизводилась заново, а продолжалась?


Да
MrSlapДата: Воскресенье, 06 Июля 2014, 15:26 | Сообщение # 4986
почетный гость
Сейчас нет на сайте
Drake_XB, persistance! А я бы в жизни не догадался... А он поможет мне, если я вышел из игры, а потом хочу продолжить её с того же места?.. Не думаю.

Вопрос был именно в этом. В сохранении и загрузке этих данных через ини.
Кидать ссылки на справку всем подряд - много ума не надо. Если нет идей как действительно помочь, пожалуйста, не мешайте.

Задача в том, чтобы, если объект создаётся в процессе игры (инвентарь реализован через спрайты, но к каждому из предметов существует объект, выбрасывая вещь из инвентаря, объект создаётся на игровой карте), его можно было записать в ини, и при загрузке ини файла этот новый объект создавался в игре в тех координатах, где игрок "создал" его в процессе. Объектов могут быть множества. Это могут быть NPC, это могут быть предметы для экипировки, это могут быть снаряды, которые кто-то выпустил, а я вышел из игры в тот момент. И всё это должно существовать, когда игрок нажимает "продолжить игру" после долгого перерыва.

Моя реализация, описанная выше, действует только для предметов, внесённых в игру в самом начале. Позже будут NPC которые будут ходить по заданному пути, использовать таймлайны, и тоже придётся сохранять позицию времени и координат при загрузке - а это, как мне кажется, ещё более сложная задача.

Пользую GMS - поэтому программный save/load - не вариант. А главная игровая комната и так постоянная, как и объекты контроллера и игрока.


Создаю интерактивную повесть.
Kiko77Дата: Понедельник, 07 Июля 2014, 18:28 | Сообщение # 4987
был не раз
Сейчас нет на сайте
Ребят,надеюсь кто поможет,облазил кучу сайтов никто толком помоч не может.
У меня имеется парочка вопросов,важних,надеюсь ответите:
1)Очки.У меня есть счет очков путём переменной draw_text,string,score.Всё нормально с счетом,НО,в комнате гейм овер,ну она вискакивает после того как Я проиграл должно изображатся что то типа:You score:30,но Я незнаю как это реализовать,помогите,это типа финальний счет.
2)О той же комнате:Есть обьект кнопки рестарт,Я в ней в собитии нажатия клавиши написал возврат в предедущую комнату(типо перезапуск уровня)Но когда Я например набрал 23 очка ,проиграл,и надал рестарт то у меня мои 23 очка сохранились хотя комната сначала запустилась.Как это решить,незнаю.
3)О врагах:мне нужны бесконечные враги которые появляются из-за пределов комнаты и направляются к игроку,направляются в одну точку но при этом появляются рандомно с любой стороны и так бесконечно.
3.2)Дополнение:как сделать появление врагов в промежутке времени,и с каждим разом из всё больше.Например сначало один враг,через пять секунд два,потрм 10,потом 21,и так далее,но чтоб не 10000000,как сделать чтоб у врагов также постоянно возростала скорость но предел,например 10???????
4)Когда враги сталкиваются с игроком он умирает,да,событие столкновения происходит но видно что между обьектом игрока и врага есть место,как исправить,чтоби впритык было?
5)Как сделать чтоб когда там 2 и больше врагов сталкивались между собой они просто отлетали не на большое растоянние,и дальше продолжали направлятся к игроку????
P.S:ИЗВИНИТЕ ЗА ОШИБКИ,ПРОСТО СПЕШУ,БУДУ НАДЕЯТСЯ НА ПОМОЩЬ ДОБРЫХ ЛЮДЕЙ,ОЧЕНЬ НУЖНО,СПАСИБО ВСЕМ ЗАРАНЕЕ
StrekozlinskiДата: Понедельник, 07 Июля 2014, 20:08 | Сообщение # 4988
почетный гость
Сейчас нет на сайте
Тебе нужно в справку залезть, а не по сайтам левым лазать. Намного больше толка было бы.

Цитата Kiko77 ()
1)Очки.У меня есть счет очков путём переменной draw_text,string,score.Всё нормально с счетом,НО,в комнате гейм овер,ну она вискакивает после того как Я проиграл должно изображатся что то типа:You score:30,но Я незнаю как это реализовать,помогите,это типа финальний счет.

Если я тебя правильно понял, то тебе нужно вывести текст + значение переменной. Это можно сделать таким способом:
draw_text(x,y,'You score: '+string(переменная_счета));

Цитата Kiko77 ()
2)О той же комнате:Есть обьект кнопки рестарт,Я в ней в собитии нажатия клавиши написал возврат в предедущую комнату(типо перезапуск уровня)Но когда Я например набрал 23 очка ,проиграл,и надал рестарт то у меня мои 23 очка сохранились хотя комната сначала запустилась.Как это решить,незнаю.

Обнуляй значение переменной при нажатии.

Цитата Kiko77 ()
О врагах:мне нужны бесконечные враги которые появляются из-за пределов комнаты и направляются к игроку,направляются в одну точку но при этом появляются рандомно с любой стороны и так бесконечно.

Запиши в локальные координаты случайное значение room_width и room_height, а потом создавай в них противника.
Поищи в FAQ, в каком-то из разделов это подробно описано.

Цитата Kiko77 ()
4)Когда враги сталкиваются с игроком он умирает,да,событие столкновения происходит но видно что между обьектом игрока и врага есть место,как исправить,чтоби впритык было?

Скорее всего тут дело в маске врага. Поставь "Точная" в параметрах изменения (когда спрайт загружаешь, есть графа "Параметры столкновения").

Остальное ищи в FAQ, это все делается довольно легко.


[2D] Литературовед [Google play]
Kiko77Дата: Понедельник, 07 Июля 2014, 21:24 | Сообщение # 4989
был не раз
Сейчас нет на сайте
За всё спасибо,но собственно:
1)Как обнулять переменные?
2)Насчет вывода очков не получается,если можно ,поподробней
StrekozlinskiДата: Понедельник, 07 Июля 2014, 21:46 | Сообщение # 4990
почетный гость
Сейчас нет на сайте
Цитата Kiko77 ()
1)Как обнулять переменные?

[переменная] = 0;

Цитата Kiko77 ()
2)Насчет вывода очков не получается,если можно ,поподробней

Что именно не получается? Если ничего не выводится, то скорее всего ты записал вывод очков где-то не там. Его нужно писать в Draw.


[2D] Литературовед [Google play]
Sttt912Дата: Понедельник, 07 Июля 2014, 22:00 | Сообщение # 4991
был не раз
Сейчас нет на сайте
Kiko77, в событии Draw
Код
draw_text(0,0,"Text:" + string(ваша переменная));
Kiko77Дата: Понедельник, 07 Июля 2014, 22:36 | Сообщение # 4992
был не раз
Сейчас нет на сайте
Спасибо,всё получилось.
Мне нужно еще :как по английски будет "Точную"? Ато у меня иглиш версия и Я не знаю

Добавлено (07.07.2014, 22:36)
---------------------------------------------
И еще,с очками всё ок,но при обнулении переменной пропадает изображение цифри,тоесть очков

stalker5889Дата: Понедельник, 07 Июля 2014, 22:48 | Сообщение # 4993
Свободный игродел
Сейчас нет на сайте
Цитата Kiko77 ()
:как по английски будет "Точную"? Ато у меня иглиш версия и Я не знаю

Зачем тогда инглиш версия раз языка не знаешь? Забей в гугле и переведи.


Kiko77Дата: Вторник, 08 Июля 2014, 16:45 | Сообщение # 4994
был не раз
Сейчас нет на сайте
Облазил фак не нашёл,жду помощи:у мегя по задумке когда нажимаєш на врага он умирает но когда я зажимаю левую кнопку мыши то враги тоже уничтожаются,как сделать чтоб они умирали только при клике а когда зажимаєш ничего не происходило.Помогите
KOLEKДата: Вторник, 08 Июля 2014, 18:33 | Сообщение # 4995
почетный гость
Сейчас нет на сайте
Помогите что не так в коде?

image_angle=point_direction(x,y,mouse_x,mouse_y);

if keyboard_check (ord("W")) (y-=sp);
if keyboard_check (ord("S")) (y+=sp);
if keyboard_check (ord("A")) (x-=sp);
if keyboard_check (ord("D")) (x+=sp);

if keyboard_check_released(ord("W")) (speed = 0);
if keyboard_check_released(ord("S")) (speed = 0);
if keyboard_check_released(ord("A")) (speed = 0);
if keyboard_check_released(ord("D")) (speed = 0);

Добавлено (08.07.2014, 18:33)
---------------------------------------------
Sttt912, Ты со www.spaces.ru!Помоги smile


https://www.youtube.com/channel/UCxKDBzI3Rg76IktaZABce7A
Sttt912Дата: Вторник, 08 Июля 2014, 19:02 | Сообщение # 4996
был не раз
Сейчас нет на сайте
KOLEK,
Код
image_angle=point_direction(x,y,mouse_x,mouse_y);  

if keyboard_check (ord("W")) {y-=sp};  
if keyboard_check (ord("S")) {y+=sp};  
if keyboard_check (ord("A")) {x-=sp};  
if keyboard_check (ord("D")) {x+=sp};  

if keyboard_check_released(ord("W")) {speed = 0};  
if keyboard_check_released(ord("S")) {speed = 0};  
if keyboard_check_released(ord("A")) {speed = 0};  
if keyboard_check_released(ord("D")) {speed = 0};
KOLEKДата: Вторник, 08 Июля 2014, 19:25 | Сообщение # 4997
почетный гость
Сейчас нет на сайте
Sttt912, Спасибо! smile

https://www.youtube.com/channel/UCxKDBzI3Rg76IktaZABce7A
Kiko77Дата: Среда, 09 Июля 2014, 08:46 | Сообщение # 4998
был не раз
Сейчас нет на сайте
Облазил фаq не нашёл,жду помощи:у мегя по задумке когда нажимаєш на врага он умирает но когда я зажимаю левую кнопку мыши то враги тоже уничтожаются,как сделать чтоб они умирали только при клике а когда зажимаєш ничего не происходило.Помогите
Fill_FreemanДата: Среда, 09 Июля 2014, 11:05 | Сообщение # 4999
почетный гость
Сейчас нет на сайте
Цитата Kiko77 ()
Облазил фаq не нашёл,жду помощи:у мегя по задумке когда нажимаєш на врага он умирает но когда я зажимаю левую кнопку мыши то враги тоже уничтожаются,как сделать чтоб они умирали только при клике а когда зажимаєш ничего не происходило.Помогите


Первое что пришло в голову, на Mouse_Pressed стартуешь таймер, на Mouse_Released - проверяешь таймаут. Если меньше - убиваешь объект.


Kiko77Дата: Среда, 09 Июля 2014, 11:49 | Сообщение # 5000
был не раз
Сейчас нет на сайте
5000
Поиск:

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