Показать сообщение отдельно
Старый 26.03.2012, 15:25   #1
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,157
Написано 502 полезных сообщений
(для 1,012 пользователей)
Проблема с дверьми

Попытался сделать дверь, написал скрипт:
using UnityEngine;
using System.Collections;

public class 
door MonoBehaviour {
    public  
GameObject DoorObj;
    public  
Vector3 orentant;
    public 
bool open;
    public 
float maxAngle=90.0f;
    public 
float speed=1.0f;
    
bool inProcess=false;
    
float ang=0;
    
//float
    // Use this for initialization
    
void Start () {
        
        
    }
    
    
// Update is called once per frame
    
void Update (){
        if(
Input.GetButtonDown("Fire1")){
            
inProcess=true;
            
open=!open;
              if(
open)speed=-speed;
              if(!
open)speed=-speed;
        }
        if(
inProcess){
            
//DoorObj.collider.isTrigger=true;
            
DoorObj.transform.Rotate(orentant,speed*Time.deltaTime);
            if(
ang>maxAngle && speed>0){
                
inProcess=false;
            }
            
ang+=speed*Time.deltaTime;
            if(
ang+speed*Time.deltaTime<&& speed<0){
                
inProcess=false;
                
//DoorObj.collider.isTrigger=false;
            
}
        }
        
//Debug.Log("test");
    
}

Но никак не могу сделать так, чтоб дверь переставала открываться при соприкосновении с объектом.
Дверь статичный коллайдер, ГГ кинематический
__________________
Сайт: http://iexpo.ml
(Offline)
 
Ответить с цитированием