如何获取设备方向
How to get device orientation
使用cocos2d-x(c++)获取设备方向的最佳方法是什么?
我的Android/iOS应用程序确实支持所有4种设备方向,比知道它是横向还是纵向更重要的是,我想知道它是不是倒置的。
我必须从CCLayer内部了解。
更新
我正在尝试获得向右倾斜和向左倾斜的事件。为了做到这一点,我正在计算设备被固定的角度。然而,我需要知道设备的方向,才能知道我是真的向左倾斜还是向右倾斜。
虽然cocos2d-x是跨平台的,但很少有东西仍然非常依赖于平台,例如,如果你看到CCFileUtils,我们有单独的iOS、Android等实现文件,跨平台由一个单独的头维护
记住这一点,
在Android中,您可以使用常量来获取设备方向
Surface.ROTATION_0 (no rotation)
Surface.ROTATION_90
Surface.ROTATION_180
Surface.ROTATION_270.
您可以通过拨打Display.getRotation()
获得(如果设置了android:screenOrientation:fullSensor
,则仅在所有这些方向上旋转)
在iOS中,您可以使用获取值
UIDeviceOrientationPortrait
UIDeviceOrientationPortraitUpsideDown
UIDeviceOrientationLandscapeLeft
UIDeviceOrientationLandscapeRight
(如果supportedInterfaceOrientations
方法返回UIInterfaceOrientationMaskAll
,则仅在所有这些方向上旋转)
注:在人像模式下倒置手机不是一个好的做法,只有在平板电脑上才是可以接受的。。(苹果甚至可能因此拒绝你的应用程序)
如果你想知道如何使用它,请告诉我,但谷歌关键词会给你用法。。
快速谷歌搜索后:
http://www.cocos2d-x.org/wiki/Device_Orientation
http://www.cocos2d-x.org/forums/6/topics/36414
UDPDATE:
我不认为你可以按照你想要的方式从cocos2d-x中确定方向。然后我想到的唯一解决方案是通过jni进入java,并使用android的方法来确定当前的方向。这是一个链接关于如何确定所有4个方向。
至于如何从c++中调用java方法,那是另一回事了。
- C++为构建时间获取QDateTime的可靠方法
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 使用指针从C++中的数组中获取最大值
- 如何获取std::result_of函数的返回类型
- 如何在openssl-ecc中获取十六进制格式的私钥
- 使用Unreal C++获取VR耳机的世界位置/方向
- 获取日期异步信号安全吗?如果在信号处理程序中使用,它会导致死锁吗
- 从C字符串中获取奇怪的字符串长度
- 为什么我的for循环不能正确获取argv
- 从python中调用C++函数并获取返回值
- 如何获取一个数字的前3位
- 获取字符串的长度并将其分配给数组
- 无法获取菜单选择以运行函数.C++
- 从图像中的像素中获取轴承矢量(方向)
- 如何获取设备方向
- 在C++API中获取无界方向
- QML:如何在不实际移动任何可见组件的情况下,在鼠标Aeria顶部获取鼠标移动的方向
- 从cin获取方向键
- 从像素补丁OpenCV中获取方向直方图