C# 如何使onGUI方法统一起来? 使用UnityEngine; 使用系统集合; 公共类GameRootScript:MonoBehavior{ 公共游戏对象预置=null; 私人音频源音频; 公共音频剪辑; 公共纹理2D图标=空; 公共静态字符串mes_text=“test”; //用于初始化 无效开始(){ this.audio=this.gameObject.AddComponent(); this.audio.clip=this.jumpSound; this.audio.loop=false; } void onGUI() { Debug.Log(“映像”); GUI.DrawTexture(新的Rect(Screen.width/2,64,64,64),图标); 标签(新的Rect(Screen.width/2、128、128、32),mes_文本); } //每帧调用一次更新 无效更新(){ if(Input.GetKeyDown(KeyCode.Z)){ Debug.Log(“预置”); GameObject go=GameObject.Instantiate(this.prefab)为GameObject; go.transform.position=新矢量3(随机范围(-2.0f,2.0f),1.0f,1.0f); 这个.audio.Play(); } } }

C# 如何使onGUI方法统一起来? 使用UnityEngine; 使用系统集合; 公共类GameRootScript:MonoBehavior{ 公共游戏对象预置=null; 私人音频源音频; 公共音频剪辑; 公共纹理2D图标=空; 公共静态字符串mes_text=“test”; //用于初始化 无效开始(){ this.audio=this.gameObject.AddComponent(); this.audio.clip=this.jumpSound; this.audio.loop=false; } void onGUI() { Debug.Log(“映像”); GUI.DrawTexture(新的Rect(Screen.width/2,64,64,64),图标); 标签(新的Rect(Screen.width/2、128、128、32),mes_文本); } //每帧调用一次更新 无效更新(){ if(Input.GetKeyDown(KeyCode.Z)){ Debug.Log(“预置”); GameObject go=GameObject.Instantiate(this.prefab)为GameObject; go.transform.position=新矢量3(随机范围(-2.0f,2.0f),1.0f,1.0f); 这个.audio.Play(); } } },c#,unity3d,unityscript,C#,Unity3d,Unityscript,我在Unity中创建了onGUI()方法,但该方法不起作用。 我只是照本宣科,不知道问题出在哪里。 即使是我编译的代码也没有错误。 书籍的统一版本是4.xx,而我的统一版本是5.1.2。您的onGUI方法有一个打字错误。它应该带有大写的“O” 在输入正确的情况下,即使Unity引擎进行编译,它基本上也会忽略此方法。您的onGUI方法有一个输入错误。它应该带有大写的“O” 输入正确后,即使编译了,Unity引擎也基本上忽略了此方法。什么意思它不工作?你在其中设置断点并调试代码了吗?是的。在onGU

我在Unity中创建了onGUI()方法,但该方法不起作用。
我只是照本宣科,不知道问题出在哪里。
即使是我编译的代码也没有错误。

书籍的统一版本是4.xx,而我的统一版本是5.1.2。

您的
onGUI
方法有一个打字错误。它应该带有大写的“O”


在输入正确的情况下,即使Unity引擎进行编译,它基本上也会忽略此方法。

您的
onGUI
方法有一个输入错误。它应该带有大写的“O”


输入正确后,即使编译了,Unity引擎也基本上忽略了此方法。

什么意思它不工作?你在其中设置断点并调试代码了吗?是的。在onGUI方法的第一行,有一个断点。当我运行Unity时,我看不出来。你说它不工作是什么意思?你在其中设置断点并调试代码了吗?是的。在onGUI方法的第一行,有一个断点。当我管理联合会时,我看不到这点。@jake:不客气!很多人被这种团结的怪癖所折磨。祝你好运,玩得开心@jake你到底为什么要用OnGUI而不是新的GUI系统?OnGUI不只是有点糟糕——简直太可怕了。@jake:不客气!很多人被这种团结的怪癖所折磨。祝你好运,玩得开心@jake你到底为什么要用OnGUI而不是新的GUI系统?OnGUI不仅仅是有点糟糕,它简直太可怕了。
using UnityEngine;
using System.Collections;

public class GameRootScript : MonoBehaviour {

    public GameObject prefab = null;

    private AudioSource audio;
    public AudioClip jumpSound;

    public Texture2D icon = null;
    public static string mes_text = "test";


    // Use this for initialization
    void Start () {
        this.audio = this.gameObject.AddComponent<AudioSource> ();
        this.audio.clip = this.jumpSound;
        this.audio.loop = false;
    }

    void onGUI()
    {
        Debug.Log ("Image");
        GUI.DrawTexture (new Rect (Screen.width/2, 64, 64, 64), icon);
        GUI.Label (new Rect (Screen.width / 2, 128, 128, 32), mes_text);
    }

    // Update is called once per frame
    void Update () {
        if(Input.GetKeyDown (KeyCode.Z)){
            Debug.Log("Prefab");
            GameObject go = GameObject.Instantiate(this.prefab) as GameObject;
            go.transform.position = new Vector3(Random.Range(-2.0f,2.0f), 1.0f, 1.0f);

            this.audio.Play();
        }
    }
}