Суббота, 14 Декабря 2019, 18:56

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Форум игроделов » Записи участника » Granner [47]
Результаты поиска
GrannerДата: Воскресенье, 10 Марта 2019, 12:09 | Сообщение # 1 | Тема: Создание экземпляра объекта из строковой переменной
частый гость
Сейчас нет на сайте
Создаю простой редактор уровней, где надо экспортировать/импортировать координаты, имя объекта и номер кадра спрайта. С экспортом справился - создается текстовой файл с координатами и именем объекта, полученного командой file_text_write_string(txt,object_get_name(near.object_index));
Однако с импортом не выходит. Инстансы создаются, но не с теми объектами, которые экспортировались.
Пример с текстовым файлом txt:
Код
tmpinst=file_text_read_string(txt);//условно говоря, считывается строка o_pad_grass
near=instance_create(tmpx,tmpy,tmpinst);// а создается объект o_flower, созданный в редакторе ранее, чем грасс, т.е. с меньшим индексом

Редактор нужен не внутриигровой, для работы сторонних участников, поэтому экспортировать ид объекта нельзя, они разные в редакторе и в проекте игры.
Есть ли способ как-то увязывать строку из файла и имя существующего в редакторе объекта?


Лучше - быть, чем - казаться.
P.S. Прежде чем задавать вопрос - всегда просматриваю форум и справку
GrannerДата: Вторник, 25 Декабря 2018, 11:47 | Сообщение # 2 | Тема: Правильное смещение строк при отрисовке в журнале событий
частый гость
Сейчас нет на сайте
Как ни странно, но С++, который я изучал, как-то меня не вдохновил на прототипирование :)
Решил задачу, выкладываю, если кому понадобится:
Код
      smech=string_height_ext(txtions[0],-1,512);// ввел переменную смещения координат, которая вначале берет высоту первой строки,
      for (i=0;i<19;i+=1)// потом прогоняем массив - на 1 индекс меньше, чтоб не было выхода за границы! - исходный массив составляет 20 строк,
        {
        draw_text_ext_color(view_xview+32,(view_yview+view_hview-32)-smech,txtions[i],-1,512,c_yellow,c_yellow,c_yellow,c_yellow,1);// отрисовываем строку со смещением
        smech+=string_height_ext(txtions[i+1],-1,512);// и добавляем высоту строки из следующего индекса.
        }


Лучше - быть, чем - казаться.
P.S. Прежде чем задавать вопрос - всегда просматриваю форум и справку
GrannerДата: Понедельник, 24 Декабря 2018, 19:35 | Сообщение # 3 | Тема: Правильное смещение строк при отрисовке в журнале событий
частый гость
Сейчас нет на сайте
Насколько я видел, функции подсчета слов в строках нет, только символы и подстроки.
Можно конечно проводить проверку по длине строки, потом искать символ пробела где-то там возле конца первой строки... Но мне кажется это будет чересчур громоздко :(


Лучше - быть, чем - казаться.
P.S. Прежде чем задавать вопрос - всегда просматриваю форум и справку
GrannerДата: Понедельник, 24 Декабря 2018, 19:23 | Сообщение # 4 | Тема: Правильное смещение строк при отрисовке в журнале событий
частый гость
Сейчас нет на сайте
BrightSpot, можешь подсказать - каким образом разбивать строку, если неизвестны количество слов и количество букв в получаемой строке?

Лучше - быть, чем - казаться.
P.S. Прежде чем задавать вопрос - всегда просматриваю форум и справку
GrannerДата: Понедельник, 24 Декабря 2018, 15:39 | Сообщение # 5 | Тема: Правильное смещение строк при отрисовке в журнале событий
частый гость
Сейчас нет на сайте
Реализую простой журнал событий "что произошло", фразы НПС и т.д., по типу Fallout. Проблема в том, что строки журнала могут иметь разную высоту, отсюда и происходит наложение новой строки на предыдущую. Конечно, можно урезать текстовые сообщения, чтобы они умещались в окошко журнала, но это не всегда будет возможно.
Как я делал:
В объекте журнала есть массив строк txtions[i]. При определенном событии в других объектах формируется текстовая строка. В объекте журнала все строки копируются в строки с большим индексом (txtions[i+1]=txtions[i]), после чего в txtions[0] записывается та самая текстовая строка. Ну а в Draw объекта журнала через for рисуются все строки:
Код
for (i=0;i<20;i+=1)
  {
    if y-(y-i*16)<=80//строки отрисовываются снизу вверх, только до определенной координаты, дальше не рисуются.
      {
        draw_text_ext_color(view_xview+32,(view_yview+view_hview-32)-i*13-(string_height_ext(txtions[0],-1,512)),txtions[i],-1,512,c_yellow,c_yellow,c_yellow,c_yellow,1);
      }
  }

Если новая строка txtions[0] имеет двойную высоту, то все строки чата смещаются аккуратно. Но если снова txtions[0] становится нормальной высоты, на 1 строчку, то не смещается никто, а строка txtions[0] наползает на строку txtions[1].
Очень не хочется делать строки в виде объектов и плясать от координат предыдущего объекта строки, все-таки лишних 50 объектов на экране как то нехорошо. Есть ли здесь какой-то другой способ?


Лучше - быть, чем - казаться.
P.S. Прежде чем задавать вопрос - всегда просматриваю форум и справку
GrannerДата: Пятница, 23 Ноября 2018, 00:13 | Сообщение # 6 | Тема: [2D] Агент "Green" [TDS] (Временно заморожен)
частый гость
Сейчас нет на сайте
Не смог пройти мимо вопля души :) Поигрался с демкой, и хоть и немного, и я вообще не любитель TDS, но могу вставить свои 5 неквалифицированных копеек и даже кое-чем восхититься.
1. Графика. Немного бросается в глаза разность стилистики окружения (пальмы и прочие архитектуры) и стен, которые ну уж явно в чистенькой пиксельграфике.
2. Музычка и общий смысловой антураж. Ненавижу дождь, поэтому сочетание звука и капелек на экране просто убивает в хорошем смысле: настолько все убедительно-склизко-мерзко! В общем, крутяк :)
3. Управление. Вот тут я не понял, застревание в не до конца открывающихся дверях - это фишка такая? Нервирует. Может, стоит двери распахивать до конца и возвращать по позднее? Также сочетание ходьбы и нацеливания: вот тут начинает не только нервировать, но и даже и приводить в состояние головокружащегося микробешенства. Может быть, когда игрок привыкнет, что управление взад-впред и т.д. зависит от того, куда смотрит персонаж, а не от стандартных сторон относительно экрана, тогда он не будет путаться какую кнопку нажимать. Далее увеличение дистанции между таргетом и персонажем мне кажется странным, но допустим. Однако в сочетании с таким управлением это может оказаться критично неудобным (мне все время казалось, что не хватает экрана и персонаж куда-то неконтролируемо уползает).

И вопрос чисто по ресурсам: в чем паковал? У меня ресурсов будет много, но что-то не попадается достаточно удобная и понятная для меня программка. Но это так, типа по делу :)


Лучше - быть, чем - казаться.
P.S. Прежде чем задавать вопрос - всегда просматриваю форум и справку
GrannerДата: Суббота, 17 Ноября 2018, 23:18 | Сообщение # 7 | Тема: Как проверить выполняемый код?
частый гость
Сейчас нет на сайте
Появилась проблема, что при столкновении двух объектов один из них удаляется (типа столкновение с зоной урона), при том что ни в одном из этих объектов событий удаления кого-либо кроме зоны урона - нет. Сделал реэкспорт ресурсов, эта проблема решилась само собой - исчезла, но теперь появился аналогичный случай уже с другим объектом. Известно, что ненужное удаление происходит в момент столкновения от 0 до +15 долей степа, но перепроверив что мог, кода, который бы удалял нужный мне объект - не нашел.
Вопрос - можно ли через как-то через отладочный режим (у меня GM8.0) посмотреть, какой код выполняется в этот момент или какой объект задействован?


Лучше - быть, чем - казаться.
P.S. Прежде чем задавать вопрос - всегда просматриваю форум и справку
GrannerДата: Понедельник, 02 Апреля 2018, 18:26 | Сообщение # 8 | Тема: Гейм мейкер студио 2 ошибка (Линии 14)
частый гость
Сейчас нет на сайте
А 14 линия - это случайно не (vk_ralt)? Если я правильно помню, что эта функция используется при другом синтаксе проверки клавиши. А в твоем проверь vk_right

Лучше - быть, чем - казаться.
P.S. Прежде чем задавать вопрос - всегда просматриваю форум и справку
GrannerДата: Среда, 29 Ноября 2017, 13:11 | Сообщение # 9 | Тема: [2D]-Help station-[Tower defense от первого лица]
частый гость
Сейчас нет на сайте
Название: Help station (рабочий вариант)
Под что делается: Windows, ПК.
Жанр: Tower Defense - тир
Движок: Game Maker 8 (демовариант)
Дата выхода: середина 2018
Режим: сингл
Стиль: 2D, пиксельарт

Особенности: Tower Defense от первого лица, возможность комбинировать и развивать защитные или атакующие свойства станции.
Сюжет - в минимальных дозах. Необходимо защитить свою исследовательскую станцию, волею непонятной аварии попавшей в астероидное поле. На протяжении 25 миссий игрок выясняет причины аварии, попутно истребляя летающие угрозы, как пассивные (всякие обломки-камни), так и активные. В помощь игроку приходит техническая лаборатория, где можно приобрести более мощное оружие, различные блоки и улучшения к ним. На приобретение тратятся очки репутации, которые зарабатываются как отстрелом целей, так и сбором всего что плохо летает.

Скриншоты:


В планах, если идея примется, 8 типов орудий, 16 блоков защитного или атакующего значения, около 100 улучшений для блоков. Также будет возможность комбинировать блоки и улучшения, поскольку возможности станции не предусматривают подключения блоков и улучшений больше определенного количества.

За качество видео не ругайтесь :) пытаюсь осваивать OBS, но при выкладывании все равно какая-то муть заливает.
https://www.youtube.com/watch?v=Gh2TuZLPG2A

Попробовать:
Демо-версия
Примечания: переключения орудий - цифры 1-3, первая миссия очень короткая (не пугайтесь - это заглушка для тренировочного уровня).

Буду благодарен за общую оценку идеи и того, что есть.


Лучше - быть, чем - казаться.
P.S. Прежде чем задавать вопрос - всегда просматриваю форум и справку


Сообщение отредактировал Granner - Среда, 29 Ноября 2017, 13:19
GrannerДата: Среда, 25 Октября 2017, 09:56 | Сообщение # 10 | Тема: instance_nearest
частый гость
Сейчас нет на сайте
А если делать в объекте переменную-маркер типа "0" - еще не поражен, "1" - стал целью заклинания? И в проверке instance_nearest делать еще одну проверку по этому маркеру: если переменная 0, то молния бьет по цели и переменная становится 1, а если 1 - то не трогаем.

Лучше - быть, чем - казаться.
P.S. Прежде чем задавать вопрос - всегда просматриваю форум и справку
GrannerДата: Суббота, 19 Августа 2017, 16:37 | Сообщение # 11 | Тема: Переименование или копирование объекта
частый гость
Сейчас нет на сайте
Спасибо отписавшимся. Пока делаю по аналогии с вариантом Интернет, хотя предпочтительнее конечно второй вариант - допускает больше разнообразия, но еще надо похимичить, как пойдет.

Лучше - быть, чем - казаться.
P.S. Прежде чем задавать вопрос - всегда просматриваю форум и справку
GrannerДата: Пятница, 18 Августа 2017, 17:29 | Сообщение # 12 | Тема: Переименование или копирование объекта
частый гость
Сейчас нет на сайте
Вероятно, я не совсем точно сформулировал запрос. Переименование или копирование должно происходить во время игры (загрузки новой миссии), а не при работе в редакторе.

Лучше - быть, чем - казаться.
P.S. Прежде чем задавать вопрос - всегда просматриваю форум и справку
GrannerДата: Пятница, 18 Августа 2017, 14:30 | Сообщение # 13 | Тема: Переименование или копирование объекта
частый гость
Сейчас нет на сайте
В игре есть объект centr, на котором завязаны действия других объектов. Для следующей миссии есть аналогичные объекты centr_N, похожие по коду, но все же отличающиеся от первого. Вопрос - есть ли возможность перекопировать код из объекта centr_N в объект centr? Как вариант - удалить объект centr и переименовать centr_N в centr?
В справке почитал про функцию instance_copy(performevent), но что-то не понял как она работает (у меня не работала).


Лучше - быть, чем - казаться.
P.S. Прежде чем задавать вопрос - всегда просматриваю форум и справку
GrannerДата: Воскресенье, 09 Июля 2017, 13:40 | Сообщение # 14 | Тема: Добавление источника света на существующий сурфейс
частый гость
Сейчас нет на сайте
Добавляя сурфейсы в свой проект, наткнулся на проблему отрисовки источников света, не существующих изначально при загрузке комнаты. Итак:
Есть темная комната (нет, кошки там нету!) с выключенными лампами и рубильником. При входе в комнату в Create рубильника создается сурфейс и источник света от героя:
Код
SVET=surface_create(room_width,room_height);
surface_set_target(SVET);
draw_clear_alpha(-1,0);
surface_reset_target();
instance_create(hero.x, hero.y, svet_hero);

В объекте svet_hero в Draw прописываются параметры сурфейса и собственно свет от героя:
Код
surface_set_target(rubil.SVET)
draw_set_alpha(0.8)
draw_rectangle_color(0,0,room_width,room_height,0,0,0,0,false)
draw_set_color(c_black)
draw_set_alpha(1)
draw_set_blend_mode(bm_subtract)
draw_sprite(surf,0,hero.x,hero.y)
draw_set_blend_mode(bm_normal)
surface_reset_target()
draw_surface(rubil.SVET,0,0)

При определенном игровом событии включается рубильник и создаются источники света для объектов lampa. В объекте lampa в Draw пишется:
Код
surface_set_target(rubil.SVET)
draw_set_blend_mode(bm_subtract)
draw_sprite(surf,0,x,y)
draw_set_blend_mode(bm_normal)
surface_reset_target()

Источники света появляются, однако они более затемненные, чем аналогичный источник от hero. Как это исправить? (изучал примеры для фонарика от "не помню автора" и пример и т.д.)

Добавлено (02 июля 2017, 15:43)
---------------------------------------------
Проблему решил внесением в Draw объекта, отвечающего за отрисовку сурфейса, проверки на включение рубильника и в результате нее - отрисовки спрайта света между командами draw_set_blend_mode(...).
При отсутствии в комнате видов все прорисовывается нормально, но тут пришла еще одна задача. При следовании вида за объектом hero (а именно - при приближении к границам вида!) все объекты, чьи координаты зависят от вида, смещаются в ту же сторону, уходя за пределы вида. Это HUD и все передвигающиеся мобы. Даже отрисовывание пуль становится странно - пули создаются "где-то там" и летят "куда-то туда". В одной из тем про сурфейсы был тот же вопрос, но там решалось командой draw_surface(svet,0,0). У меня также в draw объекта стоит эта же команда. Но результат ужасный.

Странно, что такая проблема нигде не решается, хотя и не такая простая, как перемещение объекта на пиксель. Да и игр про ужастики в темной комнате достаточно много...

Добавлено (09 июля 2017, 13:40)
---------------------------------------------
Судя по всему, вопрос был или чересчур сложный или очень простой, поэтому пришлось упарываться самому. Итак,
Смещение двигающихся мобов решается просто: их глубина (да и глубина всех недвигающихся объектов) должна быть больше, чем глубина объекта, создающего сурфейс, дальше от зрителя. Тогда объекты затемняются чернотой и тихо там шебуршатся, пока не попадают в зону освещения.
Что касается элементов HUD и объектов с глубиной ближе к зрителю, то здесь можно в их Draw прописывать координаты не x, y, a x-view_xview и y-view_yview. При этом, в объекте, создающем сурфейс в Draw должно быть не draw_surface(svet,0,0), а draw_surface(svet, view_xview,view_yview).
Может быть, кому-нибудь пригодится.


Лучше - быть, чем - казаться.
P.S. Прежде чем задавать вопрос - всегда просматриваю форум и справку


Сообщение отредактировал Granner - Воскресенье, 02 Июля 2017, 15:34
GrannerДата: Воскресенье, 29 Января 2017, 21:13 | Сообщение # 15 | Тема: Как создать однотипные тени для однотипных объектов?
частый гость
Сейчас нет на сайте
Да, отдельный объект для тени - это перебор, согласен :), но в твоем примере тень создается НАД объектом. (ап: Я тормоз, не выставил глубину тени)
А если через Draw - мои объекты анимированы, например, вращаются. А если рисовать тени через Draw, то тени работают, но как заставить основной объект вращаться?

Есть интересный пример для тени - но там тоже проблему с вращением не могу решить.


Лучше - быть, чем - казаться.
P.S. Прежде чем задавать вопрос - всегда просматриваю форум и справку


Сообщение отредактировал Granner - Воскресенье, 29 Января 2017, 21:25
GrannerДата: Воскресенье, 29 Января 2017, 20:39 | Сообщение # 16 | Тема: Как создать однотипные тени для однотипных объектов?
частый гость
Сейчас нет на сайте
Для 2D TDS решил добавить теней для двигающихся объектов. Есть ли какой-то общий принцип создания теней? То ли их надо закладывать уже при рисовании спрайта объекта, то ли они делаются как отдельный объект, следующий за игровым?
Попробовал в GM8 сделать второй вариант - при создании игрового объекта ball создается объект тени и следует за игровым. Однако экземпляров объекта ball у меня несколько, а тень (точнее, ее несколько экземпляров) прилипает к одному объекту, а не к нескольким. Может ли кто помочь натолкнуть в нужном направлении?


Лучше - быть, чем - казаться.
P.S. Прежде чем задавать вопрос - всегда просматриваю форум и справку
GrannerДата: Понедельник, 03 Октября 2016, 18:31 | Сообщение # 17 | Тема: Прошу оценку графики
частый гость
Сейчас нет на сайте
Ну уж обделали, так обделали... И где это у меня цилиндры перекошенные, бочки т.е.? Изометрия? Она там есть? И насчет жизненного опыта, тут вы, Gudleifr, сильно промахнулись. Рисовального опыта у меня мало, это так.
Barbatos, спасибо :)

Добавлено (03 октября 2016, 18:31)
---------------------------------------------

Цитата Gudleifr ()
обычных предметов обихода в наличии - никаких

Я ж не предлагал посмотреть уровень в целом. По частям оно надо было, а части рисовать долго.


Лучше - быть, чем - казаться.
P.S. Прежде чем задавать вопрос - всегда просматриваю форум и справку
GrannerДата: Понедельник, 03 Октября 2016, 16:05 | Сообщение # 18 | Тема: Прошу оценку графики
частый гость
Сейчас нет на сайте
Цитата Gudleifr ()
Ну по мелочам я насчитал пяток-десяток постоянно повторяющихся огрехов

Спасибо, но хотя бы 1-2 озвучьте, поскольку во время игрового процесса картинка у тестеров не вызывает явно отрицательных эмоций. Даже порой абсолютно противоположные есть мнения.


Лучше - быть, чем - казаться.
P.S. Прежде чем задавать вопрос - всегда просматриваю форум и справку
GrannerДата: Понедельник, 03 Октября 2016, 14:16 | Сообщение # 19 | Тема: Прошу оценку графики
частый гость
Сейчас нет на сайте
Дерзнули мы тут микро-командой сваять нечто вразумительное. Естественно, нужна графика (пришлось осваивать еще и это!). И вектор и пиксель-арт рисую впервые, поэтому нужна помощь в оценке по следующим критериям (учитывая, что реалистичная графика не нужна):
1. Общий стиль графики.
2. Явные косяки в цветовой гамме, различаемости объектов.
3. Основные направления, в которых нужно двигаться, чтобы минимизировать тошнотное впечатление, если таковое есть.
4. Стоит ли тратить время на большую детализацию в пиксельной картинке (к.4-6)?
5. Ваши замечания на любой счет :)

П.С. Понятно, что рассматривание картинки отдельно от игрового процесса не дает полного впечатления, но хоть что-нибудь... Первые две картинки - скрины, остальные - просто наборы.

Платформер






TDS






Лучше - быть, чем - казаться.
P.S. Прежде чем задавать вопрос - всегда просматриваю форум и справку


Сообщение отредактировал Granner - Понедельник, 03 Октября 2016, 14:25
GrannerДата: Пятница, 26 Августа 2016, 10:45 | Сообщение # 20 | Тема: Генерация движущегося фона с помощью объектов
частый гость
Сейчас нет на сайте
Упс, точно, я ж их не удалял. Всем спасибо за советы! Пойду хлопать себя по щекам и страдать дальше )

Лучше - быть, чем - казаться.
P.S. Прежде чем задавать вопрос - всегда просматриваю форум и справку
Форум игроделов » Записи участника » Granner [47]
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Поиск:

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