Krosad | Дата: Пятница, 07.01.2011, 00:15 | Сообщение # 1 |
Группа: Проверенные
Сообщений: 55
Награды: 1
Репутация: 8
Статус: Offline
Награды
| У меня вопрос по поводу озвучивания шагов персонажа. Как сделать, чтобы звук проигрывался только тогда, когда персонаж двигается?
www.anatestudio.com
|
|
|
|
AmneziA | Дата: Пятница, 07.01.2011, 11:26 | Сообщение # 2 |
Группа: Модераторы
Сообщений: 355
Награды: 3
Репутация: 15
Статус: Offline
Награды
| у меня только такой вариант: подогнать озвучку в "максе". а потом уже в движке оно само станет на свои места.
Мой канал о моделизме: https://goo.gl/LgXUK9
На изломе неба Был рожден наш мир. Создавая землю, Первый, Врядли ведал что творил...
|
|
|
|
Krosad | Дата: Среда, 19.10.2011, 21:46 | Сообщение # 3 |
Группа: Проверенные
Сообщений: 55
Награды: 1
Репутация: 8
Статус: Offline
Награды
| Решил этот вопрос следующим образом: открыл спрайт анимации ходьбы актера в редакторе спрайтов и прикрепил к кадрам, где нога ступает на пол, звук шага. Единственный минус в том, что когда меняется поверхность пола, то для смены звука шагов надо создавать копию актера, только с другим звуком в анимации.
www.anatestudio.com
|
|
|
|
AmneziA | Дата: Среда, 19.10.2011, 23:01 | Сообщение # 4 |
Группа: Модераторы
Сообщений: 355
Награды: 3
Репутация: 15
Статус: Offline
Награды
| вообщем то к спрайту можно скрипт пришить. остались "мелочи" - написать правильный код))
Мой канал о моделизме: https://goo.gl/LgXUK9
На изломе неба Был рожден наш мир. Создавая землю, Первый, Врядли ведал что творил...
|
|
|
|
Jeka81 | Дата: Вторник, 31.07.2012, 13:45 | Сообщение # 5 |
Группа: Проверенные
Сообщений: 28
Награды: 1
Репутация: 7
Статус: Offline
Награды
| Quote (Krosad) Единственный минус в том, что когда меняется поверхность пола, то для смены звука шагов надо создавать копию актера, только с другим звуком в анимации. Вовсе нет!!! В миллион раз проще! Выделяешь пол в редакторе сцен. Ниже, где галочки Layout, Decoration и Blocked есть две кнопочки - Scripts и Custom. Жмем Custom. Появится окошко свойств для объекта floor. Жмем Add property (Добавить свойство). В поле Name вписываем переменную, которая будет характеризовать свойства всех разновидностей поверхности полов, например FloorSurface (поверхность пола). Теперь во всех полах, какие бы они не были - металл, земля, вода и т.д. - в поле Name вписываем эту переменную. В поле Value (значение) пишем материал пола, если, например, металлический пол, то metal, если деревянный, то wood (или derevo если с английским не очень). Не забываем сохранять изменения в сцене! Далее - открываем анимацию ходьбы нашего персонажа (например actors/molly/dd/walk.sprite). И в тех кадрах, где нога соприкасается с землей, в строке Event (событие) пишем footstep (проще говоря "шаг"). Делаем это для правой и левой ноги. Ну и, конечно, повторяем это для анимаций каждого напрвления (dd, ll, rr, uu, ur, ul, dr, dl). Таким образом мы привязали к каждому шагу в любом направлении событие footstep. Осталось самое малое - в скрипт персонажа добавить такой код:
//////////////////////////////////////////////////////////////////////// on "footstep" {
// выясняем местоположения героя на сцене var Reg = Scene.GetRegionAt(this.X, this.Y); if (Reg!=null) {
if (Reg.FloorSurface == "metal") { switch(Random(1,5)) { case 1: this.PlaySound("sounds\footsteps\step_metal1.ogg",false); break; case 2: this.PlaySound("sounds\footsteps\step_metal2.ogg",false); break; case 3: this.PlaySound("sounds\footsteps\step_metal3.ogg",false); break; case 4: this.PlaySound("sounds\footsteps\step_metal4.ogg",false); break; case 5: this.PlaySound("sounds\footsteps\step_metal5.ogg",false); break; } } if (Reg.FloorSurface == "soft") { switch(Random(1,3)) { case 1: this.PlaySound("sounds\footsteps\step_soft_01.ogg",false); break; case 2: this.PlaySound("sounds\footsteps\step_soft_02.ogg",false); break; case 3: this.PlaySound("sounds\footsteps\step_soft_03.ogg",false); break; } } } } ////////////////////////////////////////////////////////////////////////////////
При ходьбе по металлу рандомно проигрываются звуки шага по металлу от 1 до 5. По мягкой поверхности мягкий шаг от от 1 до 3. Это сделано чтобы звук шага был не всегда одинаков. Сам звук должен быть очень коротким - долю секунды, или проще - один звук - один шаг. Ну вот, вроде, и всё. Удачи!
Jeka81
|
|
|
|