Форум программистов, компьютерный форум CyberForum.ru

Перерисовка - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Реализация хитов http://www.cyberforum.ru/android-dev/thread1060627.html
Здравствуйте. В этой теме я предлагаю поговорить о том, как можно сделать известные программы Android. Хочу начать с того, в чем я не много разбираюсь - в 2D играх. Есть игра Hill Climb Racing. С машиной тут на мой взгляд все ясно, загружаем отдельно колеса, отдельно кузов и двигаем по физике. А как быть с длинной дорогой, у всех приложений на Android есть ограничение по разрешению загружаемых...
Программирование Android Передача двойного массива в другое активити Доброго времени суток, возникла проблема с массивом! Пытаюсь передать через putExtra двойной массив в другое активити и оно не хочет принимать его. Может надо привести к виду более приятному или передать другим способом в конце концов? Собственно массив Chest. MainActivity Button btnAll,btnArm,btnBack,btnChest,btnHip,btnLeg,btnStomach; RadioGroup radioGroup; http://www.cyberforum.ru/android-dev/thread1060578.html
Программирование Android Как скорость соединения зависит от скорости интернета?
Вопрос в что на эмуляторе приложение открывает диалог для регистрации в фейсбук зразу, а на телефоне это же приложение вылетает(крутится progressdialog несколько секунд и вылетает).
Как скорость соидинения зависит от скорости интернета зависит? Программирование Android
Вопрос в что на эмуляторе приложение открывает диалог для регистрации в фейсбук зразу, а на телефоне это же приложение вылетает(крутится progressdialog несколько секунд и вылетает).
Программирование Android Форматирование текста кнопки http://www.cyberforum.ru/android-dev/thread1060496.html
Подскажите можно ли текст на одной кнопке отформатировать так чтобы несколько первых слов выравнивались по левому краю кнопки, а остальные по правому.
Программирование Android Google LVL library Кто лицензировал приложение с помощью библиотек Google, не могли бы показать пример желательно для Eclipse с обьяснениями. Буду благодарен:) подробнее

Показать сообщение отдельно
PinkPink
9 / 9 / 2
Регистрация: 10.05.2012
Сообщений: 279

Перерисовка - Программирование Android

30.12.2013, 11:22. Просмотров 1101. Ответов 0
Метки (Все метки)

Добрый день.

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

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
package com.example.forlgball;
 
import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
 
public class MainLG extends Activity implements SensorEventListener {
 
 
    private SensorManager mSensorManager; //менеджер сенсоров
    private Sensor mOrientation;    //датчик положения
    private draw d;
    
    private void mainProcessing() {
        Thread thread = new Thread(null, doBackgroundThreadProcessing,
                "Background");
        thread.start();
    }
    private Runnable doBackgroundThreadProcessing = new Runnable() {
        public void run() {
            backgroundThreadProcessing();
        }
    };
    
    private void backgroundThreadProcessing() {
        do{d.invalidate();}while(true);
        
    }
    
    
    public class draw extends View
    {
        int x=0;
        int y=0;
        int cx =160;
        int cy =240;
        public draw(Context context)
        {
            super(context);
        }  
        
        public void set(float _x, float _y)
        {          
           x = (int) _x;
           y = (int) _y;
        }
        int count=0;
        @Override
        protected void onDraw(Canvas canvas)
        {
            if( x<0)
            {
                if(cx<300)cx=cx+5;
            }
            else 
            {
                if(cx>20)cx=cx-5;
            }
            if( y>0)
            {
                if(cy>20)cy=cy-5;
            }
            else
            {
                if(cy<440)cy=cy+5;
            }
            super.onDraw(canvas);
            Paint paint = new Paint();
            paint.setStyle(Paint.Style.FILL);
 
            // закрашиваем холст белым цветом
            paint.setColor(Color.GRAY);
            canvas.drawPaint(paint);
            
            // Рисуем круг
            paint.setAntiAlias(true);
            paint.setColor(Color.MAGENTA);
            canvas.drawCircle(cx, cy, 15, paint);
                
            while(count!=1000)//цикл для плавной отрисовки
            {
                this.invalidate();//перерисовываем
                count++;
                if(count==1000)
                {
                    count=0;
                    break;
                }
            }
        }
    }
 
 
    @SuppressWarnings("deprecation")
    protected void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        // без заголовка
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        d = new draw(this);//создаем холст
        setContentView(d);//и устанавливаем его
        
        mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); // Получаем менеджер сенсоров
        mOrientation = mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION); // Получаем датчик положения
        mSensorManager.registerListener(this, mOrientation,SensorManager.SENSOR_DELAY_NORMAL);
        
    }
    
    
    public void onSensorChanged(SensorEvent event)//вызывается при изменении наклона телефона
    {
        //Нужны плоскость XZ и ZY
        d.set(event.values[2], event.values[1]);//устнавливаем значение наклона
        //d.invalidate();//вызываем перерисовку
    }
 
    
    public void onAccuracyChanged(Sensor arg0, int arg1)//здесь можно ничего не писать  
    {
        
    }
 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru