Результаты поиска
| |
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 | Тема: Текст с обводкой |
почетный гость
Сейчас нет на сайте
| ясно, попробуем, спасибо)
Эм, а цвет шрифта, который сам нарисовал, нельзя поменять? Он отрисовывается тока черным у меня
Сообщение отредактировал 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; И уже в аларме то, что нам надо.
Спасибо за идею, как то недодумался до такой фигни
Сообщение отредактировал nekroo98 - Четверг, 17 Октября 2013, 10:31 |
|
| |
nekroo98 | Дата: Вторник, 15 Октября 2013, 02:18 | Сообщение # 48 | Тема: Создание двух одинаковых обьектов одновременно |
почетный гость
Сейчас нет на сайте
| А что это изменит? Я немного не правильно обрисовал проблему. Обьект то новый создается, только значение урона меняется в ОБОИХ, т.е. в новом и в старом, будет НОВОЕ значение. Вот можете посмотреть пример. На код и ошибки не обращайте внимания, я специально подкрутил для наглядности В общем, уточню требование: необходимо, чтобы создавалось 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 | Тема: Создание двух одинаковых обьектов одновременно |
почетный гость
Сейчас нет на сайте
| Не буду создавать новую тему, спрошу тут. Наверняка многие видели, как в различных играх отрисовывается урон. Когда из персонажа "вылетают" цифры.
Так вот, я создаю обьект и присваиваю ему значение урона, он показывается некоторое время и уничтожается. Все классно.
Но. Если в этот момент будет получен ещё урон, значение "первого" просто заменится и он продолжит лететь, пока не уничтожится. Проблема, как я понимаю, в том, что мы создаем один и тот же обьект с разными значениями.
Внимание, вопрос : Как добиться отображения всех "чисел" одновременно?
|
|
| |
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) Текст отрисовывается в каждом шаге, при этом не исчезает даже после уничтожения обьекта, в итоге получается размазанное пятно заместо текста.
В чем мой косяк? Нужно, чтобы текст отрисовывался в текущих координатах каждого шага...
Вопрос снимается, та как, оно само почему то устранилось, хотя вроде не менял то, что может влиять на этот код...Ну как обычно в общем
Сообщение отредактировал nekroo98 - Пятница, 11 Октября 2013, 11:56 |
|
| |
nekroo98 | Дата: Пятница, 23 Августа 2013, 15:43 | Сообщение # 55 | Тема: Цепная молния |
почетный гость
Сейчас нет на сайте
| Цитата (MR_Borg) А не проще в обьекте молния создать лист из 5 целей и последовательно бить по врагу и незапариваться с метками.
не, не проще. молнии то может быть 3 штуки. все 3 - отдельные обьекты. и у меня нет меток, у меня просто по родителю определяется свой-чужой. такие дела
А ещё ограничение на дистанцию молнии - 2 клетки, что тоже нужно учитывать.Добавлено (23.08.2013, 15:43) ---------------------------------------------
Цитата (Krosos) В твоем случае надо , просто создать метку над ближайшим игроком , и создавать от следующей , и так далее ,
Вот нечто такое и было изначально, просто вместо врага молния била вникуда, ибо вместо id врага бралась еденичка.
Сообщение отредактировал nekroo98 - Пятница, 23 Августа 2013, 15:28 |
|
| |
nekroo98 | Дата: Пятница, 23 Августа 2013, 15:15 | Сообщение # 56 | Тема: Цепная молния |
почетный гость
Сейчас нет на сайте
| Цитата (Dmi7ry) Да, собственно, переделать - дело десяти минут, но вам, похоже, нужно, чтобы за вас полностью всё сделали...
Ну да, конечно. Не зная устройство и систему всей боевки, заявлять такое. Я не дурак и прекрасно знаком с gml, ну почти. И поверь мне, твой пример ну вообще никак не подходит, совсем. Мне не нужно, чтобы делали что-то за меня, мне нужен толчок, в каком направлении копать. Потому что то, что делаю я почему то не работает, и я понятия не имею почему, вроде должно Добавлено (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 | Тема: Цепная молния |
почетный гость
Сейчас нет на сайте
| Лол
Что значит ограничение на поиск цели?
Делать через ближайший обьект - 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 |
|
| |
|