Показать сообщение отдельно
Старый 07.04.2013, 13:51   #1
mepihin
ПроЭктировщик
 
Регистрация: 31.12.2012
Сообщений: 165
Написано 5 полезных сообщений
(для 7 пользователей)
Звук бега и шага. Проблема C#

вот есть есть скрипт на бег, в котором мне надо воспроизвести звук бега с интервалом воспроизведения звука в 0.5f, то есть между повторным воспроизведением должна быть небольшая пауза.
Не получается, IEnumirator неправильно работал:
using UnityEngine;
using System.Collections;

public class Run : MonoBehaviour {
	
	public float SpeedOgran = 10f;
	public float startogran = 10f;
	public float maxwait = 20f;
	public int speed = 4;
	private CharacterController controller;
	private CharacterMotor motor;
	private bool activeres = false;
	
	public AudioClip runsound;
	
	void Start()
	{
		controller = GetComponent<CharacterController>();
		motor = GetComponent<CharacterMotor>();
	}

	void Update()
	{
		if(Input.GetKey(KeyCode.LeftShift) && activeres == false)
		{
		    if(controller.isGrounded && controller.velocity.magnitude > 1)
		    {
		        if(SpeedOgran > 0)
		        {
		            SpeedOgran -= Time.deltaTime;
		            motor.movement.maxForwardSpeed = speed;
					audio.clip = runsound;
					audio.Play();
					yield return new WaitForSeconds(0.5f);
		        }
		        if(SpeedOgran <= 0 && activeres == false)
		        	{
		        		activeres = true;
		            	motor.movement.maxForwardSpeed = 2;
						audio.Stop();
		        	}
		    }
	
		}
		if(Input.GetKeyUp(KeyCode.LeftShift))
		{
			motor.movement.maxForwardSpeed = 2;
		}
		if(activeres == true) SpeedOgran += Time.deltaTime;
		if(SpeedOgran > maxwait){ SpeedOgran = startogran; activeres = false; }
	}
	
}
(Offline)
 
Ответить с цитированием