RS Game Maker Community
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

 
Расширенный поиск
  Главная  Форум   Вики Блоги FAQ Игры Статьи Примеры Войти Регистрация  
Вики
Все желающие приглашаются редактировать вики. Можете писать о своих (или чужих) играх, размещать туториалы, постить статьи - главное навесить категорию.
Страниц: 1 ... 364 365 366 367 368 369 370   Вниз
  Печать  
Ответы@Gmakers.xyz — все вопросы сюда
0 Пользователей и 4 Гостей смотрят эту тему.
deathsoul
дезсоул
Ветеран форума
*****

Репутация: 548
Offline Offline

Награды:
Легенда сайта
Сообщений: 1 853


21 Апреля 2011 в 01:14
Чтобы не было тем с вопросами, которые содержат всего два-три сообщения, все свои вопросы задавайтесь здесь. Если вопрос окажется слишком сложным для общей темы, модераторы всегда могут вынести обсуждение в отдельную тему.
Для этой темы действуют те же правила, что и для всего раздела, так что перед тем, как задать вопрос, обязательно ознакомьтесь с этой темой: «Ознакомьтесь, прежде чем задать вопрос». И не забудьте проверить, нет ли ответа на ваш вопрос в FAQ по Game Maker.
Последнее редактирование: 13 Октября 2013 в 19:01 от Огион
 
Vovan1802
Активный участник
**

Репутация: 2
Offline Offline

Сообщений: 178

Ответ № 7341 18 Апреля 2019 в 03:56
Могу послать в учебник математики за восьмой, если не ошибаюсь, класс, там это есть :D
Ну да ладно. Что такое функция, допустим, ты знаешь. Вот то, что у функции в скобках через запятую — её аргументы.
В примере выше аргументы к какой функции относятся?
Макасин
[s]
Младший администратор
Старожил
******

Репутация: 350
Offline Offline

Награды:
Легенда сайта
Сообщений: 4 313


[/s]

Ответ № 7342 18 Апреля 2019 в 04:02
Могу послать в учебник математики за восьмой, если не ошибаюсь, класс, там это есть :D
Ну да ладно. Что такое функция, допустим, ты знаешь. Вот то, что у функции в скобках через запятую — её аргументы.
В примере выше аргументы к какой функции относятся?

Ага, вижу, объясняю.
В данном случае ты создаешь скрипт, который и выступит функцией.
То есть где-то в коде, где ты будешь его вызывать ты напишешь название скрипта, а в скобках аргументы, которые "передадутся" и "превратятся" в переменные length, precision и color, с которыми код скрипта и будет работать.
Так понятно или подробнее об этом?

Энтузиазм нашему форуму чужд. Sad but true.
Ogion.
Vovan1802
Активный участник
**

Репутация: 2
Offline Offline

Сообщений: 178

Ответ № 7343 18 Апреля 2019 в 04:26

Так понятно или подробнее об этом?
Теперь понятно. Получается если в объекте я обращался к скрипту так  scr_laser(3000,5,color), то
argument0=3000
argument1=5
argument2=color
А в чем их смысл? Просто чтобы не запоминать и не копировать конкретные значения?


Макасин
[s]
Младший администратор
Старожил
******

Репутация: 350
Offline Offline

Награды:
Легенда сайта
Сообщений: 4 313


[/s]

Ответ № 7344 18 Апреля 2019 в 04:32
А смысл в том, что где-то ты можешь вызвать с одними значениями, а где-то уже с другими.

Энтузиазм нашему форуму чужд. Sad but true.
Ogion.
Vovan1802
Активный участник
**

Репутация: 2
Offline Offline

Сообщений: 178

Ответ № 7345 18 Апреля 2019 в 09:04
Итак, благодаря Макасину, я наконец то разобрался что такое частицы, как работает система частиц и как ими пользоваться. Но все же никак не получается добиться эффекта реалистичного огнемета: не могу добиться плавного увеличения облака огня по мере отдаления от оружия((
Сейчас у меня все устроено так:
В объекте controller создана система частиц и задан ее тип:
global.PartSystem = part_system_create()
part_system_depth(global.PartSystem,-5);

global.Particle1 = part_type_create();
part_type_shape(global.Particle1,pt_shape_explosion);
part_type_size(global.Particle1,0.1,0.1,0.1,0);
part_type_scale(global.Particle1,0.8,0.8);
part_type_color1(global.Particle1,c_orange);
part_type_alpha3(global.Particle1,1,1,0);
part_type_speed(global.Particle1,0.40,1,-0.01,0);
part_type_direction(global.Particle1,0,359,0,0);
part_type_gravity(global.Particle1,0,270);
part_type_orientation(global.Particle1,0,0,0,0,1);
part_type_blend(global.Particle1,1);
part_type_life(global.Particle1,15,25);
 
При нажатии на мышь если выбрано оружие "огнемет" в координате оружия появляется объект obj_flame_spell
В его Creat:
move_towards_point(global.celx,global.cely,5)
alarm[0]=250
В Step:
part_particles_create(global.PartSystem,x,y,global.Particle1,1)
В alarm[0] уничтожение объекта.
Как мне заставить расти облако огня?
tolich
to ne lich
Ветеран форума
*****

Репутация: 221
Offline Offline

Сообщений: 1 568


moonlite

Ответ № 7346 18 Апреля 2019 в 10:20
Тебе нужно, чтобы частицы создавались с размером пропорциональным удалению от огнемёта?
Тогда тебе не поможет увеличение частиц самих по себе: они генерируются заданного размера, увеличиваются в течение времени жизни, а затем исчезают. Тебе нужно генерировать частицы большего размера.
Step:
var len=point_distance(x,y,xstart,ystart);
part_type_size(global.Particle1,0.1*len+0.1,0.1*len+0.1,0,0);
part_particles_create(global.PartSystem,x,y,global.Particle1,1);

Макасин так и сказал, разве нет?

P.S. С коэффициентами надо поиграться: 0.1*len+0.1 даёт огромные клубы, наверное лучше 0.01*len+0.1 или даже меньше.
P.P.S. Не надо только забывать, что урон может наносить только пуля, частицы это всего лишь визуальный эффект.
Последнее редактирование: 18 Апреля 2019 в 10:57 от tolich

Vovan1802
Активный участник
**

Репутация: 2
Offline Offline

Сообщений: 178

Ответ № 7347 19 Апреля 2019 в 04:44
Проблема такая: при соприкосновении с огнем, на объекте врага через draw рисуется спрайт пламени, но рисуется поверх объекта. Можно ли как то рисовать спрайт на заднем плане и можно ли изменить скорость анимации только вновь нарисованного спрайта?
tolich
to ne lich
Ветеран форума
*****

Репутация: 221
Offline Offline

Сообщений: 1 568


moonlite

Ответ № 7348 19 Апреля 2019 в 10:45
Здесь же всё в глубину упирается.
1) Создать объект на нужной глубине со спрайтом пламени, установить скорость анимации, по таймеру удалить.
2) Создать частицы с нужным спрайтом (part_type_sprite) в системе частиц на нужной глубине. Всё, выстрелил — забыл.
3) Рисовать пламя в событии рисования врага, если с ним соприкасается огонь. Тут даже можно рисовать не за врагом, не перед врагом, а внутри врага. Ну, не внутри, но, скажем, перед головой, но за ближней рукой.

Vovan1802
Активный участник
**

Репутация: 2
Offline Offline

Сообщений: 178

Ответ № 7349 20 Апреля 2019 в 02:56
3) Рисовать пламя в событии рисования врага, если с ним соприкасается огонь. Тут даже можно рисовать не за врагом, не перед врагом, а внутри врага. Ну, не внутри, но, скажем, перед головой, но за ближней рукой.
Не совсем понял как это, объясни пожалуйста подробнее (желательно с примером).
Если это можно как то реализовать частицами - было бы вообще класс. Надо чтоб враг после соприкосновения с пламенем горел какое то время, а потом огонь чтоб пропадал. Пробовал создавать объект "пламя" со спрайтом анимации пламени, который появляется в координате врага в момент соприкосновения с огнем, но враг продолжает идти, а пламя остается на месте. Не получается привязать координаты пламени конкретно к этому врагу, так как одновременно одинаковых врагов в комнате может быть много...
tolich
to ne lich
Ветеран форума
*****

Репутация: 221
Offline Offline

Сообщений: 1 568


moonlite

Ответ № 7350 20 Апреля 2019 в 09:00
Ну, как-то так:

Collide obj_bullet
alarm[0]=30;

alarm[0]
Действие Exit - потому, что должен быть непустой обработчик

Draw
// рисовать то, что под огнём
if alarm[0]>0{
// рисовать то, что и есть огонь
}
// рисовать то, что над огнём

Vovan1802
Активный участник
**

Репутация: 2
Offline Offline

Сообщений: 178

Ответ № 7351 24 Апреля 2019 в 03:21
скорость анимации врага и анимации огня разные, если писать рисование огня в Draw врага, то огонь получается слишком медленным. Можно как то увеличить скорость анимации только огню?
Vovan1802
Активный участник
**

Репутация: 2
Offline Offline

Сообщений: 178

Ответ № 7352 26 Апреля 2019 в 18:13
решил проблему увеличением кадров  в анимации врага.

Теперь такой вопрос, что то я запутался с lengthdirами...
Надо чтоб из руки вылетало пламя, а рука поворачивается вверх и вниз. Сейчас код такой:
xx =lefthend.x+lengthdir_x(150,lefthend.image_angle);
    yy =lefthend.y+lengthdir_y(150,lefthend.image_angle);
    instance_create(xx,yy,obj_flame_spell)
когда стреляю прямо, все норм, когда максимально вверх поднимаю, X уезжает левее пушки, и когда вниз -  тоже. Что не так?

Последнее редактирование: 26 Апреля 2019 в 22:10 от Vovan1802
Макасин
[s]
Младший администратор
Старожил
******

Репутация: 350
Offline Offline

Награды:
Легенда сайта
Сообщений: 4 313


[/s]

Ответ № 7353 08 Мая 2019 в 17:29
решил проблему увеличением кадров  в анимации врага.

Теперь такой вопрос, что то я запутался с lengthdirами...
Надо чтоб из руки вылетало пламя, а рука поворачивается вверх и вниз. Сейчас код такой:
xx =lefthend.x+lengthdir_x(150,lefthend.image_angle);
    yy =lefthend.y+lengthdir_y(150,lefthend.image_angle);
    instance_create(xx,yy,obj_flame_spell)
когда стреляю прямо, все норм, когда максимально вверх поднимаю, X уезжает левее пушки, и когда вниз -  тоже. Что не так?



Сделай скрин окна спрайта руки.

Энтузиазм нашему форуму чужд. Sad but true.
Ogion.
Макасин
[s]
Младший администратор
Старожил
******

Репутация: 350
Offline Offline

Награды:
Легенда сайта
Сообщений: 4 313


[/s]

Ответ № 7354 08 Мая 2019 в 17:42
Почему при использовании взрыва, у теней возникают баги? Как это поправить?

Не очень хорошая практика постоянно удалять свои же вопросы. Разобрался быстрее, чем ответили — напиши ответ, кому-то пригодится. Когда кто-то ответил — тем более удалять не стоит.

А по вопросу я тебе скажу по секрету, но взрыв и так забагован, ровно так же он выглядит и без системы освещения. Ну и к движущейся камере он не приспособлен.

Энтузиазм нашему форуму чужд. Sad but true.
Ogion.
Макасин
[s]
Младший администратор
Старожил
******

Репутация: 350
Offline Offline

Награды:
Легенда сайта
Сообщений: 4 313


[/s]

Ответ № 7355 09 Мая 2019 в 21:08
Тут все просто. Вопрос задал, никто не ответил (несколько дней висел), удалил из-за ненадобности.
То есть ты проблему решил?

UPD. Вместо ответа на вопрос он решил удалить и это своё сообщение. Дивно.
Последнее редактирование: 25 Мая 2019 в 01:12 от Макасин

Энтузиазм нашему форуму чужд. Sad but true.
Ogion.
Mordanius
Активный участник
**

Репутация: 11
Offline Offline

Сообщений: 184


Старый казуал =(

Ответ № 7356 19 Мая 2019 в 21:53
       Расскажите научно-популярно, какие параметры частиц можно задавать для каждой частицы перед "запуском", а какие меняют все уже созданные. Направление, как я понял, можно выставлять отдельно, а вот с размерами выходит какая-то каша. Как настроить размер каждой частицы? Создавать кучу заготовок под каждый размер?
Макасин
[s]
Младший администратор
Старожил
******

Репутация: 350
Offline Offline

Награды:
Легенда сайта
Сообщений: 4 313


[/s]

Ответ № 7357 20 Мая 2019 в 02:59
Расскажите научно-популярно, какие параметры частиц можно задавать для каждой частицы перед "запуском", а какие меняют все уже созданные. Направление, как я понял, можно выставлять отдельно, а вот с размерами выходит какая-то каша. Как настроить размер каждой частицы? Создавать кучу заготовок под каждый размер?

Уже выпущенную частицу ты никак не изменишь, в том их и суть. Но перед конкретным "выпуском" отдельно взятой частицы менять можно всё.
Нет, заготовки скорее-всего тебе не нужны. Либо задавать непосредственно перед, либо выставить диапазон вместо числа. Опиши подробнее задачу — подскажу, как реализовать.
Последнее редактирование: 20 Мая 2019 в 03:08 от Макасин

Энтузиазм нашему форуму чужд. Sad but true.
Ogion.
Mordanius
Активный участник
**

Репутация: 11
Offline Offline

Сообщений: 184


Старый казуал =(

Ответ № 7358 20 Мая 2019 в 23:06
      Задача - сделать частицы огня, которые летят в нужном направлении, и имеют определенный размер. Размер должен зависеть от размера хозяина эмиттера, а направление запуска - от его ориентации. Пробовал обойтись одной частицей, задавал нужные параметры при запуске. Выпущенные частицы летят куда надо, но размер постоянно мельтешит.
      Вот я и думаю... Походу, все что связано с движением, можно задавать отдельно перед запуском, а с отрисовкой - действует на уже выпущенные частицы? Сделал несколько одинаковых частиц с разными размерами - работает как надо.
tolich
to ne lich
Ветеран форума
*****

Репутация: 221
Offline Offline

Сообщений: 1 568


moonlite

Ответ № 7359 21 Мая 2019 в 02:11
GM6/7/8/S1/S2?

Макасин
[s]
Младший администратор
Старожил
******

Репутация: 350
Offline Offline

Награды:
Легенда сайта
Сообщений: 4 313


[/s]

Ответ № 7360 21 Мая 2019 в 03:58
      Задача - сделать частицы огня, которые летят в нужном направлении, и имеют определенный размер. Размер должен зависеть от размера хозяина эмиттера, а направление запуска - от его ориентации. Пробовал обойтись одной частицей, задавал нужные параметры при запуске. Выпущенные частицы летят куда надо, но размер постоянно мельтешит.
      Вот я и думаю... Походу, все что связано с движением, можно задавать отдельно перед запуском, а с отрисовкой - действует на уже выпущенные частицы? Сделал несколько одинаковых частиц с разными размерами - работает как надо.

И еще раз повторяю: на уже выпущенные частицы влиять нельзя.

Ну, всё просто:

part_type_size(parttype,/*size*/,/*size*/,0,0)
part_type_direction(parttype,/*direction*/,/*direction*/,0,0)
part_emitter_burst(ps,ind,parttype,number)

Энтузиазм нашему форуму чужд. Sad but true.
Ogion.
Страниц: 1 ... 364 365 366 367 368 369 370   Вверх
  Печать  
 
Перейти в:  

RSGMC (gmakers.ru) © 2007—2019
Счётчик–@Mail.ru