Cocos引擎WebGL上下文丢失与恢复处理机制


发表于 修改于 Code 84 字 几秒

创建脚本并挂在到根节点

import { _decorator, Component, director, game } from "cc";
const { ccclass, property } = _decorator;
@ccclass("HandleWebGLLoss")
export class HandleWebGLLoss extends Component {
onLoad() {
const canvas = game.canvas;
canvas.addEventListener(
"webglcontextlost",
(event) => {
event.preventDefault();
console.log("Context Lost");
director.pause();
},
false
);
canvas.addEventListener(
"webglcontextrestored",
() => {
console.log("Context Restored");
// director.resume();
location.reload();
},
false
);
}
}

模拟 WebGL 上下文丢失与恢复:地址