Если вы используете bind в функции обратного вызова loadScene (), информация getScene () неверна.
После переключения с Entry Scene на Lobby Scene я собираюсь заняться постобработкой.
Это было реализовано с использованием typeScript.
Entry.ts
cc.director.loadScene('Lobby', this.postProcessLobby.bind(this)(isRelogin));
введите описание изображения здесь
Значение cc.director.getScene () в окне консоли указывает «Вход»
«Лобби» правильно, потому что оно вызывается после смены сцены.
Другой пример - использование функции стрелки для получения желаемых результатов.
Entry.ts
cc.director.loadScene('Lobby', e => this.postProcessLobby(isRelogin));
введите описание изображения здесь
Значение в cc.director.getScene () указывает «Лобби», а значение переменной лобби выглядит нормально.
Я предпочитаю bind () для обработки асинхронного обратного вызова и хорошо писал без проблем.
Однако loadScene () не получила желаемого результата. Что за чертовщина? Сцена перезвонила без переключения? Или есть другая проблема?