Cocos Creator 3.8.4 社区公测帖 - 2024.8.22

嗯 ios真机14 plus

具体什么问题,这部分代码我提交过一个 PR

intel的mac电脑mumu模拟器,空包启动都会闪退3.8.3,这个版本会解决吗 @minggo ,M系列的不会

原来3.8.3切换场景前先c中调用:

  +(void)setOrientation:(NSString*)dir{
  if(@available(iOS 16.0, *)) {
            UIScene *windowScene = [[[UIApplication sharedApplication] connectedScenes] anyObject];
            UIWindowSceneGeometryPreferencesIOS *preferences = nil;

            if ([dir isEqualToString:@"H"]){ 
                preferences = [[UIWindowSceneGeometryPreferencesIOS alloc] initWithInterfaceOrientations:UIInterfaceOrientationMaskLandscape];
            }else {
                preferences = [[UIWindowSceneGeometryPreferencesIOS alloc] initWithInterfaceOrientations:UIInterfaceOrientationMaskPortrait];
            }
            [(UIWindowScene *)windowScene requestGeometryUpdateWithPreferences:preferences errorHandler:^(NSError * _Nonnull error) {
            }];

    }//执行了这段代码

然后ts调用:view.setDesignResolutionSize
然后监听: if (sys.isMobile) {
screen.on(“window-resize”, this.setResetScreenSize, this);
} (这个3.8.4好像无效了)

====
,现在升级3.8.4好像必须要监听:

         window.addEventListener("resize", this.setResetScreenSize.bind(this, "resize"));
         window.addEventListener("orientationchange", this.setResetScreenSize.bind(this, "orientationchange"));

改成这个就好了。

有解决过模拟器的问题,你可以用社区版本是一下。

看是否和这个有关系 注意:Node 的一些 set 接口行为的修正

你好,你这个是屏幕旋转的时候,没触发到 window-resize?
单纯的setDesignResolutionSize并不会触发window大小的改变。
另外,根据你的描述,383没问题?

我是先调用底层屏幕旋转,再监听screen.on(“window-resize”, this.resetScreenSize, this);

现在升级后 改为用 window.addEventListener(“resize”, this.resetScreenSize.bind(this, “resize”)); 去监听就好了

别的就不知道了,我又看了我之前3.8.3的真机发的版本确实是好的,3.8.4改成window.addEventListener(“resize”, this.resetScreenSize.bind(this, “resize”)); 去监听就好了,应该是他底层横竖屏切完后会自动调用resize吧,我就改了这里

383用的是dashboard上发布的正式版吗?
另外,如果screen.on放在屏幕旋转之前监听呢

先旋转再监听,之后再旋转能收到回调吗?还是只旋转一次?

24年规划还有几个版本?

383没问题,384要手动触发canvas-resize,不过可能383才是错误的

是否有可复现demo呢,我这边可以看看

简单的挂脚本执行 view.setDesignResolutionSize 方法,看有没有触发canvas-resize 回调就知道了,在383是能行,384是不行的。我前两天有跟踪看383能行是因为node下的changeposition事件触发,才导致canvas-resize回调生效,384就不行了

老哥解决了吗,我也卡这了

最新分支效果好像正常了。




这是预期的效果吗?

MenoTest.rar (51.7 KB) 我上传的demo,测试一下,test.mp3这个音频文件加载失败。在ios平台Sair浏览器上面是有问题,Android没问题的

2.x可以在偏好设置改的 但是现在不让了,不知道在干嘛

更新到最新分支正常了