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

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

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

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


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

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

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


[/s]

Ответ № 7301 11 Апреля 2019 в 01:08
Подскажите, можно как то в объекте персонажа через Step прописать кодом глобальное нажатие мыши?

Функция mouse_check_button(mb_left).

Надо чтоб при нажатии на область справа

Сравнивай x и mouse_x.

И так через каждые 10 кадров, пока не отпустишь палец справа.

FAQ II.1.7. и вообще азы. Не стесняйся заглядывать в справку.

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

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

Сообщений: 178

Ответ № 7302 11 Апреля 2019 в 02:23


Функция mouse_check_button(mb_left).


это не подходит, это работает при нажатии на сам объект, а мне надо нажимать правее от него. В итоге сделал все таки через Global Mouse... Теперь другая проблема: почему то неправильно работает move_towards_point(celx,cely,50), где celx и cely- координаты точки, куда летит пуля. Но пуля долетает до той самой точки и останавливается на месте, хотя по идее должна лететь дальше. В чем проблема может быть?

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

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

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


[/s]

Ответ № 7303 11 Апреля 2019 в 04:39
это не подходит, это работает при нажатии на сам объект, а мне надо нажимать правее от него.

Да нет, это как-раз просто проверка нажата ли кнопка мыши.

почему то неправильно работает move_towards_point(celx,cely,50)

Правильно.

..хотя по идее должна лететь дальше

Не должна.

В чем проблема может быть?

В неверном подходе.
Самый простой способ в твоем случае таков:
bullet=instance_create(x,y,o_bullet) //o_bullet — твой объект пули, координаты нужные подставь, если отличны
bullet.direction=point_direction(x,y,celx,cely) //вычисление направления и присваивание его созданной пуле
bullet.speed=50 //скорость созданной пули

Однако же, не советую тебе реализовывать пулю с такой скоростью таким способ. И снова настоятельно советую заглянуть в FAQ, вопросы II.2.6. и II.2.18.

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

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

Сообщений: 178

Ответ № 7304 11 Апреля 2019 в 05:07
это не подходит, это работает при нажатии на сам объект, а мне надо нажимать правее от него.

Да нет, это как-раз просто проверка нажата ли кнопка мыши.

почему то неправильно работает move_towards_point(celx,cely,50)

Правильно.

..хотя по идее должна лететь дальше

Не должна.

В чем проблема может быть?

В неверном подходе.
Самый простой способ в твоем случае таков:
bullet=instance_create(x,y,o_bullet) //o_bullet — твой объект пули, координаты нужные подставь, если отличны
bullet.direction=point_direction(x,y,celx,cely) //вычисление направления и присваивание его созданной пуле
bullet.speed=50 //скорость созданной пули

Однако же, не советую тебе реализовывать пулю с такой скоростью таким способ. И снова настоятельно советую заглянуть в FAQ, вопросы II.2.6. и II.2.18.
Я разобрался что не так: я писал код в Step, а надо было в Creat, теперь все нормально и проще чем твой способ. Но все равно спасибо)))
Vovan1802
Активный участник
**

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

Сообщений: 178

Ответ № 7305 11 Апреля 2019 в 21:40
Подскажите, как разрешить одновременное нажатие мышью в разных местах? Должно быть так: при нажатии на робота у него активируется щит на какое то время, если нажать правее от робота, он начинает стрелять в ту сторону где палец и стреляет пока не уберешь палец. Но если во время стрельбы нажать на робота, щит не включается(( Как вариант можно создать виртуальную клавишу на роботе, но может как то можно без этого обойтись?
Последнее редактирование: 11 Апреля 2019 в 21:45 от Vovan1802
Макасин
[s]
Младший администратор
Старожил
******

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

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


[/s]

Ответ № 7306 12 Апреля 2019 в 00:39
Подскажите, как разрешить одновременное нажатие мышью в разных местах? Должно быть так: при нажатии на робота у него активируется щит на какое то время, если нажать правее от робота, он начинает стрелять в ту сторону где палец и стреляет пока не уберешь палец. Но если во время стрельбы нажать на робота, щит не включается(( Как вариант можно создать виртуальную клавишу на роботе, но может как то можно без этого обойтись?

Очень странно, я, вроде и говорю тебе, что для ответов на простые вопросы достаточно заглянуть в справку, которая удобно и интуитивно поделена на разделы, но ты все-равно этого не делаешь. Справка на F1, если что, как и всегда.

Там есть раздел "Reference", в котором есть все функции gml. А в нём уже есть подраздел про ввод, что-то вроде "Mouse, keyboard and other input". Там подподразделы, отдельно о клавиатуре, мыши, геймпадах и т.д., очевидно, что тебе нужен "Device input", раз ты делаешь игру для устройств без настоящих мыши и клавиатуры, и хочешь использовать сенсорный экран.
И вот, уже здесь, описаны аналогичные функции для сенсорного экрана, то, как они работают и даже примеры использования!

В конкретном случае тебе подойдет device_mouse_check_button (ссылка кликабельна).

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

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

Сообщений: 178

Ответ № 7307 15 Апреля 2019 в 13:55
Подскажите, как реализовать огнемет в GMS2 примерно как на фото?
Прикреплённые файлы Графические миниатюры:
Макасин
[s]
Младший администратор
Старожил
******

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

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


[/s]

Ответ № 7308 15 Апреля 2019 в 14:58
Что конкретно тебе нужно, механика или визуальная часть?

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

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

Сообщений: 178

Ответ № 7309 15 Апреля 2019 в 15:04
И то и другое. Я так понимаю спрайтом такого особо не сделать, скорее частицами как то, но я не совсем понимаю как это реализовать
tolich
to ne lich
Ветеран форума
*****

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

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


moonlite

Ответ № 7310 15 Апреля 2019 в 15:35
Deep Magic, исправленная. Третье слева заклинание во втором сверху ряду — огнемёт.

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

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

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


[/s]

Ответ № 7311 15 Апреля 2019 в 18:46
И то и другое. Я так понимаю спрайтом такого особо не сделать, скорее частицами как то, но я не совсем понимаю как это реализовать

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

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

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

Сообщений: 178

Ответ № 7312 15 Апреля 2019 в 19:45
Не, через пули нет эффекта реального огня. Все таки хотелось бы более реалистично как то сделать. С частицами раньше вообще не работал, а пару дней назад делал лазер, и наткнулся на исходник лазера, реализованного через частицы, очень круто сделано. Но я не очень понял принцип, поэтому и прошу помощи
Mordanius
Активный участник
**

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

Сообщений: 184


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

Ответ № 7313 15 Апреля 2019 в 22:19
    Кто-нибудь пробовал проигрывать звуки по очереди при помощи audio_create_play_queue? Я как-то решил, что проще пушить ds_queue по аларму. Но может, у нее есть какие-то хорошие фичи?
Макасин
[s]
Младший администратор
Старожил
******

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

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


[/s]

Ответ № 7314 16 Апреля 2019 в 11:29
Не, через пули нет эффекта реального огня. Все таки хотелось бы более реалистично как то сделать. С частицами раньше вообще не работал, а пару дней назад делал лазер, и наткнулся на исходник лазера, реализованного через частицы, очень круто сделано. Но я не очень понял принцип, поэтому и прошу помощи

Я тебе говорю именно про механику. В любом случае, у тебя должны вылетать плотным потоком объекты и наносить урон.
А то, как они будут выглядеть — уже от частиц зависит.

Где-то на форуме был даже пример частиц для огнемёта, но что-то найти не могу, увы.
Если срочно — найди какой-то редактор частиц для гамака, их несколько есть и побалуйся в нём. Заодно разберешься, как оно работает.
Если не так срочно — чуть позже накидаю тебе пример.

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

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

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


moonlite

Ответ № 7315 16 Апреля 2019 в 18:02
Где-то на форуме был даже пример частиц для огнемёта, но что-то найти не могу, увы.
Так я ссылку выше кинул. Заклинание с индексом 11, доступно с уровня 12, по цене 1 маны генерирует с шагом 1 объект пули obj_flame_spell, который, разгоняясь, летит в сторону врага, разбрасывая по ходу жёлтые кружочки частиц.

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

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

Сообщений: 178

Ответ № 7316 16 Апреля 2019 в 18:18
Попробовал сделать через частицы, вроде все норм но что то не так.
Скриптом создал систему частиц.
//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);
В нажатии на стрельбу
 
if oruzie=4 && oboima>0 && mouse_x>400 && mouse_y>230 && vistrel_pulemet=true
{   //oboima-=1
global.celx=mouse_x
global.cely=mouse_y
//instance_create(x+130,y+10,vspishka1)
instance_create(x+180,y+10,obj_flame_spell)
//instance_create(x-65,y+15,vspishka)
//instance_create(x-65,y+15,pulia_pulemet1)
vistrel_pulemet=false

alarm[3]=15
}
Таймер типа перезаряжает.
В самой пуле:
 
 :create:
depth=-7
move_towards_point(global.celx,global.cely,5)
color = c_orange
scr_particle_ognemet(color)
В Step:
 :step:
  if (image_alpha <= .05)
    instance_destroy();
  image_alpha -= .003;
  part_emitter_region(0,0,x-2,x+2,y-2,y+2,ps_shape_ellipse,ps_distr_linear);
  part_emitter_burst(0,0,1,2);
if x>1850
{instance_destroy()}
Возможно что то где то не то прописал, но получается как на первом рисунке. Почти так как надо, но проблема в том, что если скорость движения пули сделать больше 5 (а желательно бы сделать 10), то получается как на рисунке 2, острые концы. И еще если сделать чаще появление пуль, то жестко зависает игра, все как в слоумо становится. И еще хотелось бы чтобы у основания оружия поток огня был тоньше, а чем дальше от оружия, тем больше рассеивался типа
Прикреплённые файлы Графические миниатюры:
Vovan1802
Активный участник
**

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

Сообщений: 178

Ответ № 7317 16 Апреля 2019 в 18:34
Если не так срочно — чуть позже накидаю тебе пример.
Был бы очень признателен))
Vovan1802
Активный участник
**

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

Сообщений: 178

Ответ № 7318 17 Апреля 2019 в 14:59
Сделал я огнемет, примерно так как планировалось, но есть пара вопросов:
1. Можно ли как то поменять "глубину" частицам, чтобы они были на переднем плане? Как вариант можно все остальные объекты поместить на задний, но может как то проще можно? Изменение глубины самих пуль результата не дает((
2.Можно ли как то сделать так, чтоб у основания оружия поток огня был такой как и есть, а по мере отдаления клубни пламени как бы увеличивались? Увеличение объекта пули результата не дало
Прикреплённые файлы Графические миниатюры:
Vovan1802
Активный участник
**

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

Сообщений: 178

Ответ № 7319 17 Апреля 2019 в 15:36

В теории можно прописать рандомный (случайный) direction для огня. Получается он будет появляться в одной точке и в дальнейшем двигаться в разные стороны. Попробуй прописать direction=direction+random(80)-random(80).


Боюсь что не получится, так как движение пули у меня реализовано через move_towards_point в creat.
Если реализовывать через step и через direction, то пули летят только прямо (плюс разброс по рандому), а мне надо чтоб можно было стрелять в любом направлении (выше, ниже...). Пробовал добавлять рардом в move_towards_point, почему то не работает
Макасин
[s]
Младший администратор
Старожил
******

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

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


[/s]

Ответ № 7320 17 Апреля 2019 в 16:19
Сделал я огнемет, примерно так как планировалось, но есть пара вопросов:
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 можно и туда вписать диапазон, вместо числа).

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

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