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

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

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

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


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

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

Сообщений: 178

Ответ № 7321 17 Апреля 2019 в 16:36
Сделал я огнемет, примерно так как планировалось, но есть пара вопросов:
1. Можно ли как то поменять "глубину" частицам, чтобы они были на переднем плане? Как вариант можно все остальные объекты поместить на задний, но может как то проще можно? Изменение глубины самих пуль результата не дает((
2.Можно ли как то сделать так, чтоб у основания оружия поток огня был такой как и есть, а по мере отдаления клубни пламени как бы увеличивались? Увеличение объекта пули результата не дало

1. Глубина меняется для всей системы частиц: part_system_depth(ind,depth)
2. Естественно. Ты ведь прописал где-то тип частиц, добавь туда еще и размер: part_type_size(ind,size_min,size_max,size_incr,size_wiggle). Min и max — это разброс начального значения, а вот incr — значение, на которое будет увеличиваться размер (через random_range можно и туда вписать диапазон, вместо числа).
Про глубину понял, попробую.

По размеру не совсем:
У меня сейчас в системе частиц есть строка
part_type_size(Particle1,0.1,0.1,0.2,0);
По идее, если я правильно разобрался в описании этой функции, то у меня должны появляться частицы, размером 0.1 (и мин и макс знаяение) и каждый шаг увеличиваться на 0.2. Но как видно из скринов, размер не меняется почему то...

Я наверно понял ошибку, я скрипт прописал в creat пули, а надо наверно в step. Видимо поэтому и не "растет" пламя
Последнее редактирование: 17 Апреля 2019 в 16:46 от Vovan1802
tolich
to ne lich
Ветеран форума
*****

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

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


moonlite

Ответ № 7322 17 Апреля 2019 в 16:56
Я наверно понял ошибку, я скрипт прописал в creat пули, а надо наверно в step.
Походу, не понял.

Похоже, у тебя у каждой пули своя система частиц и тип частиц, а должны быть 1 система частиц и 1 тип частиц вообще в игре.

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

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

Сообщений: 178

Ответ № 7323 17 Апреля 2019 в 16:58
Для лазера у меня другая система частиц
tolich
to ne lich
Ветеран форума
*****

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

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


moonlite

Ответ № 7324 17 Апреля 2019 в 17:18
Если частицы для огнемёта и лазера могут быть на одной глубине, можно сделать общую систему частиц.
Тип частиц для лазера и огнемёта, скорее всего, будут разные.

Важно: системы частиц - глобальны, типы частиц - глобальны. Эмиттеры относятся к системе частиц.

1 система частиц и 1 тип частиц вообще в игре.
Это имелся в виду только огнемёт.

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

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

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


[/s]

Ответ № 7325 17 Апреля 2019 в 17:30
Я наверно понял ошибку, я скрипт прописал в creat пули, а надо наверно в step. Видимо поэтому и не "растет" пламя

Попробуй, для начала, разобраться, как вообще работают частицы и чем они отличаются от объектов.
Мы тут, конечно, можем просто цитировать тебе справку и делать куски кода за тебя, но так вопросов только больше возникнет.

Если в двух словах, то уже существующую частицу изменять никак нельзя, все её атрибуты должны быть прописаны заранее. То есть всё, что начинается с "part_type.." не нужно писать ни в каждой пуле, ни тем более в степе, это достаточно задать один раз за всю игру в твоём случае.

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

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

Сообщений: 178

Ответ № 7326 17 Апреля 2019 в 17:35

 То есть всё, что начинается с "part_type.." не нужно писать ни в каждой пуле, ни тем более в степе, это достаточно задать один раз за всю игру в твоём случае.
У меня отдельным скриптом это один раз и записано. Как то же его надо запускать? Без какого либо действия он же сам не сработает. Вот у меня он единожды и прописан в появлении пули. Что то я не понимаю нифига
Макасин
[s]
Младший администратор
Старожил
******

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

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


[/s]

Ответ № 7327 17 Апреля 2019 в 17:39
Это понятно, что ты не понимаешь. Попробуй всё же разобраться.

Как ты выпускаешь частицы?

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

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

Сообщений: 178

Ответ № 7328 17 Апреля 2019 в 17:43
Как ты выпускаешь частицы?
Как и говорил раньше:
Отдельно в скрипте (в ветке скрипты) у меня создана система частиц для огнемета.
При появлении пули (сама пуля имеет нивидимый спрайт), я обращаюсь к этому скрипту, и соответственно в координатах пули частицы и появляются, и живут пока живет пуля
Макасин
[s]
Младший администратор
Старожил
******

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

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


[/s]

Ответ № 7329 17 Апреля 2019 в 17:47
Эх, перефразирую. Какую конкретно функцию ты используешь для появления частицы?

Хотя учитывая вышесказанное, что-то мне подсказывает, что ты каждый шаг создаешь по новой частице.
В таком случае ты можешь увеличивать размер невидимой пули, а в размере частицы, где у тебя сейчас 0.1, прописать переменную размера пули.

А вообще, если тебя устраивает такой вид огнемёта, как сейчас — можно и без частиц обойтись, ты ведь не пользуешься их преимуществами совсем и рисуешь, как и рисовал бы спрайтом.

Энтузиазм нашему форуму чужд. Sad but true.
Ogion.
tolich
to ne lich
Ветеран форума
*****

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

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


moonlite

Ответ № 7330 17 Апреля 2019 в 17:50
Должно быть как минимум два скрипта:
1) создаёт типы частиц и системы частиц, вызывается при запуске игры, например, в комнате меню или в специальной комнате инициализации.
2) второй выпускает частицы, вызывается из Step "пули".

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

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

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


[/s]

Ответ № 7331 17 Апреля 2019 в 17:54
Должно быть как минимум два скрипта:
1) создаёт типы частиц и системы частиц, вызывается при запуске игры, например, в комнате меню или в специальной комнате инициализации.
2) второй выпускает частицы, вызывается из Step "пули".

Лучше выпускать при создании пули с теми же направлением и скоростью. Но это при условии, что пулю нельзя остановить попаданием или препятствием, то есть для огнемета может подойти.

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

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

Сообщений: 178

Ответ № 7332 17 Апреля 2019 в 18:00
ты каждый шаг создаешь по новой частице.
Не каждый шаг, а один раз при появлении пули, в creat пули прописано
 color = c_orange

scr_particle_ognemet(color)

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

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

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


[/s]

Ответ № 7333 17 Апреля 2019 в 18:03
ты каждый шаг создаешь по новой частице.
Не каждый шаг, а один раз при появлении пули, в creat пули прописано
 color = c_orange

scr_particle_ognemet(color)

 

Я тебе скажу по секрету, но я не экстрасенс, на самом деле. И я не знаю, что у тебя там в скрипте scr_particle_ognemet.

ZCGamer, твой вопрос уже снят, что ли?

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

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

Сообщений: 178

Ответ № 7334 17 Апреля 2019 в 18:06

И я не знаю, что у тебя там в скрипте scr_particle_ognemet.

На предыдущей странице код весь есть...
Еще раз дублирую скрипт:
 //create particle system

PartSystem1 = part_system_create()

 

//create and define particle type

Particle1 = part_type_create();

part_type_shape(Particle1,pt_shape_explosion);

part_type_size(Particle1,0.1,0.1,0.2,0);

part_type_scale(Particle1,0.8,0.8);

part_type_color1(Particle1,choose(c_orange));

part_type_alpha3(Particle1,1,1,0);

part_type_speed(Particle1,0.40,1,-0.01,0);

part_type_direction(Particle1,0,359,0,0);

part_type_gravity(Particle1,0,270);

part_type_orientation(Particle1,0,0,0,0,1);

part_type_blend(Particle1,1);

part_type_life(Particle1,15,25);

 

//create emitter for particle system

PartEmitter1 = part_emitter_create(PartSystem1);

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

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

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


[/s]

Ответ № 7335 17 Апреля 2019 в 18:11
А, мой косяк, извиняюсь.

Ну, скрипт этот тебе не нужен вообще. Как уже сказали, и я, и Толич:
1. Тип и систему создай один раз, а не каждый шаг.
2. В степе заюзай вот это:
part_particles_create(ind,x,y,parttype,number) В системе частиц с индексом ind создаёт количество number частиц типа parttype в позиции с координатами x и y.
3. Для размера:
В таком случае ты можешь увеличивать размер невидимой пули, а в размере частицы, где у тебя сейчас 0.1, прописать переменную размера пули.

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

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

Сообщений: 178

Ответ № 7336 17 Апреля 2019 в 18:14
В степе пули?
Макасин
[s]
Младший администратор
Старожил
******

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

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


[/s]

Ответ № 7337 17 Апреля 2019 в 18:16
Ага. И part_type_size.

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

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

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


[/s]

Ответ № 7338 18 Апреля 2019 в 00:25
Не знаю что здесь, если честно, но всё же: http://gmakers.xyz/index.php?topic=1833.0.

Много есть на Йойо-форуме, например вот: https://forum.yoyogames.com/index.php?threads/fast-secure-file-encryption-scripts.37005/. Тут даже с маркета скачать можно.

Но на самом деле всё даже проще, функция шифрования уже есть: ds_map_secure_save(map, filename). В справке подробнее.

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

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

Сообщений: 178

Ответ № 7339 18 Апреля 2019 в 03:32
Народ, объясните, что такое аргументы в GMS? Только не надо посылать меня в справку, там непонятно рассказано. Может кто понятным языком объяснить что это за значения и для чего их используют.
Вообще с GMS работаю около двух лет, многое уже умею делать, но делаю это "по своему", используя много лишнего кода. Решил все таки поподробнее разобраться с функциями, но много чего просто не понимаю. Поиск по справкам и гуглу выдает описания, которые по моему способны понять только заядлые программисты, а объяснений простым языком просто не реально найти.
Конкретно сейчас столкнулся с такой проблемой: нашел пример создания лазера, скопировал, вроде как подогнал под свой проект - все работает. Но хочется все таки понимать, КАК это работает.
Вот конкретный код:
var length, precision, color;
length = argument0;     
precision = argument1; 
color = argument2

draw_set_color(c_red)
draw_set_alpha(1)

for(i=0;(i<length)&&(!collision_point(xx+lengthdir_x(i,dir),yy+lengthdir_y(i,dir),vragi,1,1));i+=precision) {
    dis = i
}

xx1 = xx+lengthdir_x(dis,dir)
yy1 = yy+lengthdir_y(dis,dir)
xx2 = xx+lengthdir_x(dis+precision,dir)
yy2 = yy+lengthdir_y(dis+precision,dir)


draw_laser(xx,yy,xx2,yy2,2,color)

part_type_color1(Particle,color);
part_emitter_region(PartSystem,PartEmitter,xx1,xx1,yy1,yy1,0,0);
part_emitter_burst(PartSystem,PartEmitter,Particle,1);
Что такое argument0, argument1 и argument2? Откуда эти значения? Для чего они здесь? Объясните пожалуйста
Последнее редактирование: 18 Апреля 2019 в 03:52 от Vovan1802
Макасин
[s]
Младший администратор
Старожил
******

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

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


[/s]

Ответ № 7340 18 Апреля 2019 в 03:36
Народ, объясните, что такое аргументы в GMS? Только не надо посылать меня в справку, там непонятно рассказано. Может кто понятным языком объяснить что это за значения и для чего их используют

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


2. В степе заюзай вот это:
part_particles_create(ind,x,y,parttype,number) В системе частиц с индексом ind создаёт количество number частиц типа parttype в позиции с координатами x и y.

parttype - это что? Откуда взять это значение?
Цитирую тебя же:
//create and define particle type

Particle1 = part_type_create();

Я, конечно, извиняюсь, но ты когда куски кода копипастишь, хоть пытаешься вникнуть, осмыслить свои действия? Про справку уже молчу, тут я сдался.

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

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