У меня есть игра, и она хорошо работает на Android через приложение под названием C4Droid (если вы не знаете о C4Droid, просто погуглите его). Он написан на C ++ и использует только SDL2.
Он работает в портретном режиме, и поэтому, когда я наклоняю устройство с включенным автоповоротом, он получает пейзаж.
Теперь я хотел сделать что-то, чтобы избежать получения пейзажа, даже когда автоповорот включен. Ответьте, пожалуйста?
Установить ориентацию в файле манифеста, как этот Android: screenOrientation
<activity
android:name="com.androidgames.mreater.MrEaterGame"android:label="Mr. Eater"android:screenOrientation="portrait"android:configChanges="keyboard|keyboardHidden|orientation|screenSize">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Нет, это невозможно сделать только в SDL2 (это можно сделать в iOS, но по какой-то причине в Android они изменились). Ответ wadali лучший, вот несколько способов использовать его в вашей среде сборки:
Есть Android API для управления ориентацией, но вы не можете получить к ним доступ из SDL2. SDL2 создает свою собственную активность и не имеет возможности ни расширять ее, ни позволять вам предоставлять свою собственную активность, поэтому вы не можете предоставлять дополнительные вызовы Android API для своего собственного кода.