Звуки ходьбы по разным физ.объектам - Форум Игроделов
Пт, 17 Май 2024, 07:44 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум Игроделов » UNITY3D » СКРИПТИНГ » Звуки ходьбы по разным физ.объектам
Звуки ходьбы по разным физ.объектам
Jeka2012Дата: Вт, 01 Июл 2014, 10:47 | Сообщение # 1
 
Сообщений: 27
Награды: 0
Репутация: 2
Статус: Offline
Скажите пожалуйста ,правильный алгоритм .
Если у калайдера физический материал wood ,то проигрывается звук wood_1?
Если правильно ,то почему не работает этот скрипт

Код
if(dirt_colider.collider.material.name = "Wood" )
   if(Input.GetKeyDown(KeyCode.W)){audio.clip = dirt;}
   if(Input.GetKeyDown(KeyCode.W)){audio.volume=0.2f;}
   if(Input.GetKeyDown(KeyCode.W)){audio.loop=true;}
   if(Input.GetKeyDown(KeyCode.W)){audio.bypassEffects=true;}
   if(Input.GetKeyDown(KeyCode.W)){audio.Play();}
   if(Input.GetKeyUp(KeyCode.W)){audio.Stop();}}


[url=http://gamecreatingcommunity.ru/forum/148-5873-1]BadDayForZombies - Мой проект [/url]
 
СообщениеСкажите пожалуйста ,правильный алгоритм .
Если у калайдера физический материал wood ,то проигрывается звук wood_1?
Если правильно ,то почему не работает этот скрипт

Код
if(dirt_colider.collider.material.name = "Wood" )
   if(Input.GetKeyDown(KeyCode.W)){audio.clip = dirt;}
   if(Input.GetKeyDown(KeyCode.W)){audio.volume=0.2f;}
   if(Input.GetKeyDown(KeyCode.W)){audio.loop=true;}
   if(Input.GetKeyDown(KeyCode.W)){audio.bypassEffects=true;}
   if(Input.GetKeyDown(KeyCode.W)){audio.Play();}
   if(Input.GetKeyUp(KeyCode.W)){audio.Stop();}}

Автор - Jeka2012
Дата добавления - 01 Июл 2014 в 10:47
NapalmRainДата: Вт, 01 Июл 2014, 11:59 | Сообщение # 2
 
Сообщений: 473
Награды: 0
Репутация: 31
Статус: Offline
Первое, что сразу непонятно - это зачем производить 6 совершенно одинаковый проверок?
Код
if(dirt_colider.collider.material.name = "Wood" ) {  
  if(Input.GetKeyDown(KeyCode.W)){
   audio.clip = dirt;
   audio.volume=0.2f;
   audio.loop=true;
   audio.bypassEffects=true;
   audio.Play();
  } else if(Input.GetKeyUp(KeyCode.W)){
   audio.Stop();
  }
}

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

А для того, что бы найти проблему, используйте вывод логов.
Для начала можно просто
Код
Debug.Log(dirt_colider.collider.material.name);

Выведет то, что вы ожидали, переходите дальше:
Код
f(dirt_colider.collider.material.name = "Wood" ) {
Debug.Log("Ура! Деревяшка");
}

А по совести мне кажется что проблема конкретно приведённого вами куска кода в отсутствии начально открывающей фигурной скобки...
 
СообщениеПервое, что сразу непонятно - это зачем производить 6 совершенно одинаковый проверок?
Код
if(dirt_colider.collider.material.name = "Wood" ) {  
  if(Input.GetKeyDown(KeyCode.W)){
   audio.clip = dirt;
   audio.volume=0.2f;
   audio.loop=true;
   audio.bypassEffects=true;
   audio.Play();
  } else if(Input.GetKeyUp(KeyCode.W)){
   audio.Stop();
  }
}

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

А для того, что бы найти проблему, используйте вывод логов.
Для начала можно просто
Код
Debug.Log(dirt_colider.collider.material.name);

Выведет то, что вы ожидали, переходите дальше:
Код
f(dirt_colider.collider.material.name = "Wood" ) {
Debug.Log("Ура! Деревяшка");
}

А по совести мне кажется что проблема конкретно приведённого вами куска кода в отсутствии начально открывающей фигурной скобки...

Автор - NapalmRain
Дата добавления - 01 Июл 2014 в 11:59
PinkPanterДата: Чт, 03 Июл 2014, 22:18 | Сообщение # 3
Нет аватара
 
Сообщений: 15
Награды: 0
Репутация: 0
Статус: Offline
А не лучше ли вообще сначала проверять нажатие на клавишу? Так оптимальней
 
СообщениеА не лучше ли вообще сначала проверять нажатие на клавишу? Так оптимальней

Автор - PinkPanter
Дата добавления - 03 Июл 2014 в 22:18
Форум Игроделов » UNITY3D » СКРИПТИНГ » Звуки ходьбы по разным физ.объектам
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2024