Android SurfaceView против GLSurfaceView для фона в стиле обоев - PullRequest
2 голосов
/ 24 февраля 2012

Мне нужно создать игру для одного из моих проектов.Игра не изящная, но я все же хочу, чтобы она имела приятный внешний вид (возможно, 3D фоновый вид).Я думал, что буду использовать другой метод, чем просто загрузить фон через XML-файл.Я хочу создать вид поверхности с красивым текстурным фоном (мне хотелось бы, чтобы он был похож на живые обои).Я знаю, что есть Rendererscript, но я, видимо, он не работает на уровне API ниже 11 ???Я хотел бы настроить уровень API на 7 или 8.

Вот что я планировал сделать примерно так:

    mView = new BasicGLSurfaceView(getApplication());

    View inflatedView=View.inflate(this, R.layout.title, null);
    View inflatedView2=View.inflate(this, R.layout.buttons, null);

    setContentView(mView);
    this.getWindow().addContentView(inflatedView, 
            new LayoutParams(LayoutParams.MATCH_PARENT, 
                    LayoutParams.WRAP_CONTENT));
    this.getWindow().addContentView(inflatedView2, 
            new LayoutParams(LayoutParams.MATCH_PARENT, 
                    LayoutParams.MATCH_PARENT));

Мне было интересно, какой путь лучше: используйте open GLSurfaceViewпросто обычный SurfaceView и Canvas.Какой из них быстрее и будет выглядеть лучше?Не могли бы вы посоветовать мне лучшее решение для реализации?

спасибо

1 Ответ

2 голосов
/ 24 февраля 2012

Canvas проще и быстрее, но не поддерживает 3D-рисование. Поскольку вы сказали, что, возможно, захотите заняться 3D, вы захотите использовать GLSurfaceView и OGLES. Canvas часто может превзойти OpenGL для 2D-рисования.

...