Здравейте, в момента уча cocos2dx. Създавам тази игра в портретен изглед. проблемът е, че изображението е толкова малко. Защо?
Освен това как мога да го накарам да скрие лентата за навигация?
Здравейте, в момента уча cocos2dx. Създавам тази игра в портретен изглед. проблемът е, че изображението е толкова малко. Защо?
Освен това как мога да го накарам да скрие лентата за навигация?
За портрет в AndroidManifest.xml променете ориентацията на екрана на портрет:
<activity android:name="org.cocos2dx.cpp.AppActivity"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:configChanges="orientation">
Също така задайте подходяща разделителна способност на дизайна в AppDelegate.cpp (когато беше 960x640 например сега трябва да е 640x960 за портрет).
Що се отнася до скриването на навигационната лента, трябва да промените целевото ниво на sdk на ниво api 19 (kitkat) и след това да промените изпълнението на клас AppActivity за следното:
public class AppActivity extends Cocos2dxActivity {
private Cocos2dxGLSurfaceView glSurfaceView;
public Cocos2dxGLSurfaceView onCreateView()
{
glSurfaceView = new Cocos2dxGLSurfaceView(this);
this.hideSystemUI();
glSurfaceView.setEGLConfigChooser(5, 6, 5, 0, 16, 8);
return glSurfaceView;
}
public void onWindowFocusChanged(boolean hasFocus)
{
super.onWindowFocusChanged(hasFocus);
if (hasFocus)
{
this.hideSystemUI();
}
}
@TargetApi(Build.VERSION_CODES.KITKAT)
private void hideSystemUI()
{
if (Build.VERSION.SDK_INT >= 19) {
glSurfaceView.setSystemUiVisibility(
Cocos2dxGLSurfaceView.SYSTEM_UI_FLAG_LAYOUT_STABLE
| Cocos2dxGLSurfaceView.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| Cocos2dxGLSurfaceView.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| Cocos2dxGLSurfaceView.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| Cocos2dxGLSurfaceView.SYSTEM_UI_FLAG_FULLSCREEN
| Cocos2dxGLSurfaceView.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
}
}
}
Това ще работи само за устройства с android 4.4+, а на по-старите просто няма да направи нищо.