Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
fanatjan
0 / 0 / 0
Регистрация: 20.09.2011
Сообщений: 52
#1

Падает скорость объектов на экране при нажатии - Программирование Android

22.03.2015, 13:44. Просмотров 484. Ответов 17
Метки нет (Все метки)

Привет. У меня возникла проблема. Создал маленькую игру, На экране двигаются несколько объектов, а один из них двигается в зависимости от нажатия и движения пальцем по экрану. Проблема в том что при нажатии скорость других объектов падает, они как бы начинают подтормаживать. Насколько я понимаю это из за частого вызова onTouchEvent.
Вот здесь рисую все объекты
Java
1
2
3
4
5
6
7
8
9
protected void MyOnDraw(Canvas canvas) 
{
Iterator<Enemy> i = enemy.iterator();
          while(i.hasNext()) {
              Enemy e = i.next();
              e.MyOnDraw(canvas);
              //canvas.drawCircle(e.m_x+e.myWidth/2, e.m_y+e.myWidth/2, e.myWidth/2, paint);
          }
touch_obj.MyOnDraw(canvas, X, Y);
Вот здесь беру координаты
Java
1
2
3
4
5
6
7
8
9
public boolean onTouchEvent(MotionEvent event)  
    {
                case MotionEvent.ACTION_DOWN:
                case MotionEvent.ACTION_MOVE:
                {
                        float X=(float)event.getRawX();
                        float Y=(float)event.getRawY();
                }
    }
Что нужно сделать чтобы onDraw не тормозил. Можно ли как то кинуть onTouchEvent в отдельный поток, или отрегулировать частоту его вызова?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.03.2015, 13:44
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Падает скорость объектов на экране при нажатии (Программирование Android):

Клиент падает при запуске - Программирование Android
Добрый день подскажите пожалуйста, где может быть ошибка. Не как не получается запустить данный код на Android при нажатие кнопки...

При использовании свича скорость падает до 0 - Сетевое оборудование
Добрый вечер! У меня интернет разделен на два компьтера свичем. Раньше скорость делилась на две примерно равные части. А в последние дни,...

Падает скорость интернета при включенном компьютере - Сетевое оборудование
Здравствуйте, уважаемые пользователи форума! Уже год пытаюсь решить свою проблему с интернетом. Дело в том, что у меня ADSL интернет от...

При подключении сегмента падает скорость интернета - Сети
Ситуация: Есть локальная сеть из трех сегментом и Вай-Фай. Все через Д-линк 2640 (роутер) с выходом в интернет. в сегментах есть свичи...

Скорость интернета падает при конвертации видео - Windows 7
Привет всем. когда конвертирую видео программой Any Video Converter Professional или Movavi Конвертер, то скорость скачивания в уторрент...

Падает скорость отрисовки при transparent = true - C++ Builder
вывожу на image1 через буфер. при отключенной прозрачности у image1 скорость отрисовки устраивает, но мне надо чтобы св-во transparent было...

17
fanatjan
0 / 0 / 0
Регистрация: 20.09.2011
Сообщений: 52
23.03.2015, 17:45  [ТС] #16
Java
1
2
3
4
5
6
7
8
9
                matrix.postRotate(matrix_angle, (myWidth / 2), (myHeight / 2)); //rotate it
                matrix.postTranslate(x, y); //move it into x, y position
                //c.drawBitmap(bmp, src,dst, null); //draw the ball with the applied matrix
 
                // method two 
                c.save(); //save the position of the canvas
                c.rotate(matrix_angle, x + (myWidth / 2), y + (myHeight / 2)); //rotate the canvas' matrix
                c.drawBitmap(bmp, src, dst, paint);
                c.restore(); //rotate the canvas' matrix back
Ну вот часть кода который рисует в Enemy, но тормозить игра начинает когда я пытаюсь брать координаты из onTouchEvent, с рисованием проблем вроде бы нету. Можно ли как то кинуть onTouchEvent - в поток?
0
Pablito
2630 / 2112 / 656
Регистрация: 12.05.2014
Сообщений: 7,394
Завершенные тесты: 1
23.03.2015, 20:06 #17
код в первом сообщении в onTouchEvent это все или еще есть что-то?
а то подозрительно мало, две строки с локальными x y
0
fanatjan
0 / 0 / 0
Регистрация: 20.09.2011
Сообщений: 52
24.03.2015, 21:59  [ТС] #18
Там так.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public boolean onTouchEvent(MotionEvent event)  
    {
                case MotionEvent.ACTION_DOWN:
                case MotionEvent.ACTION_MOVE:
                {
                        X=(float)event.getRawX();
                        Y=(float)event.getRawY();
                        X=X-(this.getWidth()-bmp_jostic_bg.getWidth());
                        Y=Y-(this.getHeight()-bmp_jostic_bg.getHeight());
                        js.drawStick(event, X,Y);
                        X=js.getX();
                        Y=js.getY();
                }
    }
js.drawStick - это класс который у меня рисует джойстик, от него и берутся новые координаты для touch_obj.
Вот функция js.drawStick
Java
1
2
3
4
5
public void drawStick(MotionEvent arg1, float setX, float setY) {
        position_x = (int) (setX - (myWidth/ 2));
        position_y = (int) (setY - (myHeight / 2));
        distance = (float) Math.sqrt(Math.pow(position_x, 2) + Math.pow(position_y, 2));
        angle = (float) cal_angle(position_x, position_y);
0
24.03.2015, 21:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.03.2015, 21:59
Привет! Вот еще темы с ответами:

падает скорость интернет при закачке файлов - Софт
пользуюсь usbмодемом . при закачке файлов dowload master скорость падает до нуля раньше этого не было, может дело в каких то настройках?

Падает скорость интернета при пользовании торрентами - Софт
Всем доброго времени суток, Я пользуюсь двумя торрент - клиентами: MediaGet и Zona( не сочтите за рекламу), проблема состоит в том, что...

Скорость процессора падает при включении игр - Процессоры
У меня когда не играю скорость 2.8 GHz Когда играю 1.87 GHz WTF Ноутбук lenovo g505s ЦП AMD A8-5550M APU with...

При загрузке через GoogleChrome падает скорость до 0 Б/с - Wi-Fi
Windows 8.1. Роутер D-Link DIR300. Раньше было всё хорошо а щас такая фигня.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru