LuaZM

De Casio Universal Wiki
Révision datée du 21 septembre 2014 à 18:35 par Nemhardy (discussion | contributions) (Création de la page LuaZM)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à : navigation, rechercher
LuaZM
Lua.gif
Logo de Lua
LuaZM screenshot.jpeg
Screenshot de LuaZM sur Prizm
AuteurLuiz Henrique de Figueiredo, Roberto Ierusalimschy et Waldemar Celes
développeurKermMartian (né Christopher Michell)
Souvent mis à jourNon
Langage de programmationC, C++
GenreInterpréteur de langage alternatif
Site webTopic du projet


Le Lua est un langage de script libre. Du fait de sa programmation en C ANSI il est portable sur une grande variété de périphériques. LuaZM est le portage réalisé par KermMartian disponible sur les calculatrices fx-CG10 et fx-CG20 (plus généralement appelées Prizm).

L'add-in permettant d'interpréter les fichiers en texte-plein ou compressés (respectivement .lua et .lc) est téléchargeable ici

Librairie Standard, ou basique

La librairie standard du Lua est normalement supportée par l'add-in. Deux fonctions que l'on pourrait considérer comme standard sont ajoutées.

run()

> run()
> run("file.lua")
> run("compressed.lc")

La fonction 'run' permet de lancer un script Lua (compressé ou non). La fonction appelée sans argument ouvrira un explorateur de fichier sur la calculatrice permettant à l'utilisateur de sélectionner le fichier à lancer, sinon le script désigné par l'argument sera exécuté.

A noter qu'il est possible d'appeler un script contenu dans un sous-dossier de la mémoire de stockage, en utilisant l'antislash ('\'). Dans ce cas, il faudra entourer l'argument de doubles crochets ("" et ""), cela afin de ne pas considérer l'antislash comme introducteur d'un caractère d'échappement.

> run("folder\file.lua") Ne fonctionnera pas
> run([[folder\file.lua]]) Fonctionnera

about()

> about()

L'appel de 'about' ouvre une fenêtre de type Pop-up affichant les crédits de ce portage, ainsi que la version utilisée.

ZMG Lib (Ou bibliothèque graphique spécifique aux Prizm)

Toutes les fonctions de la bibliothèque ZMG (qui vient de "priZM Graphics") sont appelées de la même façon :

zmg.function(arguments,...)

zmg.clear()

zmg.clear()

La fonctione 'zmg.clear', qui ne prend pas d'argument, vide la VRAM, ou mémoire vidéo, c'est à dire la zone où sont effectués les différents tracés avant d'être copiés à l'écran.

zmg.copySprite()

zmg.copysprite(x,y,width,height,data)

Cette fonction copie un sprite dans la VRAM, en effaçant tout contenu précédent à l'endroit de la copie. La fonction supporte le clipping (c'est à dire le fait que le sprite soit dessiné dans un espace limité et tronqué en partie si besoin), par défaut les bords de l'écran sont utilisés comme limite, mais si la fonction 'zmg.clipRect()' a été appelée, c'est le rectangle définit qui servira de limite.

La fonction prend 5 arguments en entrée :

- x : (nombre) : coordonnée en x du coin en haut à gauche du sprite
- y : (nombre) : coordonnée en y du coin en haut à gauche du sprite
- width : (nombre) : largeur du sprite en pixels
- height : (nombre) : hauteur du sprite en pixels
- data : (string) : chaîne en hexadécimal où chaque pixel du sprite est codé sur 16bits (en RGB 5-6-5)

zmg.fastCopy()

zmg.fastCopy()

La fonction 'zmg.fastCopy()', qui ne prend pas d'arguments en entrée et ne retourne rien, permet d'afficher le contenu de la VRAM (ou mémoire vidéo) à l'écran.

Page en cours d'écriture; documentation disponible en anglais sur cette page.