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:
EDIT:
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; }
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); } }
Partager