Я играл с мобильным игровым разработчиком, используя Cocos Creator, который построен поверх Cocos2d-JS. Вопрос в том, как мы можем обнаружить изменение ориентации в игровом приложении на Android с помощью Javascript?Как определить изменение ориентации в Android с помощью Javascript (Cocos2d-JS)
Элемент «окно» и «документ» недоступен, и нет событий изменения ориентации. Я попытался обнаружить изменения, используя размер экрана, вместо этого, используя 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 вместо этого. Но кадр, возвращаемый функцией, не меняется. :(
Любых советов о том, как решить эту проблему? Я не пробовал для прошивки еще, но любые пункты о том, как сделать это на прошивке также будут оценен!
Спасибо.
Элемент 'window' и 'document' недоступен Почему? Это глобальные элементы. – Deep
@Deep perhap потому что это не веб-просмотр? – evkwan