|
Название: Как повернуть систему частиц? И зафиксировать дальность?TDS. GMS2(2.3.7.606) Отправлено: SG23NK23 от Декабрь 19, 2021, 16:42:08 Здравствуйте, если будут не понимания то прошу написать что ещё предоставить.
У меня есть система частиц. И получается следующее если её просто приклеить к повороту мышки то она разлетается по диагонали. А нужно чтобы струя частиц была струёй всегда. Т.е. если взять и смотреть строго в право или вверх (по оси х или y) то она струя, а если по диагонали то струя превращается в некий овал. Так же хотелось чтобы дальше чем некий радиус она (струя) не вылазила. Не могу этот момент сделать. Прошу помочь мне. Название: Re: Как повернуть систему частиц? И зафиксировать дальность?TDS. GMS2(2.3.7.606) Отправлено: SilentPhil от Декабрь 19, 2021, 17:35:37 Прикладывайте код.
Цитировать Так же хотелось чтобы дальше чем некий радиус она (струя) не вылазила. Не могу этот момент сделать. При уменьшении времени жизни частиц - струя будет меньше. Название: Re: Как повернуть систему частиц? И зафиксировать дальность?TDS. GMS2(2.3.7.606) Отправлено: SG23NK23 от Декабрь 19, 2021, 19:19:53 xx = x + lengthdir_x(20, image_angle);
yy = y + lengthdir_y(-30, image_angle-90) if(mouse_check_button(mb_left)) { flame = part_system_create() flameset = part_type_create() part_type_shape(flameset,pt_shape_square) part_type_size(flameset,0.01,0.04,0.01,0.02) part_type_life(flameset,20,25) part_type_direction(flameset,1,5,2,1) part_type_color_rgb(flameset,200,256,40,70,0,30) fle = part_emitter_create(flame) part_emitter_region(flame,fle,xx, mouse_x ,yy, mouse_y ,ps_shape_ellipse,ps_distr_linear) part_emitter_burst(flame,fle,flameset,100) } всё это в степе. А и я тут уже менял некоторые моменты такие как линию на эллипс. Что бы выглядело как разброс огня. Как в огнемёте. Название: Re: Как повернуть систему частиц? И зафиксировать дальность?TDS. GMS2(2.3.7.606) Отправлено: SilentPhil от Декабрь 20, 2021, 14:05:25 1) Если в lengthdir указать разный угол для каждого компонента вектор (x и y), то на выходе скорее всего получится не то, что вы хотите. Вот пример. (https://yal.cc/r/gml/?mode=GL&ver=GMS2&tabs_lz=NobwRAdghgtgpmAXGGUCWEwBowGMD2AJgsgMTEBmGcABLgE5xQAucAOvWxGqgOZwB9KBF4AbWgF4aABgDcHLgojk4VCLUL0oAdyU8o-ISPE0A1FIBM8zhCUB6OzQDq9fCJriRzABaE0nGwA3KHoaAA8ARhopAGZpOSVg0IBPKNj460UgkPCLaPCo0w84L19-ATCACgtpLBp9Q2ExOABKTIgkmmS8qVSzYtK-egFkyoBaOLqGwSbxMYBOaRalJU0dAQBnOGYBAlF8ekrcAUZCNtWtbSF6V21KyLrUurCLR9eaAFZzm3tHAHkANYDXg+IaJHKRfIANgy4JSaRocQSP2yoRe+UhRU8ILKwyqk3qfBmxla7U63XyfSxJRxQxGlQJ0yMzWWKK4ayuWx2ewORwEvEYJW+7Mu11u9wij0luTedS+7V+zjQPhoqGY9DQYRo6uEGwoBzVaDccPCMXySLJOWSZqkMORWRF6y5u3w+0OxwARqIAK6kpRqjVhTbbSoBzUCbQHUSEOphoMe71oaP3GKPVMyOq1DOEgzE5p1aWFlrCiAcsX4O5ZrMEgny-0sQPB5ihhvhyP0aOx1vxxPRgRoYgQZjK0bF2RgAC+AF0gA)
2) part_emitter_region - задается прямоугольником. Поэтому, за исключением формы линии (ps_shape_line), его не получится вращать. Тут либо с помощью part_type_direction нужно указывать нужное направление (сейчас оно у вас там фиксировано), либо вращать всю партикль систему при отрисовке с помощью матрицы трансформации (по ссылке это синяя стрелка). |