Bonjour
j’ai commencé le dev android et j’ai une question:
Est ce qu’il y a de bon tuto ou de bonne lib pour faire des canvas facilement ?
J’aimerais pouvoir tracer toute sorte de forme simplement comme je l’ai déjà fait en Javascript avec jCanvas qui est vraiment top.
Par exemple j’aimerais réussir tracer ce genre de grille et qu’au clique de chaque case elle change de couleur: http://images.math.cnrs.fr/IMG/jpg/partie-6.jpg
On peut refaire ça simplement en Java ?
Merci

EDIT:

J'ai fait une fonction qui génère un hexagone:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    public Path hexagoneGenerate(int taille, int gauche) {
        Point point1_draw = new Point(gauche + 22 * taille, 0 * taille); // Haut
 
        Point point2_draw = new Point(gauche + 44 * taille, 14 * taille); // haut droit
        Point point3_draw = new Point(gauche + 44 * taille, 39 * taille); // bas droit
 
        Point point4_draw = new Point(gauche + 22 * taille, 53 * taille); // bas
 
        Point point5_draw = new Point(gauche + 0 * taille, 39 * taille); // bas gauche
        Point point6_draw = new Point(gauche + 0 * taille, 14 * taille); // haut gauche
 
        Path path = new Path();
        path.moveTo(point1_draw.x, point1_draw.y);
        path.lineTo(point2_draw.x, point2_draw.y);
        path.lineTo(point3_draw.x, point3_draw.y);
        path.lineTo(point4_draw.x, point4_draw.y);
        path.lineTo(point5_draw.x, point5_draw.y);
        path.lineTo(point6_draw.x, point6_draw.y);
        path.close();
        return path;
    }
EDIT:

Autre problème que je comprends pas, j'ai presque réussi a générer ma grille, mais pas encore a décaler mes cases^^. Ce que je comprends pas c'est surtout pour la couleur, je pensais pour tester pouvoir alterner noir et #D8B784 pourtant j'ai toujours cette seconde couleur. c'est quoi la raison ?
Le code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
        int NombreBloc = 10;
 
        for (int x=0;x<NombreBloc;x++)
        {
            paint.setColor(Color.BLACK);
            Path hexagone = hexagoneGenerate(2, x*(90), 0);
            canvas.drawPath(hexagone, paint);
 
            for (int y=0;y<NombreBloc;y++)
            {
                int calc = x*(90+45);
                paint.setColor(Color.parseColor("#D8B784"));
                Path hexagone2 = hexagoneGenerate(2, x*(90), y*(90));
                canvas.drawPath(hexagone2, paint);
            }
        }