@zzf_2025 大佬看一下呀
还有其他手机有问题吗?
只在自己手机上测试了
window.dispatchEvent(new Event('resize'))
手动调用下这个代码试试,记得判断平台,之前那种修改可以去掉,
没用…
主要是windowSize被return了.
亲 你有遇到切竖屏后方向不对吗?
切竖屏后方向 不对是怎么回事
开启手机自动旋转,游戏切竖屏后方向就不对
3.7.1使用这个 cocos-awesome-tech-solutions/demo/ Creator3.4.0_2D_ScreenSwitch /会报错
Setting window size is not supported
所以有解吗
兄弟有解决吗
有解吗,我也碰到了
努力了两天,找到了一个临时的解决方案。
我是cocos creator 3.8.1的,在ExecutorContext的resize方法里添加this.devicePasses.clear();就能解决我碰到的问题。
加一句,我导出的web-mobile,用户手机开启屏幕自动旋转时,网页就会触发resize方法。没时间更生深入了,盲猜更具体的bug在DeviceRenderPass.resetResource方法中。希望能帮到其他碰到类似问题的小伙伴,有更好的解决方案也麻烦告知我下。
我也遇到类似的问题了,用的版本和导出模式和你一样,请问下ExecutorContext的resize方法里添加this.devicePasses.clear(); 这个怎么添加?谢谢
import * as cc from "cc";
import {_decorator, Component} from "cc";
const {ccclass, property} = _decorator;
@ccclass("FixCocos")
export class FixCocos extends Component {
update(deltaTime: number) {
if(!this._fixed){
try {
let root = cc.director.root as any;
if(root){
let ExecutorContext = root["_pipeline"]["_executor"]["_context"];
let rawRootResize = root.resize.bind(root);
root.resize = (width:number, height:number)=>{
rawRootResize(width, height);
root["__handleResize"] = false;
}
let rawExecutorContextResize = ExecutorContext.resize.bind(ExecutorContext);
ExecutorContext.resize = (width:number, height:number)=>{
if(root["__handleResize"] == false){
root["__handleResize"] = true;
ExecutorContext.devicePasses.clear();
}
rawExecutorContextResize(width, height);
}
this._fixed = true;
}
} catch (e: any) {
}
}
}
private _fixed = false;
}
挂在启动脚本就行
你这个方案会导致slider和scrollview无法正常工作


