Среда, 18 Декабря 2024, 20:17

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Помогите дописать скрипт
FoohorbДата: Понедельник, 28 Октября 2013, 00:08 | Сообщение # 1
был не раз
Сейчас нет на сайте
У меня есть код на C# для выделения объекта и включения аудиозаписи при нажатии на его коллайдер, но есть нажать на него несколько раз, то аудиозапись будет воспроизводиться, наслаиваясь друг на друга. Помогите дописать скрипт, что бы при нажатии на объект уже играющая аудиозапись включалась заново, а не поверх себя-же.

Код

using UnityEngine;
using System.Collections;

public class AudioBook : MonoBehaviour {
public AudioClip MyAudio;
  void OnMouseEnter ()  
     {
         if (renderer!= null)
           renderer.material.color = Color.gray;   
     }
  void OnMouseExit ()
  {
   if (renderer!= null)
     renderer.material.color = Color.white;  
  }
  void OnMouseUp ()
  {
   audio.PlayOneShot (MyAudio);
  }  
}

Заранее спасибо happy
robertonoДата: Понедельник, 28 Октября 2013, 00:13 | Сообщение # 2
Чокнутый Кот
Сейчас нет на сайте
Код
bool playing = false;
void OnMouseUp () {
     if(!playing)
         audio.PlayOneShot (MyAudio);
}

Добавлено (28.10.2013, 00:13)
---------------------------------------------
happy

FoohorbДата: Понедельник, 28 Октября 2013, 00:25 | Сообщение # 3
был не раз
Сейчас нет на сайте
Цитата robertono ()
Код
bool playing = false;
void OnMouseUp () {
     if(!playing)
         audio.PlayOneShot (MyAudio);
}

robertono, что-то не особо понял, можешь написать весь скрипт?
robertonoДата: Понедельник, 28 Октября 2013, 00:29 | Сообщение # 4
Чокнутый Кот
Сейчас нет на сайте
Foohorb, до OnMouseEnter, где объявляешь переменные добавь bool playing = false;
Свой моус ап замени на мой.
FoohorbДата: Понедельник, 28 Октября 2013, 00:38 | Сообщение # 5
был не раз
Сейчас нет на сайте
robertono, то ли скрипт нерабочий, то ли руки кривые, но особой разницы я не вижу.
Код

using UnityEngine;
using System.Collections;

public class AudioBook : MonoBehaviour {
public AudioClip MyAudio;
bool playing = false;
  void OnMouseEnter ()  
     {
         if (renderer!= null)
           renderer.material.color = Color.gray;    
     }
  void OnMouseExit ()
  {
   if (renderer!= null)
     renderer.material.color = Color.white;  
  }
  void OnMouseUp () {  
      if(!playing)  
          audio.PlayOneShot (MyAudio);  
}
}
robertonoДата: Понедельник, 28 Октября 2013, 00:42 | Сообщение # 6
Чокнутый Кот
Сейчас нет на сайте
забыл я добавить.
Код
if(!playing) {
     audio.PlayOneShot (MyAudio);
     playing = true;
}
FoohorbДата: Понедельник, 28 Октября 2013, 00:46 | Сообщение # 7
был не раз
Сейчас нет на сайте
robertono, все, спасибо, все работает, +в репу :3
  • Страница 1 из 1
  • 1
Поиск:

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