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

Рисование пазлов, нужен совет - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Научиться программированию на Android http://www.cyberforum.ru/android-dev/thread571879.html
Хотелось бы научиться программированию на Android. Но я не знаю не какой язык программирования. Подскажите пожалуйста с чего мне начать, какую литературу искать, и где. Заранее благодарен.
Android CheckBox android Зравствуйте, поискал в интернете не нашел, как проверить CheckBox на Cheacked ? CheckBox.Cheaked <--- такого нету пишут Eclipce; Заранее спасибо) http://www.cyberforum.ru/android-dev/thread571779.html
Ищу устройство с полноценной поддержкой USB host Android
Всем привет. Для задачи коммуникации между android планшетом и неким внешним USB HID устройством написал java приложение. Отлаживался на нетбуке asus ( платформа x86 ). Все шикарно, все работало как надо. Когда дошел до финальной стадии, т.е. опробации на реальном планшете, случился казус. Купили планшет explay informer 701, поставили на него приложение. Но мое приложение не видит ни одного USB...
Tab вложенный в tab Android
Доброго времени суток, Натнулся на такую проблемку (и не наткнулся на её решение в интернете), есть потребность вложить TabActivity как элемент другую TabActivity, то есть чтобы по нажатию на элемент первой активити вываливался список вкладок второй, причём вываливался строго под вкладками первой. Никто не придумывал красивого решения для таких вещей? Может существует готовое решение для...
Android Частота обновления экрана (FPS) на Canvas http://www.cyberforum.ru/android-dev/thread569960.html
Здравствуйте. Рисую на канве. Проверил частоту обновления экрана (FPS ) на 2 телефонах – один 1000 мегагерц другой 600 – совпадает, возникает предположение что фпс не зависит от процессора. Если вспомнить справку "Or, in a separate thread, wherein you manage a SurfaceView and perform draws to the Canvas as fast as your thread is capable (you do not need to request invalidate())." то не ясно...
Android Vk.com api audio.get +resonce Прошу о помощи мучаюсь уже неделю, в кратце, делаю запрос через vk api, запрос приходит успешно, но вот ответ обработать не знаю как. вот описание запроса http://vk.com/developers.php?oid=-1&p=audio.get вот как я его выполняю собственно: public ArrayList<Audio> getAudiomy(Long uid, Long gid,int count) throws MalformedURLException, IOException, JSONException, KException{ Params params =... подробнее

Показать сообщение отдельно
kinderproc
0 / 0 / 0
Регистрация: 12.05.2012
Сообщений: 11

Рисование пазлов, нужен совет - Android

12.05.2012, 12:02. Просмотров 1179. Ответов 1
Метки (Все метки)

Здравствуйте. Начал изучать программирование с написания Паззлов - аналога обычных картонных. Нужен совет в каком направлении двигать булки. В данный момент реализовал рисование на канве кругов и их перетаскивание, выглядит это так:

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
public class GameWindow extends Activity{
    
    private GraphicsView myView;
    private int selDot = -1;
    private int imgInd;
    
    private class GraphicsView extends View{
        //Класс, реализущий перетаскиваемую точку
        private class Dot {
            float dotX, dotY;
            Paint dotPaint;
        }
                
        private Dot[] arrDots;
        private final int dflColor = Color.YELLOW;
        private int Rad = 20;
        private float initialX, initialY,
                      offsetX, offsetY;
        
        public GraphicsView(Context context) {
            super(context);
                                                
            //Рисуем пять точек с произвольными координатами
            Random rnd = new Random();
            int i;          
            arrDots = new Dot[5];
            for (i=0; i<5; i++){
                arrDots[i] = new Dot();
                arrDots[i].dotX = rnd.nextInt(400);
                arrDots[i].dotY = rnd.nextInt(400);
                arrDots[i].dotPaint = new Paint();
                arrDots[i].dotPaint.setColor(dflColor);
            }
            
            //Собственно обработчик перетаскивания точки
            setOnTouchListener(new OnTouchListener() {
            public boolean onTouch(View v, MotionEvent event) {
                    switch (event.getAction()){
                       case MotionEvent.ACTION_DOWN:
                           float posX = event.getX();
                           float posY = event.getY();     
                              
                           for (int i = 0; i < 5; i++){
                               if (posX > (arrDots[i].dotX - Rad) &&
                                   posX < (arrDots[i].dotX + Rad) &&
                                   posY > (arrDots[i].dotY - Rad) &&
                                   posY < (arrDots[i].dotY + Rad)){
                                   initialX = arrDots[i].dotX;
                                   initialY = arrDots[i].dotY;
                                   offsetX = posX;
                                   offsetY = posY;
                                   arrDots[i].dotPaint.setColor(Color.CYAN);
                                   selDot = i;
                               }
                               else
                                   arrDots[i].dotPaint.setColor(dflColor);
                           }
                       break;
                       case MotionEvent.ACTION_MOVE:
                           if (selDot >= 0){                               
                               arrDots[selDot].dotX = event.getX() + 
                                                      initialX - offsetX;
                               arrDots[selDot].dotY = event.getY() + 
                                                      initialY - offsetY;
                           }
                       break;
                       case MotionEvent.ACTION_UP:
                           for (int i = 0; i < 5; i++)
                               arrDots[i].dotPaint.setColor(dflColor);
                           selDot = -1;
                       break;        
                       case MotionEvent.ACTION_CANCEL:
                       break;
                    }
                    return true;
                }
            });
        }
        
        //Перерисовываем точки на канве
        @Override
        public void onDraw(Canvas canvas){
            for (int i = 0; i < 5; i++)
                canvas.drawCircle(arrDots[i].dotX, arrDots[i].dotY, Rad,
                                  arrDots[i].dotPaint);
            invalidate();
        }
    }
    
    @Override
    protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
           
        myView = new GraphicsView(this);
        myView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
                                                LayoutParams.FILL_PARENT));
        LinearLayout ll = new LinearLayout(this);
        ll.setOrientation(LinearLayout.VERTICAL);
        ll.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
                                            LayoutParams.FILL_PARENT));
        ll.addView(myView);
        setContentView(ll);
    }
}
По всему этому имею несколько вопросов, просьба откликнуться действительно разбирающихся людей ))) Интересует даже не столько пример, сколько общий принцип реализации, т.е. в каком направлении копать.
1. Как вырезать из Bitmap-а кусок произвольной формы и реализовать их склеивание при соприкосновении? Я думаю делать это с помощью класса Path, но в гугле ничего конкретного не нашел, может плохо гуглил.
2. Никогда не работал с OpenGL, может быть с помощью нее можно сделать все проще?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru