使用cocos2d-x(C++)獲取設備方向的最佳方式是什麼?如何獲取設備方向
我的Android/iOS應用程序確實支持所有4種設備方向,並且比知道它是橫向還是縱向更重要,我想知道它是否顛倒或不正確。我將不得不從CCLayer中知道。
UPDATE
我試圖得到向右傾斜,左傾斜事件。爲此,我正在計算裝置的夾角。但是,我需要知道設備的方向,才能知道我是左右傾斜。
使用cocos2d-x(C++)獲取設備方向的最佳方式是什麼?如何獲取設備方向
我的Android/iOS應用程序確實支持所有4種設備方向,並且比知道它是橫向還是縱向更重要,我想知道它是否顛倒或不正確。我將不得不從CCLayer中知道。
UPDATE
我試圖得到向右傾斜,左傾斜事件。爲此,我正在計算裝置的夾角。但是,我需要知道設備的方向,才能知道我是左右傾斜。
儘管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個方向的 link 。至於如何從C++調用java方法,那是另一個球類遊戲。
是不是正面顛倒是正確的?畢竟設備是一個矩形。你倒的感覺可能不是另一個人 – tyczj
@tyczj不爲加速度計 – Daniel
你可能想將它添加到你的問題,然後解釋你的問題是什麼,你正在努力克服 – tyczj