我一直在使用Cocos Creator来玩手机游戏开发,它建立在Cocos2d-JS之上。问题是,我们如何使用Javascript检测Android游戏应用中的方向变化?
'窗口'和'文件'元素不可用,并且没有方向更改事件。我试图通过cc.view.getFrameSize()
使用屏幕大小来检测更改,这应该等同于获取画布大小(视图端口)。我开始在横向模式下获取{width:2560, height:1440}
。
但是当我将设备旋转到纵向模式时,cc.view.getFrameSize()
仍在向我发送{width:2560, height:1440}
。但是,使用adb logcat我可以看到下面的事件:
> 09-29 19:24:50.151 3449 3449 V WindowOrientationListener:
> OrientationSensorJudge.onSContextChanged, Rotation: 0 09-29
> 19:24:50.161 3449 3526 V WindowOrientationListener:
> OrientationSensorJudge.getProposedRotation, Rotation: 0 09-29
> 19:24:50.161 3449 3526 V WindowManager:
> rotationForOrientationLw(orient=4, last=1); user=0 sensorRotation=0
> mLidState=-1 mDockMode=0 mHdmiPlugged=false
> mMobileKeyboardEnabled=false displayId=0 09-29 19:24:50.161 3449 3526
> V WindowOrientationListener:
> OrientationSensorJudge.getProposedRotation, Rotation: 0 09-29
> 19:24:50.161 3449 3526 D SamsungWindowManager: setRotationLw() :
> rotation=0 09-29 19:24:50.201 3449 3965 I InputReader: Reconfiguring
> input devices. changes=0x00000004 09-29 19:24:50.201 3449 3965 I
> InputReader: Device reconfigured: id=4, name='sec_touchscreen', **size
> 1440x2560,** orientation 0, mode 1, display id 0
尺寸已改为1440x2560。但是从函数返回的帧不会改变。 :(
有关如何解决此问题的任何提示?我还没有尝试过iOS,但是在iOS上如何做到这一点也将不胜感激!
感谢。