当前位置: 首页 > 知识库问答 >
问题:

获取错误CS1955:不可调用的成员'SceneManager'不能像方法一样使用

伍光济
2023-03-14

我试图在玩家触发丢失条件时重新加载场景(Dieeng),以便创建一个各种检查点系统。这个游戏是一个FPS btw的情况下,是相关的。

以下是相关代码:

string m_SceneToLoad;

.

void Update()
    {
        if (gameIsEnding)
        {
            float timeRatio = 1 - (m_TimeLoadEndGameScene - Time.time) / endSceneLoadDelay;
            endGameFadeCanvasGroup.alpha = timeRatio;

            AudioUtility.SetMasterVolume(1 - timeRatio);

            // See if it's time to load the end scene (after the delay)
            if (Time.time >= m_TimeLoadEndGameScene)
            {
                SceneManager.LoadScene(m_SceneToLoad);
                gameIsEnding = false;
            }
        }
        else
        {
            if (m_ObjectiveManager.AreAllObjectivesCompleted())
                EndGame(true);

            // Test if player died
            if (m_Player.isDead)
                EndGame(false);
        }
    }

.

void EndGame(bool win)
    {
        // unlocks the cursor before leaving the scene, to be able to click buttons
        Cursor.lockState = CursorLockMode.None;
        Cursor.visible = true;

        // Remember that we need to load the appropriate end scene after a delay
        gameIsEnding = true;
        endGameFadeCanvasGroup.gameObject.SetActive(true);
        if (win)
        {
            m_SceneToLoad = winSceneName;
            m_TimeLoadEndGameScene = Time.time + endSceneLoadDelay + delayBeforeFadeToBlack;

            // play a sound on win
            var audioSource = gameObject.AddComponent<AudioSource>();
            audioSource.clip = victorySound;
            audioSource.playOnAwake = false;
            audioSource.outputAudioMixerGroup = AudioUtility.GetAudioGroup(AudioUtility.AudioGroups.HUDVictory);
            audioSource.PlayScheduled(AudioSettings.dspTime + delayBeforeWinMessage);

            // create a game message
            var message = Instantiate(WinGameMessagePrefab).GetComponent<DisplayMessage>();
            if (message)
            {
                message.delayBeforeShowing = delayBeforeWinMessage;
                message.GetComponent<Transform>().SetAsLastSibling();
            }
        }
        else
        {
            
            Scene scene = SceneManager().GetActiveScene;
            m_SceneToLoad = scene.name;
            m_TimeLoadEndGameScene = Time.time + endSceneLoadDelay;
        }
    }

我不明白为什么我得到的错误。请帮忙。编辑:错误出现在这一行:Scene场景=SceneManager()。GetActiveScene;

共有1个答案

於永寿
2023-03-14

SceneManager是一种类型而不是属性<代码>场景管理器。GetActiveScene()但是它是一个静态方法。。。

应该是

var scene = SceneManager.GetActiveScene();
 类似资料:
  • 我正在使用JasperSoft Studio 6.8.0,我遇到了一个困难的错误: 我的Java类有一个属性。 但是我在运行时出现了这个错误(编译就可以了): net.sf.jasperReports.engine.fill.jrexpressionevalexception:在net.sf.jasperReports.engine.fill.jrexpressionevalception为源文本

  • 它可能是重复的,但我尝试了所有我在StackOverflow上找到的解决方案。 我不能使用但我不能。我尝试修改我的makefile太多次了。我的最后一个配置是: Android.mk LOCAL_PATH:=$(调用my-dir) 包括$(LOCAL_PATH)/jsoncpp/android.mk 包括/users/rafaelruizmunoz/desktop/androiddevelopme

  • 这个问题是由打字错误或无法再复制的问题引起的。虽然类似的问题可能在这里讨论,但这一问题的解决方式不太可能帮助未来的读者。 我对java很陌生,试图编写一个简单的代码,包含main方法和另外两个方法(calcAverage和determineGrade)。我一直在试着让它工作,但是这两种方法都出错了 我尝试切换变量并切换方法的工作方式,但我什么也得不到。

  • 这是三个文件 我得到一个错误“Fatal error:Uncattle error:Call to a member function prepare()on null”。这段代码运行在我的localhost上没有问题,但是当它上传到服务器时,我就出现了这个问题。我在本地使用PHP8和xammp软件。我是三年级学生,请帮帮我。 文件database.php: } 文件admin.php

  • 问题内容: 下面的代码 在Python 2中可以正常工作,但是在Python 3中我得到一个错误: 它仅适用于和。 问题答案: 您需要提供在Python 3订货丰富的比较方法,这是 ,,,,,和。另请参阅:PEP 207-丰富的比较 。 是 不是 不再使用。 更具体地说,以和作为参数,并且需要返回是否小于。例如: (这不是明智的比较实现,但是很难说出您要做什么。) 因此,如果您有以下情况: 这等效