Principe du Projet
Dans ce projet, tu vas utiliser une toile numĆ©rique, appelĆ©e Canvas, pour dessiner et crĆ©er des interactions tactiles.Ā C’est un projet crĆ©atif où tu pourras dessiner, stocker tes Åuvres et les voir en grand format.
Tu auras 3 pages :
- La premiĆØre page te permettra de dessiner ce que tu veux.
- La deuxième page sera une galerie où tu pourras voir tous tes dessins.
- La troisiĆØme page te montrera chaque dessin en grand pour mieux les admirer.
La premiĆØre page : Configurer le Canvas
Tu vas maintenant crƩer une nouvelle application.
PremiĆØre Ć©tape : Sur la page principale de ton appli, ajoute un Canvas. Le Canvas, cāest comme une grande feuille blanche où tu pourras dessiner avec tes doigts.
Ćtire ton CanvasĀ : Fais en sorte quāil prenne bien toute la place en haut de la page, mais laisse un peu dāespace en bas pour les boutons et les rĆ©glages du crayon. Le Canvas doit couvrir environ les 2/3 de lāĆ©cran en haut.
1. Renomme le Sprite_Type1 en Detecteur_type.
Ćtire ce carrĆ© pour quāil recouvre complĆØtement le Canvas.
Clique sur ton Detecteur_type, puis dans les paramĆØtres, active toutes les options en cliquant dessus pour les faire passer en bleu.
VƩrifie bien que toutes les fonctionnalitƩs (tracƩ, dƩtection tactile, etc.) sont activƩes.
Base du code de l’application
Coder le Canvas
Voici le code pour tracer un trait tant qu’on touche l’Ć©cran et qu’il suit le doigt, Ć savoir le curseur de la souris. Pour le programmer on va aller dans les BLOCKS
- Les blocs rouges se trouvent dans les bloc Ā« Variable Ā» dans Core.
- Les blocs vert foncés (comme true/ false) se trouvent dans les bloc « Logic » dans Core.
- Le bloc oranges dans les Ā« Event Ā» dans Canvas OU Ā« Control Ā» dans Core.
- Et les values Vert foncĆ©es (set Stage1 …) se trouvent dans les blocs Ā« Stage Ā» dans Canvas.
Attention Ć bien utiliser les bons blocs :
« is ClickedĀ Ā» (lorsqu’on touche l’Ć©cran)
« is Dropped » (quand on arrête de dessiner)
et « LoadsĀ Ā» (quand la page s’ouvre).
La sauvegarde des images
- On commence par créer un nouveau tableau dans DataSource (icone Data à gauche) :
- On va ensuite cliquer sur le + afin de créer une nouvelle base de données.
Donnez un nom Ć votre table, par exemple « ImagesĀ Ā».Ā
Vous pouvez supprimer la 2e colonne, et renseigner des propositions d’actions dans la 1er colonne.
Maintenant que notre base de données est prête pour stocker les images, on va créer un bouton.
Ajoute donc un bouton sous le carrƩ transparent pour cette action.
Ce bouton va permettre de faire une capture d’Ć©cran et d’envoyer l’image directement dans la base de donnĆ©es.Ā
Le code du bouton est simple : lorsque le bouton est cliquĆ©, on prend un screenshot du canvas et on lāenregistre dans la base de donnĆ©es crƩƩe plus tĆ“t.
- Le bloc orange dans les Ā« Button1 Ā» dans UI components (tout en haut).
- Les blocs violet foncĆ©s (create row in…) se trouvent dans les bloc Ā« Data Sources Ā» dans App Features (en bas).
- Les blocs violet plus clair (image of Canvas1) se trouvent dans les bloc Ā« Looks Ā» dans Canvas.
- Et les values Vert foncĆ©es (set Stage1 …) se trouvent dans les blocs Ā« Stage Ā» dans Canvas.*
La deuxiĆØme page : Une Galerie
CrĆ©ez une nouvelle page dans Thunkable et ajoutez un Ć©lĆ©ment « Data Viewer GridĀ Ā».Ā (Grid cāest plus joli mais les autresĀ Data ViewerĀ marchent aussi)
On indique au composant quelle Database il doit utiliser pour afficher ses donnĆ©es.Ā
Puis on va rajouter un bouton de retour sur la page 1.
On rajoute Ć©galement une TroisiĆØme page.Ā
AprĆØs avoir crĆ©er cette troisiĆØme page, voici le code, toujours sur la page deuxiĆØme page qui permet d’afficher en grand une miniature.Ā
Le premier code du bouton est simple, puisqu’il s’agit d’une simple navigation juste un bouton pour revenir sur lāĆ©cran de dessin.
Le code suivant permet de voir lāimage de la gallĆ©rie en plus grand sur la page 3.
Ā
- Le bloc rouge dans les Ā« Variables Ā» dans Core.
- Le bloc orange (When Button2) se trouvent dans les bloc Ā« Button2Ā Ā» dans UI compornents (en haut).
- Le bloc orange (When Data_Viewer_Grid…) se trouvent dans les bloc Ā« Data_Viewer_GridĀ Ā» dans UI compornents (en haut).
- Les blocs violet foncés (image of Canvas1) se trouvent dans les bloc « Looks » dans Core.
- Et les values Vert foncĆ©es (set Stage1 …) se trouvent dans les blocs Ā« Stage Ā» dans Canvas.*
La troisième page : Afficher/Supprimer des données
On va crĆ©er la troisiĆØme page qui va servir de page d’affichage des images en grand !
Sur cette page on a un composant Image, pour lāaffichage, un bouton pour effacer et un bouton retour Ć la page 2 au minimum.
On va crĆ©er le code du bouton retour pour revenir Ć la page 2.Ā
Puis on va crĆ©er le code pour afficher l’image de la base de donnĆ©e selectionnĆ©.
Et enfin le code du bouton effacer pour supprimer l’image de la base de donnĆ©e.Ā
- Le bloc orange dans les « Sceen3 Opens » dans « Sceen3 » UI components (tout en haut).
- Les blocs vert foncĆ©s (image1 …) se trouvent dans les bloc Ā« Images Ā» dansĀ UI components (tout en haut)
- Les blocs violet foncĆ©s (get value…) se trouvent dans les bloc Ā« Data Sources Ā» dans App Features (en bas).
- Le bloc rouge dans les Ā« Variables Ā» dans Core.
Changer la couleurĀ etĀ la tailleĀ du pinceauĀ
De retour sur la page 1 !Ā
Pour choisir la taille ou la couleur du pinceau sur le Canvas le plus simple est dāutiliser des Sliders (3 pour la couleur) Et un Text Input, pour la taille.
Pensez à bien faire renommer les Slider! Sinon le code sera compliqué!
- HUE
- SATURATION ou INTENSITEE
- LUMINOSITEE
Et attention à bien mettre « 100 » pour la valeur maximum de Saturation et Luminosité, ainsi que « 360 » en valeur max de Hue, sinon ils ne marcheront pas non plus !
Le code est rĆ©pĆ©titif, puisquāil est le mĆŖme pour tous les sliders: Si le slider bouge, ajuster la couleur.
Si le numƩro dans le text input change: changer la taille du pinceau.
- Les blocs vert foncés se trouvent dans les bloc « Stage » du Canvas.
- Le bloc gris dans les « Color » dans les blocs Core.
- Et les values (vert clair) sont trouvable dans les blocs de chaque slider, ou du text input.
Et voilĆ n’hesites pas Ć personnalisiĆ© ton projet !
