如何使用Javascript(Cocos2d-JS)

时间:2016-09-29 16:53:48

标签: javascript android cocos2d-iphone cocos2d-android cocos2d-js

我一直在使用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上如何做到这一点也将不胜感激!

感谢。

1 个答案:

答案 0 :(得分:0)

在Cocos2d论坛上挖掘了一下之后,this thread表明无法检测手机中发生的方向变化。现在只能在开始时锁定原生方向,并在需要时以编程方式更改方向。

相关问题