输入文字时让人物停止不动的代码
var playName = "None";
static var currentControl ;
function Update() {
    if( currentControl)
    return;//当有任何输入框被点击时屏蔽之后的内容
    
    if (Input.GetKey(KeyCode.UpArrow)||Input.GetKey(KeyCode.W)){
        transform.Translate(Vector3.forward*0.5);
    }
    if (Input.GetKey(KeyCode.DownArrow)||Input.GetKey(KeyCode.S)){
        transform.Translate(Vector3.forward*-0.5);
    }
    if (Input.GetKey(KeyCode.LeftArrow)||Input.GetKey(KeyCode.A)){
        transform.Rotate(Vector3.down *2);
    }
    if (Input.GetKey(KeyCode.RightArrow)||Input.GetKey(KeyCode.D)){
        transform.Rotate(Vector3.up *2);
    }
}
function OnGUI(){
    playName = GUI.TextField(Rect(10,10,100,20),playName);
    //当鼠标按在除输入框的 任意位置时
    if( Input.GetMouseButtonDown( 0 ) && GUIUtility.hotControl == 0 )
    GUIUtility.keyboardControl = 0;
    
    currentControl = GUIUtility.keyboardControl;
}
ps:不管输入框在那个Scrpit中,只要在想屏蔽的地方的OnGUI加上面的代码就行,
if( Input.GetMouseButtonDown( 0 ) && GUIUtility.hotControl == 0 )
GUIUtility.keyboardControl = 0;不用重复加入。