Что вызывает использование функции, чтобы вызвать разницу на холсте Android? - PullRequest
0 голосов
/ 16 марта 2011

Итак, для начала я изучаю холст, расширив: http://www.helloandroid.com/tutorials/how-use-canvas-your-android-apps-part-1.

Я решил, что хочу, чтобы моя программа запускалась при каждом запуске, поэтому я решил добавить функцию, чтобызапускается в функции запуска, поэтому она выглядит следующим образом:

public void run() {

Canvas c;

while (_run) {

displayHumanHand();

c = null;

try {

                    c = _surfaceHolder.lockCanvas(null);
                    synchronized (_surfaceHolder) {

                        onDraw(c);
                    }
                } finally {
                    if (c != null) {
                        _surfaceHolder.unlockCanvasAndPost(c);
                    }
                }
            }
        }

Поскольку displayhumanhand просто имеет массив «карточек» и размещает их численно, и не должен влиять на используемые растровые изображения (на данный момент).Однако различие, которое вызывает добавление этой строки кода к качеству, меняет ее с:

enter image description here

Почему?Что вызывает снижение качества?Как я могу это исправить?Кроме того, почему изображение справа выглядит иначе, чем изображение слева, когда я рисую тот же значок (для первой ссылки imgur)?

1 Ответ

0 голосов
/ 16 марта 2011

Bleugh. Этот код не так хорош в учебнике. Он делает так много вещей неправильно, я не знаю, с чего начать, но одним из них является тесный бесконечный цикл. Вместо этого следуйте этому руководству: http://blog.goltergaul.de/2010/03/android-game-project-basics-of-threads-and-canvas/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...