Показать сообщение отдельно
Старый 11.08.2010, 21:31   #1
den
Дэвелопер
 
Аватар для den
 
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений
(для 2,419 пользователей)
Счастье Замедление времени и пауза

Во многих играх есть такая фича как замедление времени, и почти во всех играх есть пауза, так вот ща я буду рассказавать как сие сделать.
Вот код на JS с подробными кометариями
private var a=1.0//скарость времени
private var b="Pauza";//просто строка
var c:AudioClip;//музончик
function Start () { //Делаем при старте
audio.loop=true;//делаем постоянное играние звука
audio.clip=c;//выбираем звук
audio.Play();//играем звук
}
function 
Update () { //делаем постоянно
if(a==0.0b="Start";//это надпись у кнопки меняем
else b="Pauza";//и это тоже
Time.timeScale=a;//масштабируем время
audio.pitch a;//и музычку
}
function 
OnGUI () { //ГУИ
a=GUI.HorizontalSlider(Rect(10,10,100,20),a,0.0,1.0); //слайдер
if(GUI.Button(Rect(10,30,100,50),b)) //кнопка
{
    if(
a==0.0)  a=1.0//изменяем скорость
    
else a=0.0//и это тоже
        
}

Как собрать: вешаем этот скрипт на ГО (можно камеру),выбираем музычка, туду же вешаем аудио источник, можно поставить чтонить анимированное.
А теперь про паузу-дело в том что если остановить время то ГУИ элементы будут работать, на это и основывается пауза.
А ВОТ ПРИМЕРЧИК
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо den за это полезное сообщение:
9Lives (05.07.2012), Horror (13.08.2010), Nuprahtor (12.08.2010)