Двери

using UnityEngine;
using System.Collections;

public class Door : MonoBehaviour {
	public bool open;
	private float _timeout;
	public float Timeout;
	private GameObject player;
	public float MaxDistance = 3;
	// Use this for initialization
	void Start () 
	{
		player = GameObject.FindGameObjectWithTag("Player");
	}
	
	// Update is called once per frame
	void Update () 
	{
		_timeout += Time.deltaTime;
		if(Input.GetKeyDown(KeyCode.E)&_timeout>Timeout&Vector3.Distance(player.transform.position, transform.position)<MaxDistance)
		{
			_timeout = 0;
			open = !open;
			if(open == true)
			{
				transform.animation.CrossFade("Open");
			}
			if(open == false)
			{
				transform.animation.CrossFade("Close");
			}
		}
	}
}

Комментарии к этому посту

  • инкогнито
    04.08.2013 at 13:20

    Чувак,ты крут!!


  • максим
    09.10.2013 at 20:09

    можешь научить писать скрипты на си шарпе для юнити


  • Степа
    14.06.2014 at 10:48

    Максим , ну , а он что по твоему делает?


  • WoYsFuL
    14.07.2014 at 16:24

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


  • lanril
    08.08.2014 at 11:21

    У меня почему-то анимацию не находит.

    Ошибка:
    «The animation state open could not be played because it couldn’t be found!
    Please attach an animation clip with the name ‘open’ or call this function only for existing animations.
    UnityEngine.Animation:CrossFade(String)»

    Картинка:
    https://lh4.googleusercontent.com/-SlIu_q_bl98/U-R5y5RojgI/AAAAAAAAC8I/hXP607_TMPI/w730-h550-no/error.png

    скрипт:

    using UnityEngine;
    using System.Collections;

    public class Door : MonoBehaviour {
    public bool open;
    private float _timeout;
    public float Timeout;
    private GameObject player;
    public float MaxDistance = 3;
    // Use this for initialization
    void Start ()
    {
    player = GameObject.FindGameObjectWithTag(«Player»);
    }

    // Update is called once per frame
    void Update ()
    {
    _timeout += Time.deltaTime;
    if(Input.GetKeyDown(KeyCode.E)&_timeout>Timeout&Vector3.Distance(player.transform.position, transform.position)<MaxDistance)
    {
    _timeout = 0;
    open = !open;
    if(open == true)
    {
    transform.animation.CrossFade("open");
    }
    if(open == false)
    {
    transform.animation.CrossFade("close");
    }
    }
    }
    }



Оставить комментарий