Вопрос - Ответ (Game Maker)
| |
LunarPixel | Дата: Вторник, 09 Августа 2011, 21:11 | Сообщение # 2001 |
старожил
Сейчас нет на сайте
| Уайльд, можно и по другому сделать. Использовать draw_sprite_part_ext. Рисуешь спрайт, который будет хелзбаром, например эллипс. Например размер его 128х32. Заводишь переменную jizni=128
в событии draw пишешь: draw_sprite_part_ext(sprite_index,0,0,0,jizni,32,x,y,1,1,c_white,1) Таким образом при уменьшении переменной jizni, спрайт будет обрезаться справа и уменьшаться, как хелзбар. Для того чтобы менять цвет, можно использовать режимы смешивания, но можно и по другому сделать. Создать анимацию смены цвета на 128 спрайтов. (есть такая опция в настройках спрайта, которая позволит сделать это быстро Animation->Colorize) И видоизмени код немного:
draw_sprite_part_ext(sprite_index,128-jizni,0,0,jizni,32,x,y,1,1,c_white,1)
Таким образом будет работать совсем как хелзбар.
Одно НО, как видно количество жизней будет зависит от размера спрайта, но тут можно найти выход. Использовать проценты например. Т.е. взять 128 за 100% и на основе этого отнимать жизни в процентах. Если что то не понятно будет, могу сделать пример.
|
|
| |
Лер_да_Рим | Дата: Вторник, 09 Августа 2011, 21:27 | Сообщение # 2002 |
заслуженный участник
Сейчас нет на сайте
| Можно заюзать gex-расширение circle healthbar.
Дамы и господа, я представляю вам человека, которому н-а-с-р-а-т-ь! (с) Доктор Кокс.
|
|
| |
Уайльд | Дата: Среда, 10 Августа 2011, 14:53 | Сообщение # 2003 |
участник
Сейчас нет на сайте
| ответившие мне, завтра все попробую, обязательно сообщу о результатах=) Добавлено (10.08.2011, 13:19) --------------------------------------------- AicedorMan, ERROR in action number 1 of Draw Event for object object0:
Error in code at line 2: sv=c; ^ at position 6: Unknown variable c
LunarPixel, можно примерчик? Анимацию перехода цвета не обязательно =) Добавлено (10.08.2011, 14:53) --------------------------------------------- решила попробовать сделать виртуальное пианино. Вроде нормально, но вот аккорды сделать не получается. Звучит только по отдельности. как можно исправить?
|
|
| |
Лер_да_Рим | Дата: Среда, 10 Августа 2011, 15:10 | Сообщение # 2004 |
заслуженный участник
Сейчас нет на сайте
| Фоновая музыка. Вся проблема в ней.
Так как при начале воспроизведения фоновой музыки играющая останавливается.
Дамы и господа, я представляю вам человека, которому н-а-с-р-а-т-ь! (с) Доктор Кокс.
Сообщение отредактировал Лер_да_Рим - Среда, 10 Августа 2011, 15:13 |
|
| |
LunarPixel | Дата: Среда, 10 Августа 2011, 20:44 | Сообщение # 2005 |
старожил
Сейчас нет на сайте
| Уайльд, у меня интернет сейчас нехороший, для примерчиков.
Собственно, весь пример ограничивается парой строк кода. Создай спрайт, размером 128х32. Создай объект. В событии Create напиши: jizni=128 В событии Draw напиши: draw_sprite_part_ext(sprite0,0,0,0,jizni,32,x,y,1,1,c_white,1) Ну и например в событии нажатия на какую нибудь клавишу напиши: jizni-=1
И всё
|
|
| |
Уайльд | Дата: Среда, 10 Августа 2011, 22:52 | Сообщение # 2006 |
участник
Сейчас нет на сайте
| LunarPixel, спасибо. У меня тоже с интернетом туго.
|
|
| |
Лер_да_Рим | Дата: Четверг, 11 Августа 2011, 07:15 | Сообщение # 2007 |
заслуженный участник
Сейчас нет на сайте
| Эээ, а что с музыкой-то?
Дамы и господа, я представляю вам человека, которому н-а-с-р-а-т-ь! (с) Доктор Кокс.
|
|
| |
Уайльд | Дата: Четверг, 11 Августа 2011, 07:55 | Сообщение # 2008 |
участник
Сейчас нет на сайте
| Лер_да_Рим, фигово с музыкой.
|
|
| |
Лер_да_Рим | Дата: Четверг, 11 Августа 2011, 08:04 | Сообщение # 2009 |
заслуженный участник
Сейчас нет на сайте
| У меня заработало всё вполне нормально.
Дамы и господа, я представляю вам человека, которому н-а-с-р-а-т-ь! (с) Доктор Кокс.
|
|
| |
valeko | Дата: Четверг, 11 Августа 2011, 10:49 | Сообщение # 2010 |
частый гость
Сейчас нет на сайте
| Очень простой вопрос.
Не могу разобраться толком с алармом.
1. Он задерживает весь объект или только то событие в котором размещен? 2. Зачем их так много. 3. Можно ли используя аларм сделать такую задержку, чтобы объект не стрелял, но перемещение врага отслеживал.
2D NoteWar
|
|
| |
LunarPixel | Дата: Четверг, 11 Августа 2011, 11:05 | Сообщение # 2011 |
старожил
Сейчас нет на сайте
| valeko, alarm - это таймер. Т.е. он служит, чтобы какое либо действие выполнялось через определенное время.
Например в событии Create пишешь: alarm[0]=90 // запускаем нулевой таймер на 3 секунды (1 секунда = скорость комнаты, стандартно это 30)
Создаем событие Alarm 0 и пишем там: show_message('таймер сработал')
Таким образом через 3 секунды у нас появится сообщение о том, что таймер сработал. Всё просто.
Сообщение отредактировал LunarPixel - Четверг, 11 Августа 2011, 11:11 |
|
| |
valeko | Дата: Четверг, 11 Августа 2011, 11:38 | Сообщение # 2012 |
частый гость
Сейчас нет на сайте
| Quote (LunarPixel) alarm - это таймер. Т.е. он служит, чтобы какое либо действие выполнялось через определенное время.
Подожди... Если я правильно понял, то alarm - это не задержка (ну, типа delay). Т.е. я его инициирую в любой части кода, и через нужное мне время выполнится то, что прописано в самом alarm? Вот же блин... А то я все думаю, чего мне им так пользоваться неудобно
2D NoteWar
|
|
| |
LunarPixel | Дата: Четверг, 11 Августа 2011, 11:43 | Сообщение # 2013 |
старожил
Сейчас нет на сайте
| valeko, да, ты все правильно понял.
|
|
| |
valeko | Дата: Четверг, 11 Августа 2011, 13:07 | Сообщение # 2014 |
частый гость
Сейчас нет на сайте
| Вопрос:
Если пуля вылетела из башни дальше определенной длины - она уничтожается. Изначально измерял расстояние до ближайшей башни. if (distance_to_object(instance_nearest(x,y,turel)) > dlina_poleta ) instance_destroy()
Но с увеличением мощности башни это уже не срабатывает, т.к. пуля успевает пролететь до другой башни и та становится ближайшей.
При создании пули я сохраняю ID башни, которая ее создала: id_puli=instance_create(x,y,pulia) id_puli.id_tureli=id
Как мне изменить код, чтобы мерять длину до нужной мне башни?
Спасибо.
2D NoteWar
Сообщение отредактировал valeko - Четверг, 11 Августа 2011, 13:07 |
|
| |
SalahAdDin | Дата: Четверг, 11 Августа 2011, 21:07 | Сообщение # 2015 |
постоянный участник
Сейчас нет на сайте
| Quote (valeko) if (distance_to_object(id_tureli) > dlina_poleta ) instance_destroy() Добавлено (11.08.2011, 21:07) --------------------------------------------- если эта переменная действительно хранит айди турели какое то странное у тебя определение айди башни, есть мнение что там нифига не айди этой самой башни)
Фотошоп это не сложно. Немного теории, полезной на практике: Работа с наложением текстур Рисуем без планшета
|
|
| |
BrightSpot | Дата: Четверг, 11 Августа 2011, 21:36 | Сообщение # 2016 |
заслуженный участник
Сейчас нет на сайте
| Quote (SalahAdDin) есть мнение что там нифига не айди этой самой башни) если честно бред... id турели может задаваться в переменную, например, при создании той самой пули... а дальше уже из переменной берется id правильной башни=)
Более мощный компьютер глючит быстрее и точнее.
Сообщение отредактировал BrightSpot - Четверг, 11 Августа 2011, 21:36 |
|
| |
LunarPixel | Дата: Четверг, 11 Августа 2011, 21:43 | Сообщение # 2017 |
старожил
Сейчас нет на сайте
| Всё у него правильно.
У башни пишем: id_puli=instance_create(x,y,pulia) //записываем в переменную id созданной пули id_puli.id_tureli=id //записываем у созданной пули в переменную id башни, которая создала эту пулю.
А дальше у пули пишем то, что написал SalahAdDin.
|
|
| |
valeko | Дата: Пятница, 12 Августа 2011, 00:44 | Сообщение # 2018 |
частый гость
Сейчас нет на сайте
| О, спасибо уважаемые, все заработало.
2D NoteWar
|
|
| |
SalahAdDin | Дата: Пятница, 12 Августа 2011, 08:52 | Сообщение # 2019 |
постоянный участник
Сейчас нет на сайте
| Quote (BrightSpot) если честно бред... id турели может задаваться в переменную, например, при создании той самой пули... а дальше уже из переменной берется id правильной башни=) Ой, спасибо кЭп Quote (LunarPixel) У башни пишем: А я судорожно искал айди башни в этой самой пуле Конечно, теперь все выглядит правильно.
Фотошоп это не сложно. Немного теории, полезной на практике: Работа с наложением текстур Рисуем без планшета
|
|
| |
valeko | Дата: Суббота, 13 Августа 2011, 18:18 | Сообщение # 2020 |
частый гость
Сейчас нет на сайте
| Как получить реальную скорость объекта, движущегося по пути, учитывая, что при создании пути в некоторых точках коэффициент скорости не равен 100%.
Спасибо.
UPD: Спасибо всем, не успевшим ответить, я уже сам разобрался
path_get_speed(path_index,path_position)*path_speed
// коэффициент скорости пути с текущим индексом в текущей позиции * скорость объекта на пути
2D NoteWar
Сообщение отредактировал valeko - Суббота, 13 Августа 2011, 19:29 |
|
| |
|