Пятница, 15 Ноября 2024, 08:04

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Воспроизведение звука в 2D игре
Knife_KillДата: Воскресенье, 04 Января 2015, 00:44 | Сообщение # 1
частый гость
Сейчас нет на сайте
Здравствуйте. Я новичок в программировании, и, как все юные программисты начинаю свой путь с Unity.
Так вот, ближе к делу, ковыряясь в 2D игрушке я захотел добавить звук падения чего-либо на что-либо, поискав гайды я наткнулся на 4гейм и на их уроки... Так вот, сделал я все как в уроке (скрипт чуть ниже), добавил к предмету все компоненты, добавил и в самом Юнити к скрипту звук (ну вы поняли), но как бы я не старался - звук не воспроизводится (хотя на 3D игре он спокойно работает), в чем может быть проблема?
Зарание благодарю.

Код:


Сообщение отредактировал Knife_Kill - Воскресенье, 04 Января 2015, 01:47
allodsДата: Воскресенье, 04 Января 2015, 03:40 | Сообщение # 2
почти ветеран
Сейчас нет на сайте
cделай на звуке 2d а не 3d, или поставь linear
loshad_V_paltoДата: Воскресенье, 04 Января 2015, 04:10 | Сообщение # 3
был не раз
Сейчас нет на сайте
Ты сразу останавливаешь воспроизведение. Воспользуйся PlayOneShot или просто убери стоп

Добавлено (04 января 2015, 04:10)
---------------------------------------------
И да, не смотри больше уроки 4гейм

NEBRДата: Воскресенье, 04 Января 2015, 10:44 | Сообщение # 4
почти ветеран
Сейчас нет на сайте
Цитата loshad_V_palto ()
И да, не смотри больше уроки 4гейм

Это точно!


King Size #Gamiron12
shizofrenДата: Воскресенье, 04 Января 2015, 13:40 | Сообщение # 5
Starting MS-DOS...
Сейчас нет на сайте
Код

void OnCollisionEnter(Collision col)   
{   
if(col.gameObject.name == "Ground")   
{   
gameObject.audio.clip = hitClip;   
gameObject.audio.Play();   
gameObject.audio.Stop();   

}   

Ты играешь и сразу останавливаешь звук. Делай так: проверяй, не играется ли звук и играй один раз, выглядеть это будет так:

Код

void OnCollisionEnter(Collision col)   
{   
      if(col.gameObject.name == "Ground")   
      {   
          if(!gameObject.audio.isPlaying) //если звук сейчас не играется
          {
              gameObject.audio.PlayOneShot(hitClip); //Воспроизводим звук один раз
          }

      }   
}


Моя команда

Сообщение отредактировал shizofren - Воскресенье, 04 Января 2015, 13:40
Knife_KillДата: Воскресенье, 04 Января 2015, 14:18 | Сообщение # 6
частый гость
Сейчас нет на сайте
Цитата shizofren ()
Ты играешь и сразу останавливаешь звук. Делай так: проверяй, не играется ли звук и играй один раз, выглядеть это будет так:

Спасибо, попробую.

Хммм... Все равно не работает, видимо потому, что звук 3Dшный (ибо опять же, в 3d проекции звук работает нормально), хотелось бы спросить - как 3D звук конвертировать в 2D в Юньке? Вообще не представляю как можно это сделать... Сделать его моно?


Сообщение отредактировал Knife_Kill - Воскресенье, 04 Января 2015, 14:28
shizofrenДата: Воскресенье, 04 Января 2015, 15:28 | Сообщение # 7
Starting MS-DOS...
Сейчас нет на сайте
Цитата Knife_Kill ()
как 3D звук конвертировать в 2D в Юньке?

Можно. Выбираешь в проекте свой аудио-файл, убираешь галочку 3D Sound, нажимаешь Apply


Моя команда
Knife_KillДата: Воскресенье, 04 Января 2015, 16:40 | Сообщение # 8
частый гость
Сейчас нет на сайте
Цитата shizofren ()
Можно. Выбираешь в проекте свой аудио-файл, убираешь галочку 3D Sound, нажимаешь Apply

Огромное спасибо!
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг