2013-07-31 2 views
0

Im создание приложения с использованием OpenGL ES 2.0 на Mosync 3.3.1, и в идеале я бы хотел, чтобы экран вращался в любую ориентацию, на которую наклонен экран. Однако, используя maScreenSetSupportedOrientations() и устанавливая его для динамического или ландшафтного, вызываемого приложением при сбое, когда он пытается вращаться в ландшафт. Это ошибка, которая нуждается в исправлении, или я делаю что-то неправильно? Я отправляю свой код на планшет Nexus 7.MoSync 3.3.1, ориентация ландшафтного экрана, вызывающая сбой

Im инициирования вызова в функции инициализации моего кода:

maScreenSetSupportedOrientations(MA_SCREEN_ORIENTATION_DYNAMIC); 
maScreenSetOrientation(MA_SCREEN_ORIENTATION_LANDSCAPE); 

мой весь код доступен здесь: http://codetidy.com/6378/

+0

Функция * maScreenSetSupportedOrientations() * допускает возможные ориентации, фактическая динамика вызывается с помощью * maScreenSetOrientation() *, возможно, вы могли бы разместить часть кода, которая делает это? –

+0

В документации MoSync указано, что _maScreenSetOrientation() _ обесценивается и вместо этого используется _maScreenSetSupportedOritentaions() _. Я попытался добавить его в любом случае, но это все равно не помогло. Ive теперь обновил вопрос, чтобы показать строки кода по вине и добавил ссылку на мой полный код. –

+0

Я боюсь, вам придется отлаживать немного больше (комментарии частей и посмотреть, сработает ли это с этим), я лично считаю, что это связано с рисунком opengl в месте, которое это не должно. –

ответ

0

Это работает для меня

extern "C" int MAMain() { // Declare MAMain function as "C" 
maScreenSetSupportedOrientations(MA_SCREEN_ORIENTATION_LANDSCAPE); 
Moblet::run(new MyGLMoblet()); 
return 0; 

вместо

void init() { // Screen Size 

    mWidth = EXTENT_X(maGetScrSize()); 
    mHeight = EXTENT_Y(maGetScrSize()); 

    maScreenSetSupportedOrientations(MA_SCREEN_ORIENTATION_PORTRAIT|MA_SCREEN_ORIENTATION_LANDSCAPE); 
    maScreenSetOrientation(MA_SCREEN_ORIENTATION_LANDSCAPE); 
Смежные вопросы