AKIM 16 Ответов: 2

Почему единство говорит об ошибке?


ошибка CS0119: 'FramePerSecond.On_GUI()' - это метод, который не является допустимым в данном контексте

Что я уже пробовал:

using System.Collections;
using System.Collections.Generic;
using System.Threading;
using UnityEngine.UI;
using UnityEngine;

public class FramePerSecond : MonoBehaviour
{
    Rect fpsRect;
    GUIStyle style;

    void Start ()
    {
        fpsRect = new Rect(100, 100, 400, 100);
        style = new GUIStyle();
        style.fontSize = 30;
    }

    void Update()
    {

    }

    void OnGUI()
    {
        float fps = 1 / Time.deltaTime;
        OnGUI.Label(fpsRect, "FPS: " + fps);
    }
}

2 Ответов

Рейтинг:
2

Richard MacCutchan

void OnGUI()
{
    float fps = 1 / Time.deltaTime;
    OnGUI.Label(fpsRect, "FPS: " + fps);
}

Вы пытаетесь использовать OnGUI в качестве ссылки на свойство внутри метода, который вы назвали OnGUI, что не имеет никакого смысла.


Рейтинг:
1

F-ES Sitecore

Класс, предоставляющий метод Label, называется просто "GUI", а не "OnGUI".

void OnGUI()
{
    float fps = 1 / Time.deltaTime;
    GUI.Label(fpsRect, "FPS: " + fps);
}


"OnGUI" - это имя функции, которая вызывается при срабатывании события GUI.