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

onTouchEvent в потоке - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Hello World! http://www.cyberforum.ru/android-dev/thread449938.html
Привет! Такая вот штука…попытался запустить свой первый проект HelloWorld. Всё сделал точно по инструкции…сверялся с двумя букварями..Запуск не получается…Пишет что нужно исправить ошибки ...
Программирование Android Ошибка в eclipse помогите пожалуйсто постоянно выскакивают ошибки btnCancel (btnOk;tvOut;main) cannot be resolved or is not a field public class MainActivity extends Activity implements OnClickListener { TextView tvOut; ... http://www.cyberforum.ru/android-dev/thread449228.html
Странная арифметика Java Программирование Android
Здравствуйте. Кто подскажет в чем дело, выполняю обычный пример (-3.4)+3, а ответ получаю совершенно необычный -0.4000001. С чем это может быть связано? Используемые типы данных float.
Eclipse не хочет компилировать приложение Программирование Android
Решил попытаться написать приложение под Андроид, eclipse не хочет компилировать подскажите плиз, что не так.
Программирование Android Генератор кубиков http://www.cyberforum.ru/android-dev/thread448185.html
Всем привет) Помогите новичку... Познания нулевые и вот решил попробовать сделать что-то похожее на игральные кости (кубики). Кодить пытаюсь в Eclipse (настроено все под Андроид, и виртуальные...
Программирование Android ListView + Adapter Товарищи, помогите советом. Создал очень простую прогу: public class JustTestActivity extends Activity { String s = { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n",... подробнее

Показать сообщение отдельно
nnnikotinnn995
4 / 4 / 0
Регистрация: 07.07.2011
Сообщений: 316
28.02.2012, 09:32  [ТС]
Что то я запутался. Это все надо писать в одном классе или в разных? По идее если почти все у вас private то в одном, но кучу ошибок выдает
import android.graphics.Canvas;

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
public class GameManager extends Thread
{
       /**Наша скорость в мс = 10*/
       static final long FPS = 500;
      
       /**Объект класса GameView*/
       private GameView view; 
 
       /**Задаем состояние потока*/
       private boolean running = false;
       
      
       //СОЗДАЕМ ИНТЕРФЕЙС ДЛЯ ДАЛЬНЕЙШЕГО ИСПОЛЬЗОВАНИЯ В ПОТОКЕ:
       private interface DrawHelper  
       {
           void draw(Canvas canvas);
       }
       
       
      // ДАЛЬШЕ НАМ НУЖНО СОЗДАТЬ МЕТОД КОТОРЫЙ БУДЕТ ПОВТОРЯТЬ РАБОТУ МЕТОДА RUN НО НЕМНОГО УСОВЕРШЕНСТВОВАНЫЙ
       private void draw(DrawHelper helper)
       {
           Canvas canvas = null;
           try
           {
               // подготовка Canvas-а
               canvas = mSurfaceHolder.lockCanvas();   //ОШИБКА
               synchronized (mSurfaceHolder)    //ОШИБКА
               {
                       helper.draw(canvas);
               }
           }
           catch (Exception e) { }
           finally
           {
               if (canvas != null)
               {
                   mSurfaceHolder.unlockCanvasAndPost(canvas);   //ОШИБКА
               }
           }
       } //ОШИБКА
       
       
       //ДАЛЬШЕ НУЖНО СОЗДАТЬ ПЕРЕМЕННЫЕ КОТОРЫЕ БУДУТ ЮЗАТЬ НАШ ИНТЕРФЕЙС В КОНСТРУКТОРЕ ИЛИ В МЕТОДЕ ОНТАЧ:
       
       /** Хелпер для перерисовки экрана */
       private DrawHelper mDrawScreen;               //ОШИБКА
        
       /** Хелпер для рисования результата игры*/
       private DrawHelper mDrawGameover;                //ОШИБКА
       
     //И ПРОПИСАТЬ НУЖНЫЕ НАМ ДЕЙСТВИЯ ПРИ НАЖАТИЯ НА ЭКРАН:
    // функция для рисования экрана
       mDrawScreen = new DrawHelper()
       {
           public void draw(Canvas canvas)
           {
               onDraw(canvas);                  //ОШИБКА
           }
       };                                     
    
       // функция для рисования результатов игры
       mDrawGameover = new DrawHelper()
       {
           public void draw(Canvas canvas)
           {
               // Вывели последнее состояние игры
               onDraw(canvas);                     //ОШИБКА
    
            //рисуем шо хотим       
           }
       };                                //ОШИБКА
 
     //НЕМНОГО ВИДОИЗМЕНЯЕМ НА RUN ДЛЯ ТОГО ЧТО БЫ НЕ ПОВТОРЯТЬ РАБОТУ МЕТОДА DRAW():
       public void run()
       {
           while (running)
           {
                   draw(mDrawScreen);
           }
           draw(mDrawGameover);
       } 
       
       /**Конструктор класса*/
       public GameManager(GameView view) 
       {
           
             this.view = view;
       }
 
        /**Задание состояния потока*/
       public void setRunning(boolean run) 
       {
             running = run;
       }
 
       /** Действия, выполняемые в потоке */
}
Цитата Сообщение от dajver Посмотреть сообщение
Метод draw() должен находится в классе потоке, потому что если разместить его в не класса потока будут проблемы с рисованием и возможно потрепает очень нервы.
имееется ввиду этот метод?
Java
1
2
3
4
5
public void onDraw(Canvas canvas) 
       {
          
        canvas.drawBitmap(bmp, x, y, null);
       }
У вас нет случайно готового проекта?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru