如题目,原生开启旋转屏幕,旋转后会初始化界面,比如camera的位置就会初始,会导致一些相关的功能会出错。
cc.view.on(‘canvas-resize’, callback, this);
试了一下,好像没触发,网页上是可以的,Android上不行。
window.addEventListener(“orientationchange”, this.oriChange.bind(this));
oriChange(event:any) {
if (window.orientation == 180 || window.orientation == 0) {
console.log(“竖屏”);
}
if (window.orientation == 90 || window.orientation == -90) {
console.log(“横屏”);
}
}
这个可行,回调里面直接设置camera的position不生效,延后一帧可以了,还一个方案是Java和TS互调。
activity重写
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
}
是的,触发了再通知cocos,也可以
[quote=“1111463, post:1, topic:125903”]
原生开启旋转屏幕,旋转后会初始化界面,比如camera的位置就会初始,会导致一些相关的功能会出错。
[/quote]这个设置camera的position不生效是如何设置的
延后一帧
this.scheduleOnce(()=>{
// todo
});
延后一帧,然后设置camera的位置?获取camera的之前的位置,然后再设置回去吗
我们的游戏是移动map,一直在set camera的 position,有个公有变量一直存着,所以把公有变量赋值回去就行了。
这个对Andriod好像监听不到
CoCos Creator 3.3.2
我这边用的是2.4.7,Android 测试的。