Dessin au doigts

thunkable dessin

Dans cette page tu trouveras :

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.

2. Renomme le Sprite1 en Detecteur.
Ā 
3. TĆ©lĆ©charge l’image carrĆ© transparent sur ce lien
Ā 
4. Puis remplace l’image du Detecteur_type par un carrĆ© transparent tĆ©lĆ©chargĆ©.

Ɖ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 va rajouter une fonctionnalité cool ! Celle de pouvoir sauvegarder les dessins créés ! Pour cela, on va créer une base de données, une DataSource où les images seront stockées dedans.
    • 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 !

Projet Exemple

Projet Exemple ICI

Retour en haut