Вторник, 18 Июня 2019, 21:39

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker Studio » Мои вопросы по GM (Не только художники хотят кодить))
Мои вопросы по GM
AnthemДата: Четверг, 19 Июля 2012, 13:38 | Сообщение # 1
Д'Артаньян
Сейчас нет на сайте
Всем привет. Захотелось начать реализацию одной из моих давних задумок. Стратегия непрямого контроля. Вопросов возникнет куча. Буду задавать их в этой теме. И первый самый глупый/простой:
Если сделать событие рисования в объекте, то он становится невидимым. Как это исправить?


Текстовый контент для вашей игры (бесплатно)
Сценарист, геймдизайнер для Вашей игры
QvantДата: Четверг, 19 Июля 2012, 13:42 | Сообщение # 2
почти ветеран
Сейчас нет на сайте
draw_self()
ФилДата: Четверг, 19 Июля 2012, 13:54 | Сообщение # 3
Томатный революционер
Сейчас нет на сайте
Code
draw_sprite_ext(sprite_index, image_index, x, y, image_xscale, image_yscale, image_angle, c_white, 1);
AnthemДата: Четверг, 19 Июля 2012, 14:00 | Сообщение # 4
Д'Артаньян
Сейчас нет на сайте
Qvant, написано: неизвестная функия

Quote (Фил)
1
draw_sprite_ext(sprite_index, image_index, x, y, image_xscale, image_yscale, image_angle, c_white, 1);
Чувствую, что это не то


Текстовый контент для вашей игры (бесплатно)
Сценарист, геймдизайнер для Вашей игры


Сообщение отредактировал Anthem - Четверг, 19 Июля 2012, 14:03
МистерИксДата: Четверг, 19 Июля 2012, 14:16 | Сообщение # 5
Текстовик
Сейчас нет на сайте
Quote (Anthem)
Чувствую, что это не то

Чем чувствуешь? Он все правильно сказал. В Draw, помимо всего, нужно отрисовывать еще и собственный спрайт, код именно таков.



Три Пути - текстовый квест
Not Quite Heroes - пародийная jRPG в разработке
AnthemДата: Четверг, 19 Июля 2012, 14:25 | Сообщение # 6
Д'Артаньян
Сейчас нет на сайте
Quote (МистерИкс)
Чем чувствуешь? Он все правильно сказал. В Draw, помимо всего, нужно отрисовывать еще и собственный спрайт, код именно таков.
Тем, что раньше я так не делал. А если текст рисовать, то спрайт не нужно?


Текстовый контент для вашей игры (бесплатно)
Сценарист, геймдизайнер для Вашей игры


Сообщение отредактировал Anthem - Четверг, 19 Июля 2012, 14:29
hero564Дата: Четверг, 19 Июля 2012, 14:37 | Сообщение # 7
Made in Ukraine
Сейчас нет на сайте
Anthem, нет там
Code
draw_text("String")
NazaДата: Четверг, 19 Июля 2012, 15:40 | Сообщение # 8
GMUser
Сейчас нет на сайте
Поподробнее объясни что хочешь или кинь исходник.
AnthemДата: Четверг, 19 Июля 2012, 17:20 | Сообщение # 9
Д'Артаньян
Сейчас нет на сайте
meax, я как обычно сделал по-своему и проще. Жаль времени больше уходит. А ты хорошо в гамаке разбираешься?

Добавлено (19.07.2012, 17:20)
---------------------------------------------
Теперь нужен код посложнее. Все время с подобным возникают сложности.
У объекта А снижается некоторая переменная. По достижению минимального уровня, он направляется к ближайшему объекту В. Останавливается около него и переменная увеличивается. После достижения максимального уровня, объект А должен отойти от объекта В.


Текстовый контент для вашей игры (бесплатно)
Сценарист, геймдизайнер для Вашей игры
JAMPERДата: Четверг, 19 Июля 2012, 17:28 | Сообщение # 10
почетный гость
Сейчас нет на сайте
Насколько быстро должна снижаться переменная?

Zombie Day --- "Без шансов"
Space Conflict --- игра на Gamiron #8
Kill your brain --- игра на Gamiron #10
Eat them all!--- игра на Gamiron #12
МистерИксДата: Четверг, 19 Июля 2012, 17:30 | Сообщение # 11
Текстовик
Сейчас нет на сайте
Anthem, здесь, по сути, тоже нет ничего сложного, нужна лишь логика.
В Create у obj_A
go=100 //Переменная
gox=-1 goy=-1 //Точки, куда нужно идти
В Step
go-=1
if point_distance(x,y,gox,goy)>1 mp_potential_step(gox,goy,нужная_скорость,true)
if go<=0 {gox=obj_B.x goy=obj_B.y}
if distance_to_object(obj_B)<=10 go+=1
if go>100 {go=100 gox=x-50 goy=y}

В данном случае объект подходит ко второму объекту, ждет, пока накопится переменная, потом отходит на 50 пикселей влево.



Три Пути - текстовый квест
Not Quite Heroes - пародийная jRPG в разработке
AnthemДата: Четверг, 19 Июля 2012, 17:56 | Сообщение # 12
Д'Артаньян
Сейчас нет на сайте
МистерИкс, если честно, нихрена не понятно))
Quote (МистерИкс)
gox=-1 goy=-1 //Точки, куда нужно идти
Это координаты?


Текстовый контент для вашей игры (бесплатно)
Сценарист, геймдизайнер для Вашей игры


Сообщение отредактировал Anthem - Четверг, 19 Июля 2012, 17:56
МистерИксДата: Четверг, 19 Июля 2012, 17:58 | Сообщение # 13
Текстовик
Сейчас нет на сайте
Quote (Anthem)
Это координаты?

Это тоже переменные, в них заносим точки, куда нужно идти. Потом, ориентируясь на эти переменные, в степ идем туда, куда нужно. -1 - для примера; чтобы нормально работало, нужно вместо этого вписать
gox=x goy=y



Три Пути - текстовый квест
Not Quite Heroes - пародийная jRPG в разработке
AnthemДата: Вторник, 24 Июля 2012, 16:23 | Сообщение # 14
Д'Артаньян
Сейчас нет на сайте
Имеет ли право на существование такая строчка:
Code
if var=0 motion_set(direction+=180,0.1)


Текстовый контент для вашей игры (бесплатно)
Сценарист, геймдизайнер для Вашей игры
hero564Дата: Вторник, 24 Июля 2012, 17:15 | Сообщение # 15
Made in Ukraine
Сейчас нет на сайте
Code
if var=0 motion_set((direction+=180),0.1)
- вот так должно работать
AnthemДата: Вторник, 24 Июля 2012, 21:21 | Сообщение # 16
Д'Артаньян
Сейчас нет на сайте
hero564, верю, что должно, но не работает

Добавлено (24.07.2012, 21:21)
---------------------------------------------
Я правильно понимаю, что в событие столкновения нет смысла ставить "будильник"?


Текстовый контент для вашей игры (бесплатно)
Сценарист, геймдизайнер для Вашей игры
SaladinДата: Среда, 25 Июля 2012, 01:00 | Сообщение # 17
заслуженный участник
Сейчас нет на сайте
Quote
if var=0 motion_set(direction+=180,0.1)

Ну не работает, так и должно быть.
direction+=180 - это функция, и она не дает конкретное значение на выходе, а только совершает определенное действие. Чтобы функцию можно было использовать как аргумент, она должна быть оформлена в отдельный скрипт, который возвращает значение. Иначе она должна быть выполнена перед функцией, которая использует ее результат записанный в переменную.

В общем допустимо либо:
Код скрипта:
Code
direction+=180
return direction

Код события:
Code
if var=0 motion_set(scr_direction(),0.1)


Или же вот так:
Code
if var=0  
{
     direction+=180;
     motion_set(direction,0.1);
}

Quote (Anthem)
в событие столкновения нет смысла ставить "будильник"?

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


Анбаннэд. Хэлоу эгин =)
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker Studio » Мои вопросы по GM (Не только художники хотят кодить))
  • Страница 1 из 1
  • 1
Поиск:

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