Cocos Creator 3.8.4 社区公测帖 - 2024.8.22

我把forward删了,留空,重启就这样了,应该是默认buildin了吧,相机黑,运行也黑

可以试试3.8.4最新分支,已经修复了这个问题。
更新后如果问题依旧,可以尝试Menu->Developer->Refresh all effect重新生成管线数据。


image
这个双相机,只有bg相机显示,主相机黑,

image
这个设置2个相机都黑

image
这个也是2个相机黑

image
这个背景显示,主相机黑

image
这个背景显示,主相机黑

image
这个背景显示,主相机黑

已经更新最新版本3.8.4的分支,刷新了effect

但是网页运行时是背景黑,主相机显示NewProject_3.rar (616.9 KB)

3.8.4要发版了吗?

升级8.4后什么也没动 但是人物不能移动了 虚拟轮盘和摄像机都能移动 但是角色不位移 切换动作的代码也运行了 也能根据轮盘旋转 就是不走

3D开发还行啊。

3.8.4 版本,场景画面在按空格键后,加鼠标点击无法拖动视图,之前版本按空格键再点击鼠标可以同时拖动,现在无法拖动

我3.8.3升3.8.4了屏幕横竖屏切换有问题了,一样的代码3.8.3没问题。有遇到相同问题的吗 :weary:

iOS 吗?

嗯 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放在屏幕旋转之前监听呢

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