Вопрос - Ответ (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!Помоги
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, Спасибо!
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
|
|
| |
|