Среда, 24 Апреля 2024, 19:04

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 3 из 6
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • »
Форум игроделов » Записи участника » nekroo98 [120]
Результаты поиска
nekroo98Дата: Среда, 23 Октября 2013, 15:44 | Сообщение # 41 | Тема: Методы для рисования в game maker
почетный гость
Сейчас нет на сайте
Ну или можно рисовать БОЛЬШИЕ спрайты в фотошопе, прорабатывая детали, используя все доступные инструменты. А затем переносить это в ГМ, и уменьшать размер спрайта до 50х50 с наивысшим качеством. Тогда получается вполне сносно.

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

И если что, фотошоп можно привязать к гамаку, в настроечках.
nekroo98Дата: Четверг, 17 Октября 2013, 23:27 | Сообщение # 42 | Тема: Как сделать?
почетный гость
Сейчас нет на сайте
Чтобы прям плавно менялся цвет - делай аларм, пусть он каждые несколько шагов(5 скажем) меняет цвет R на R+1, не трогая остальные, когда дойдет до 255 - начинаешь менять цвет G и так далее. Ну или обнули сначала R, потом меняй следующие. В итоге цвет будет медленно перетекать из одного в другой, а не скакать рандомными тонами.
Можно сделать этот код в обьекте каком то невидимом, и поставить его в комнату, ну и сделать постоянным, если есть переходы по комнатам.
create
Код
background_color=make_color_rgb(r,g,b);r=0;g=0;b=0; alarm[0]=5;

alarm
Код
if r != 255{r += 1} else {if g != 255{g += 1} else{if b != 255{b += 1}}}
if r = 255 and g = 255 and b = 255 {r=0; g=0; b=0;}
alarm[0]=5;


Хз, будет ли оно работать в обьекте, но суть ты надеюсь уловил.


Сообщение отредактировал nekroo98 - Четверг, 17 Октября 2013, 23:36
nekroo98Дата: Четверг, 17 Октября 2013, 11:54 | Сообщение # 43 | Тема: Текст с обводкой
почетный гость
Сейчас нет на сайте
ясно, попробуем, спасибо)

Эм, а цвет шрифта, который сам нарисовал, нельзя поменять? Он отрисовывается тока черным у меня sad


Сообщение отредактировал nekroo98 - Четверг, 17 Октября 2013, 12:15
nekroo98Дата: Четверг, 17 Октября 2013, 10:32 | Сообщение # 44 | Тема: Текст с обводкой
почетный гость
Сейчас нет на сайте
можно ли в гамаке сделать цветной шрифт с обводкой(контуром другого цвета)? а то из спрайтов создается только монохромный, а это не то.
nekroo98Дата: Вторник, 15 Октября 2013, 23:21 | Сообщение # 45 | Тема: Error
почетный гость
Сейчас нет на сайте
дк а что там исправлять то? Сам допиши то что нужно.
типа так, если я прально понял чего ты хочешь
Код
if (current_version != ds_list_find_value(version_list, ds_list_size(version_list) - 1)) {room_goto(1)}


1 - это первая комната в списке комнат, замени цифру на ту которую тебе надо. Этот скрипт выполнит переход в данную комнату, если условие
"(current_version != ds_list_find_value(version_list, ds_list_size(version_list) - 1))" будет выполнено
nekroo98Дата: Вторник, 15 Октября 2013, 22:41 | Сообщение # 46 | Тема: Error
почетный гость
Сейчас нет на сайте
да тут не в ГМЛ дело, это обычная логика.
Должно быть так
if (условие) {(то, что будет, если условие выполняется)} а ещё можно дописать else


Сообщение отредактировал nekroo98 - Вторник, 15 Октября 2013, 22:42
nekroo98Дата: Вторник, 15 Октября 2013, 20:42 | Сообщение # 47 | Тема: Создание двух одинаковых обьектов одновременно
почетный гость
Сейчас нет на сайте
Цитата
Задавай значение переменной в криэйт нового. Он, криэйт выполняется один раз.
А вообще дешевле написать скрипт чем создавать обьект. К слову.


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

Так что пишем в Криэйте alarm[0]=1;
И уже в аларме то, что нам надо.

Спасибо за идею, как то недодумался до такой фигни smile


Сообщение отредактировал nekroo98 - Четверг, 17 Октября 2013, 10:31
nekroo98Дата: Вторник, 15 Октября 2013, 02:18 | Сообщение # 48 | Тема: Создание двух одинаковых обьектов одновременно
почетный гость
Сейчас нет на сайте
А что это изменит? Я немного не правильно обрисовал проблему. Обьект то новый создается, только значение урона меняется в ОБОИХ, т.е. в новом и в старом, будет НОВОЕ значение.
Вот можете посмотреть пример. На код и ошибки не обращайте внимания, я специально подкрутил для наглядности smile
В общем, уточню требование: необходимо, чтобы создавалось 2 и более обьектов, с разными значениями урона.
ТЫК
nekroo98Дата: Понедельник, 14 Октября 2013, 23:08 | Сообщение # 49 | Тема: Создание двух одинаковых обьектов одновременно
почетный гость
Сейчас нет на сайте
Цитата Gavolot ()
Так создавай просто новый объект, так проще и дешевле других методов. Во всяком случае в гм. Любые массивы в гм обрабатываются дороже чем новый объект, а стандартными дс листами делать, тоже как-то бредновато.


На пальцах обьясни как это выглядит с кодом. Сейчас у меня примерно следущее
Код
if input_damage > 0 {блаблабла, расчет урона, instance_create(x,y,damage_drawer); damage_drawer.kolichestvo_yrona = полученный в расчетах дамаг;
input_damage = 0;}

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

В самом обьекте-рисовалке
Код
alarm[0]=90;   
в аларме {instance_destroy()}


Сообщение отредактировал nekroo98 - Понедельник, 14 Октября 2013, 23:27
nekroo98Дата: Понедельник, 14 Октября 2013, 22:02 | Сообщение # 50 | Тема: Создание двух одинаковых обьектов одновременно
почетный гость
Сейчас нет на сайте
Не буду создавать новую тему, спрошу тут.
Наверняка многие видели, как в различных играх отрисовывается урон. Когда из персонажа "вылетают" цифры.

Так вот, я создаю обьект и присваиваю ему значение урона, он показывается некоторое время и уничтожается. Все классно.

Но. Если в этот момент будет получен ещё урон, значение "первого" просто заменится и он продолжит лететь, пока не уничтожится. Проблема, как я понимаю, в том, что мы создаем один и тот же обьект с разными значениями.

Внимание, вопрос happy :
Как добиться отображения всех "чисел" одновременно?
nekroo98Дата: Понедельник, 14 Октября 2013, 21:57 | Сообщение # 51 | Тема: AI для танков
почетный гость
Сейчас нет на сайте
А с магазином то что сложного?

Код
if gold >= 100 {tank1.armor += 1; tank1_speed += 1; gold -= 100;} else {sound_play(nuzhno_bolshe_zolota)}


Опишу подробнее. Создаешь обьект, задаешь ему спрайт, в событии "Левая клавиша мыши отпущена" пишешь вот такой код.
gold - твои деньги
tank1.armor - переменная брони у танка игрока
else можешь не писать, сути не изменит
nekroo98Дата: Суббота, 12 Октября 2013, 16:06 | Сообщение # 52 | Тема: Создание двух одинаковых обьектов одновременно
почетный гость
Сейчас нет на сайте
Цитата Fade ()
Попробуй point_distance(x1, y1, x2, y2), может, больше соответствует требованиям.

Действительно, эта функция работает как нужно. Странно, ведь вроде разницы то нет.
nekroo98Дата: Суббота, 12 Октября 2013, 10:55 | Сообщение # 53 | Тема: Создание двух одинаковых обьектов одновременно
почетный гость
Сейчас нет на сайте
Может я чего то не понимаю, но разве так должно быть? distance_to_point увеличивает значение при движении по +х\+у и уменьшает по -х\-у? При этом изначальное значение в точке, откуда идет расчер - примерно = 140750.

Как нормально измерить дистанцию от точки до точки?


Сообщение отредактировал nekroo98 - Четверг, 26 Марта 2015, 12:41
nekroo98Дата: Четверг, 10 Октября 2013, 23:24 | Сообщение # 54 | Тема: Помогите с draw
почетный гость
Сейчас нет на сайте
Не буду создавать новую тему, спрошу тут.
В событии Draw такой код, обьект движется 15 шагов и уничтожается.
Код
draw_text_color(x,y,''+string(damage),black,black,black,black,1)

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

В чем мой косяк? Нужно, чтобы текст отрисовывался в текущих координатах каждого шага...

Вопрос снимается, та как, оно само почему то устранилось, хотя вроде не менял то, что может влиять на этот код...Ну как обычно в общем smile


Сообщение отредактировал nekroo98 - Пятница, 11 Октября 2013, 11:56
nekroo98Дата: Пятница, 23 Августа 2013, 15:43 | Сообщение # 55 | Тема: Цепная молния
почетный гость
Сейчас нет на сайте
Цитата (MR_Borg)
А не проще в обьекте молния создать лист из 5 целей и последовательно бить по врагу и незапариваться с метками.


не, не проще. молнии то может быть 3 штуки. все 3 - отдельные обьекты. и у меня нет меток, у меня просто по родителю определяется свой-чужой. такие дела smile

А ещё ограничение на дистанцию молнии - 2 клетки, что тоже нужно учитывать.

Добавлено (23.08.2013, 15:43)
---------------------------------------------

Цитата (Krosos)
В твоем случае надо , просто создать метку над ближайшим игроком , и создавать от следующей , и так далее ,


Вот нечто такое и было изначально, просто вместо врага молния била вникуда, ибо вместо id врага бралась еденичка.


Сообщение отредактировал nekroo98 - Пятница, 23 Августа 2013, 15:28
nekroo98Дата: Пятница, 23 Августа 2013, 15:15 | Сообщение # 56 | Тема: Цепная молния
почетный гость
Сейчас нет на сайте
Цитата (Dmi7ry)
Да, собственно, переделать - дело десяти минут, но вам, похоже, нужно, чтобы за вас полностью всё сделали...


Ну да, конечно. Не зная устройство и систему всей боевки, заявлять такое.
Я не дурак и прекрасно знаком с gml, ну почти. И поверь мне, твой пример ну вообще никак не подходит, совсем.
Мне не нужно, чтобы делали что-то за меня, мне нужен толчок, в каком направлении копать. Потому что то, что делаю я почему то не работает, и я понятия не имею почему, вроде должно biggrin

Добавлено (23.08.2013, 11:25)
---------------------------------------------

Цитата (stalker5889)
По id. Одна лишняя проверка, всего то.


Всмысле по ид? instance_nearest не учитывает ид ведь, просто тупо берет ближайший объект и все. А этим объектом является родитель "team2", который стоит у всех врагов. Объясни как прилепить проверку, я не понимаю?

Добавлено (23.08.2013, 15:15)
---------------------------------------------
В общем дело такое.
Нашел я косяк с отображением спрайта. Формула должна быть следущая, если кому надо

Код
image_angle=(point_direction(x,y,vrag.x,vrag.y))+90;


Где vrag - ид обьекта, в которого бьет молния. Ну или что там у вас.

А косяк как всегда был неожиданным. В моем случае в переменную vrag записывалась еденица. Понятия не имею почему и как.
Создал отдельный обьект, который уже сам создает молнию и уничтожается, и вуаля, как часы работает.

Спасибо за ответы, я это ценю.
С уважением :).
nekroo98Дата: Пятница, 23 Августа 2013, 09:19 | Сообщение # 57 | Тема: Цепная молния
почетный гость
Сейчас нет на сайте
Лол smile

Что значит ограничение на поиск цели?

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

Направление спрайта у меня делается таким образом
Step
Код
image_angle=(point_direction(0,0,vrag.x+25,vrag.y+25))-135;

0,0- это соответственно координаты начальной точки спрайта. vrag.x+25, vrag.y+25 - это координаты середины спрайта обьекта-врага.

Что я делаю не так?


Сообщение отредактировал nekroo98 - Пятница, 23 Августа 2013, 09:19
nekroo98Дата: Четверг, 22 Августа 2013, 22:57 | Сообщение # 58 | Тема: Цепная молния
почетный гость
Сейчас нет на сайте
Цитата (Krosos)
а что у тебя за жанр игры?

TBS

ну это как например боевка в героях. пошаговая битва.
nekroo98Дата: Четверг, 22 Августа 2013, 20:20 | Сообщение # 59 | Тема: Цепная молния
почетный гость
Сейчас нет на сайте
Цитата (Krosos)
1.Создаются ячейки repeat(5){ 2.Сигнал ячейкам: 3.Проверка наличия игрока в ячейках 4.Проверка достижимости 5.Если ячейка еще не атаковалась 6.Если первые 3 условия совпали то объявляем ячейку глобально атакуемой 7.Если глобально атакуемая ячейка >0 , то атакуем ее иначе удаляемся } instance_destroy()


Честно говоря, вообще нифига не понял :). У меня система боя несколько другая. И в коде нет ничего сложного, просто переменные очень длинные.

суть в следущем, как я уже и писал
Код

если в клетке есть враг и молния2 не создана {записываем ид врага, создаем молнию2, записываем в неё ид врага и создателя. ставим переключатель "молния 2 создана", дальше код не идет}


Сделай пример, если не трудно, как должна работать твоя система.
nekroo98Дата: Четверг, 22 Августа 2013, 18:41 | Сообщение # 60 | Тема: Цепная молния
почетный гость
Сейчас нет на сайте
Спасибо за пример, но это не то.
Создатель молнии, и враг, на которого она направлена определяются в первую очередь, по ним уже создается обьект-молния, и тд. При этом молния перебрасывается 3 раза максимум, не учитывая столкновения с обьектами вообще никак.

Спрайт присваивается в свойствах. В степе меняется image_angle. Через draw - такая же херня.

Быдлокод следущий:

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

сама молния
STEP
image_angle = *тут какая-то формула с вычислением угла до обьекта-врага - 125, но в другом обьекте это работает как надо, реализовано так же*
if attack = 0 {vrag.input_lightning_damage = sozdatel.lightningatk; vrag.input_magic_damage = sozdatel.matk; attack = 1}

//присваиваем атакуемому урон от атакующего, так как его обработка идет непосредственно в обьекте-юните
if place_meeting(vrag.x - 100,vrag.y-100,team2) and perec = 0 {vrag_next = instance_place(vrag.x-100,vrag.y-100,team2); instance_create(vrag.x,vrag.y,обьект-молния-2);
обьект-молния-2.sozdatel = sozdatel; обьект-молния-2.vrag = vrag_next; lightning_damage = sozdatel.lightningatk; magic_damage = sozdatel.matk; perec =1}

......
и так 24 строчки, исключая того, на кого направлена молния в первый раз.
//тут проверяем - есть ли кто-то из врагов рядом, если есть то запускаем 2 кусок цепной молнии в него.


Сообщение отредактировал nekroo98 - Четверг, 22 Августа 2013, 19:28
Форум игроделов » Записи участника » nekroo98 [120]
  • Страница 3 из 6
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • »
Поиск:

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