Manipulation objets graphiques dans les programmes HP-Prime
Posted: 12 Aug 2013, 14:47
La plupart des calculatrices graphiques disposent d'objets graphiques rectangulaires utilisables dans leur langage de programmation interprété officiel.
Most graphic calculators have rectangular graphic items usable on their own interpreted programming language.
Ces objets s'appellent Picture sur les TI-z80. La nouvelle TI-84 Plus C Silver Edition couleur de la rentrée 2013 rajoute même un deuxième type d'objet graphique avec quelques spécificités, le type Background.
Those items are called Picture on TI-z80. The new TI-84 Plus C Silver Edition color calculator for back to school 2013 even adds a second specific graphic item, the Background type.
Ces objets disposent toutefois souvent de nombre de limitations dans les langages de programmation officiels:
- leur nombre est limité
- ils sont bloqués à la taille de l'écran
- ils ne peuvent pas être créés sur la calculatrice et nécessitent un programme assembleur ou bien un logiciel spécifique sur l'ordinateur
- dans le cas où ils peuvent être créés sur la calculatrice, c'est uniquement en stockant l'état courant de l'écran (capture d'écran)
- ils ne peuvent pas être modifiés mais uniquement écrasés par une nouvelle création d'objet
- il n'est pas possible d'afficher une partie de ces objets
- ces objets ne peuvent être affichés qu'en partant du point en haut à gauche de l'écran
However those items often have some limitations with the official programming language:
- their numbers is limited
- they are bound by the screen size
- they can not be created on-calc and thus need an ASM program or a specific software on a computer
- if they can be created on-calc, the only way is to store the content of the screen (screenshot)
- they can not be modified but only overwritten through the creation of a new object
- it is not possible to show a part of those items
- those items can only be displaying by starting at the top left of the screen
Certes, nombre de programmes assembleur permettent de passer outre. Mais ils utilisent souvent à cette fin leur propre format d'objet graphique qui est donc incompatible.
Of course, there are ASM programs going through these limitations. However, they often use for this purpose their own grapahic item format which is thus incompatible.
Le langage de programmation officiel de la HP-Prime lui nous réserve nombre de surprises de ce côté-là, puisqu'il est possible de créer des objets graphiques avec le contenu et la dimension que l'on veut, de les afficher où l'on veut et même de les transformer comme on veut!
The official programming language of the HP-Prime supplies us with a lot of surprises about this, as it is possible to create graphic items with the content and dimensions you want, to display them wherever you want, and even to modify them like you want!
Voici donc en conséquence deux programmes de DJ_O et Gilles59 utilisant le langage officiel pour tester le zoom et le scrolling d'un objet graphique:
Thus here we see two DJ_O and Gilles59's programs using the official programming language to test the scaling and scrolling of a graphic item:
Des performances exceptionnelles pour un langage interprété, qu'il est actuellement impensable d'atteindre sur les autres modèles sans passer au langage assembleur.
It shows exceptional performances for an interpreted language, which are currently impossible to achieve on other calculator models without ASM.
Même si au vu de ces performances on peut émettre quelques doutes quant à la réalisation dans ce langage de jeux rapides redessinant massivement l'écran (jeux d'action avec scrolling par exemple, ou encore jeux 3D FPS), ça n'en reste pas moins honorable.
Even if those performances may not be enough for games which massively redraw the whole screen (for instance, action games with scrolling, or even 3D FPS games), it remains a honorable performance.
Source programmes
Source of the programs
http://www.omnimaga.org/index.php?topic ... #msg303466