Результаты поиска
| |
Hittagi | Дата: Пятница, 26 Февраля 2021, 16:04 | Сообщение # 1 | Тема: Помогите доделать звуки исходящие от объекта GMS2 |
был не раз
Сейчас нет на сайте
| Звук исходит от объекта , но неправильно, если объект слева - звук справа и тд, помогите доработать это В событии step объекта от которого исходит звук:
Код if (distance_to_object(obj_character) > dist_for_sound) { audio_pause_sound(rk); } else { audio_resume_sound(rk); } В событии create объекта от которого исходит звук:
Код rk =audio_play_sound_at(s_enemy_light_idle, x,y, 1, 0, 0, 1, true, 1); В step событии слушателя
Код audio_listener_position(x,y,0); Добавлено (26 Февраля 2021, 16:42) --------------------------------------------- Пофиксил
|
|
| |
Hittagi | Дата: Понедельник, 22 Февраля 2021, 14:52 | Сообщение # 2 | Тема: Звуки в GMS 2 |
был не раз
Сейчас нет на сайте
| Сделал чтобы звук исходил от объекта при условии - если дистанция до персонажа <= цифре и если дистанция > цифры , то звук исходящий от объекта выключается. Проблема вот в чем, если этих объектов(от которых исходит звук) несколько и они на разном расстоянии от персонажа , то условие выполняется по отношению сразу всех объектов к персонажу и звук моментально выключается. Выходит soundid не является уникальным для каждого объекта? Как фиксить ? чего я не понимаю ?
Код if (distance_to_object(obj_character) <= dist_for_sound && audiocd <= 0) { audiocd = 300; audio_play_sound_at(s_enemy_light_idle, x, y, 0, 400, 600, 1, true, 1); }
if (distance_to_object(obj_character) > dist_for_sound) { audiocd =0; audio_pause_sound(s_enemy_light_idle); } Добавлено (25 Февраля 2021, 17:09) --------------------------------------------- пофиксил
Сообщение отредактировал Hittagi - Четверг, 25 Февраля 2021, 11:52 |
|
| |
Hittagi | Дата: Пятница, 19 Февраля 2021, 19:34 | Сообщение # 3 | Тема: GMS 2 помогите прописать моба |
был не раз
Сейчас нет на сайте
| Анимация атаки обрывается на случайном кадре если меняется переменная state , в принципе понятно почему.Я подхожу , условие if ((state == states.attack)) выполняется,анимация начинается, я отхожу раньше чем закончилась анимация, переменная state меняется и анимация прерывается, помогите сделать так , чтобы анимация закончилась и только после этого менялся state.Код ниже step event :Код if (state == states.idle && sprite_index != spr_skeleton_attack2) { counter += 1; if (counter >= room_speed *3) { var change = choose(0,1); switch(change) { case 0: state = states.wander; case 1: counter = 0; break; } } if (collision_circle(x,y,100,obj_character,false,false)) { state = states.alert; } sprite_index = spr_skeleton_idle; } else { if (state == states.wander && sprite_index != spr_skeleton_attack2) { counter += 1; x += moveX; y += moveY;
if (counter >= room_speed *3) { var change = choose (0,1); switch (change) { case 0: state = states.idle; case 1: my_dir = irandom_range(0,359); moveX = lengthdir_x(spd, my_dir); moveY = lengthdir_y(spd, my_dir); counter = 0;
} } if (collision_circle(x,y,100,obj_character,false,false)) { state = states.alert; } sprite_index = spr_skeleton_walk; image_xscale = sign(moveX); } else { if (state == states.alert && sprite_index != spr_skeleton_attack2) { my_dir = point_direction(x,y,obj_character.x,obj_character.y); moveX = lengthdir_x(spd, my_dir); moveY = lengthdir_y(spd, my_dir); x += moveX; y += moveY; if (!collision_circle(x,y,100,obj_character,false,false)) { state = states.idle; } if (collision_circle(x,y,32,obj_character,false,false)) { state = states.attack; } if (collision_circle(x,y,32,obj_wall,false,false)) { moveX -= 1; } sprite_index = spr_skeleton_walk; image_xscale = sign(moveX); } else { if ((state == states.attack)) { if (firecd < 0) { sprite_index = spr_skeleton_attack2; speed = 0; instance_create_layer(x, y, "Instances",obj_hitbox_enemy); global.timer1 = 4; global.hit_true1 = true; } else { state = states.alert; } } } } } global.timer1 = global.timer1 -1; if (global.timer1 <= 0 ) { global.timer1 = 0; } firecd = firecd - 1;
create:
Код enum states { idle, wander, alert, attack } state = states.idle; counter = 0; spd = 0.9; my_dir = irandom_range(0,359); moveX = lengthdir_x(spd, my_dir); moveY = lengthdir_y(spd, my_dir); my_slash = noone; firecd = 0; global.hit_true1 = false; global.timer1 = 0; global.hit1 = 0;
animation end:
Код if (sprite_index == spr_skeleton_attack2) { firecd = 300; sprite_index = spr_skeleton_idle; image_index = 0; } if (sprite_index == spr_skeleton_death) { image_index = 12; } if (sprite_index == spr_skeleton_walk) { image_index = 0; }
if (sprite_index == spr_skeleton_idle) { image_index = 0; }
другиe думаю не пригодятся
Сообщение отредактировал Hittagi - Пятница, 19 Февраля 2021, 19:37 |
|
| |
Hittagi | Дата: Четверг, 11 Февраля 2021, 21:57 | Сообщение # 4 | Тема: gms2 против меня |
был не раз
Сейчас нет на сайте
| Цитата faridunibodullo ( ) direction = point_direction(x,y ,obj_cursor1.x,obj_cursor1.y); speed = spd; if(distance_to_object(obj_cursor1))>0 { spd = (distance_to_object(obj_cursor1)/2) } else { spd = 0; x = obj_cursor1.x; y = obj_cursor1.y; }
Все ок , спасибо )
|
|
| |
Hittagi | Дата: Четверг, 11 Февраля 2021, 15:15 | Сообщение # 5 | Тема: gms2 против меня |
был не раз
Сейчас нет на сайте
| Парни, не могу понять ,объект - "obj_cursor1" движется строго за мышкой x = mouse_x; y = mouse_y; , все как у людей. Так же есть второй объект "obj_cursor2", который плавно передвигается за первым объектом при коде в step event ниже:
direction = point_direction(x,y ,obj_cursor1.x,obj_cursor1.y); speed = spd; if (distance_to_object(obj_cursor1) > dist) { spd = 11; if (distance_to_object(obj_cursor1) > dist1) { spd = 16; if (distance_to_object(obj_cursor1) > dist2) { spd = 20; } else { spd = 16; } } else { spd = 11; } } else { spd = 6; } и create:
spd= 6; dist = 100; dist1 = 200; dist2 = 300;
Все вроде логично , но когда "obj_cursor2" достигает своей цели , спрайт начинает некорректно отображаться, как будто двоится. Самое главное , заскринить это я не могу, на скрине ничего не видно (на трансляции в дискорде тоже кстати). Скорее всего я чего то не понимаю ,помогите дураку.Добавлено (11 Февраля 2021, 17:27) --------------------------------------------- https://sun9-37.userapi.com/impf/RoXiGZtOeKXH7f2zVreaS_on--utchvdTLNVHA/NHcC__nRLAo.jpg?size=233x179&quality=96&proxy=1&sign=49655462d2a7922907ca5f0da2558fd2&type=album
вот скрин , круг по середине - obj_cursor1 , окружность - obj_cursor2 (как уже говорил , на скрине все ок)
|
|
| |
Hittagi | Дата: Воскресенье, 07 Февраля 2021, 13:16 | Сообщение # 6 | Тема: Проблемы при компиляции в GMS2 |
был не раз
Сейчас нет на сайте
| Цитата MagicHero ( ) Глубина обьектов меньше чем комнаты? иначе они будут рисоваться за бекграундом. Если в обьектах используется что либо в событии draw то надо прописывать draw_self();
с глубиной все норм было , проблема в техническом плане была , переустановил винду и все норм работает , спс
|
|
| |
Hittagi | Дата: Пятница, 05 Февраля 2021, 15:58 | Сообщение # 7 | Тема: Проблемы при компиляции в GMS2 |
был не раз
Сейчас нет на сайте
| Добавляю объекты в комнату , нажимаю F5 и объектов не видно. Visible на объектах стоит , на слоях тоже. Зато если меняю цвет бекграунду ,это заметно, но объектов все так же нет. В старых проектах такая же проблема , нужна помощь
|
|
| |
|