Pendules * 2ème partie  
 
  • Je remercie Yves Lamoureux pour m'avoir indiqué la "marche à suivre" pour réaliser ce tutorial sur l'heure
  • pour afficher une heure, on a besoin de l'objet Date & Heure, car c'est le seul objet permettant de la récupérer
    dans une nouvelle application, faire
    Menu / Insérer / Nouvel Objet / Temps / Date et Heure, cliquer sur la scène et choisir Créer un objet Horloge
    pour changer son aspect, cf. le
    tutorial Les Objets , mais l'objectif n'est pas de travailler sur l'objet - il ne sert là que comme extension -, mais de programmer une pendule qui affichera l'heure (celle de l'ordinateur)
  • pour afficher l'heure avec un objet actif "aiguille", c'est simple, il suffit de convertir l'heure en angle et de changer l'angle de l'objet actif
  • le matériel se trouve dans les tutoriaux 16 à télécharger - cf. page des téléchargements
   
  • 1ère pendule :
  • 1 créez un objet actif aiguille_heure avec une seule image pointant vers le haut. - mettre bien le point chaud de l'image en bas au centre 
  • 2 mettez un objet Date & Heure en dehors du terrain
  • 3 dans l'éditeur d'événements, ajouter une condition Toujours et dans cette condition ajouter une action Changer Angle
    récupérer l'heure de l'objet Date Heure, ensuite faire un calcul mathématique pour calculer la valeur de l'angle, à savoir multiplier la valeur de l'objet actif par 360/12 (avec inversion car les angles tournent dans le sens inverse des aiguilles d'une montre)
    dans le tableau, on a donc cette expression
    hours of( "Date Heure" )*-360/12
  • même procédure pour les minutes, mais Fixer l'angle avec cette expression minutes of( "Date Heure" )*-360/60
    pour les secondes,
    seconds of( "Date Heure" )*-360/60
  • 4 demeure un problème, c'est la position de l'aiguille entre 2 heures, que ce soit 8h05 ou 8h55, l'aiguille reste sur le 8, ce qui n'est pas réaliste, aussi, on apporte une correction à l'expression pour l'heure
    il faut ajouter à l'angle principal l'angle entre 2 heures successives (30 degrés) multiplié par le nombre de minutes divisé par soixante
    ce qui donne comme expression générale pour fixer l'angle de l'aiguille des heures :
      (hours of( "Date Heure" )*-360)/12-(minutes of( "Date Heure" )*30)/60
  • pour afficher l'heure et les minutes en chiffres, insérer 2 objets compteur dont on Changera la valeur en récupérant l'heure et les minutes ce qui Fixe sa nouvelle valeur hours of( "Date Heure" )
  • pour le look des compteurs, cf. le tutorial Danypong qui explique comment changer la police
  • ATTENTION, l'objet Date & Heure a une fonction permettant de changer la date et l'heure, cette fonction change l'heure de la machine...