Показать сообщение отдельно
Старый 16.08.2010, 18:25   #218
den
Дэвелопер
 
Аватар для den
 
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений
(для 2,419 пользователей)
Ответ: Фак по Юнити.

Вот новый код:
using UnityEngine; 
using System.Collections; 

public class 
MainMenu: MonoBehaviour { 
public 
Rect  windowRect1= new Rect (20, 20, 120, 50); 
public 
Rect  windowRect2= new Rect (20, 20, 120, 50); 
private 
string b1; 
private 
string b2; 
public 
bool menu=false;
public 
Camera cam;
public 
Transform FPS;
private 
bool a=false; 
public 
float g=5.0f; 
void OnGUI() 
    { 
             if((
menu &&  (Application.loadedLevel==1))||(Application.loadedLevel==0)){windowRect1 = GUI.Window (0, windowRect1, MyWindow1, "Main Menu"); 
            if(
a) windowRect2 = GUI.Window (0, windowRect2, MyWindow2, "Setting");}
            if(
menu)
            {
                
Time.timeScale=0.1f; // <---- Вот здеся)
            
}
            else 
Time.timeScale=1.0f;
    } 
     
    
void MyWindow1 (int windowID)  
    { 
        
GUILayout.BeginHorizontal(); 
        if(
GUILayout.Button(b1)) 
        { 
            if(
Application.loadedLevel==0) Application.LoadLevel(1); 
            if(
Application.loadedLevel==1) 
            { 
                
Screen.lockCursor = true; 
                
menu=false; 
            } 
        } 
        
GUILayout.EndHorizontal(); 
        
GUILayout.BeginHorizontal(); 
        if(
GUILayout.Button("Setting")) a=!a; 
        
GUILayout.EndHorizontal(); 
        
GUILayout.BeginHorizontal(); 
        if(
GUILayout.Button(b2))
        { 
            if(
Application.loadedLevel==1) Application.LoadLevel(0); 
            if(
Application.loadedLevel==0) Application.Quit(); 
        } 
        
GUILayout.EndHorizontal(); 
        
//GUI.DragWindow(); 
    
} 
    
void MyWindow2 (int windowID)  
    { 
        
GUILayout.BeginHorizontal(); 
        
GUILayout.Label("Graphics"); 
        
GUILayout.EndHorizontal(); 
        
GUILayout.BeginHorizontal(); 
        
g=GUILayout.HorizontalSlider(g,0,6); 
        if(
g>=0 && g<1) 
            
QualitySettings.currentLevel = QualityLevel.Fastest; 
        if(
g>=1 && g<2) 
            
QualitySettings.currentLevel = QualityLevel.Fast; 
        if(
g>=2 && g<3) 
            
QualitySettings.currentLevel = QualityLevel.Simple; 
        if(
g>=3 && g<4) 
            
QualitySettings.currentLevel = QualityLevel.Good; 
        if(
g>=4 && g<5) 
            
QualitySettings.currentLevel = QualityLevel.Beautiful; 
        if(
g>=5 && g<6) 
            
QualitySettings.currentLevel = QualityLevel.Fantastic; 
        
GUILayout.EndHorizontal(); 
        
GUILayout.BeginHorizontal(); 
        if(
GUILayout.Button("Ok")) a=!a; 
        
GUILayout.EndHorizontal(); 
        
//GUI.DragWindow(); 
    
} 
    
    
void Update()
    {
        if(
Application.loadedLevel==0) 
        { 
            
b1="Play"; 
            
b2="Exit"; 
            
Screen.lockCursor = false; 
        } 
        if(
Application.loadedLevel==1) 
        { 
            
cam.gameObject.GetComponent<MouseLook>().enabled=!menu;
            
FPS.gameObject.GetComponent<MouseLook>().enabled=!menu;
gameObject.GetComponent<Strelok>().enabled=!menu;
            
b1="Continue"; 
            
b2="Main Menu"; 
            if(
Input.GetAxis("Esc")!=0) 
            {             
                
menu=true; 
                
Screen.lockCursor = false; 
            } 
        } 
    }
} 
вот новый код.
ошибок некаких не выдаёт.
Но как видно он ставит не на паузу (Time.timeScale=0.1f; ).
А мне надо на паузу (Time.timeScale=0.0f; )
но когда я так изменю строку , игра не снимается с паузы (ошибок никаких не выдаёт).
Помогите!
---------------
---------------
---------------
using UnityEngine;
using System.Collections;

public class 
Apteka : MonoBehaviour {
    public  
int  prib=10;
    public 
Collider igrok;
    
void OnCollisionEnter (Collision coll)
    {
        if(
igrok == coll.collider)
            global.
live+=prib; 
    }
} 
это скрипт аптечки.
igrok - это FPS плэйер
global.live - это его жизни
Но почему скрипт срабатывает только если апчтечка упадёт игроку на голову?

Последний раз редактировалось den, 16.08.2010 в 23:10.
(Offline)
 
Ответить с цитированием