Oxoscript se transforme en NanoPy - plus d'infos

Classes

vector

Cette classe représente un vecteur cartésien à deux dimensions avec les variables objet x et y (floats).

Les fonctions suivantes sont implémentées:

normalize()
add(v:vector)
sub(v:vector)
addScalar(s:float)
subScalar(s:float)
mulScalar(s:float)
fromAngle(angle:float)
random()
magnitude()->float
distance(v:vector)->float
angle()->float
dot(v:vector)->float
limitToScreen(offset:float)
limit(xMin:float, xMax:float, yMin:float, yMax:float)
toString()->byte[30]

vector3D

Cette classe représente un vecteur tridimensionnel avec les variables objet x, y, et z (floats).

Les fonctions suivantes sont implémentées:

normalize()
add(v:vector3D)
sub(v:vector3D)
addScalar(s:float)
subScalar(s:float)
mulScalar(s:float)
fromAngle(alpha:float, theta:float)
random()
magnitude()->float
distance(v:vector3D)->float
dot(v:vector3D)->float
cross(v:vector3D)->vector3D
toString()->byte[40]

buttons

La classe Buttons a une variable booléenne pour chaque bouton: up, down, left, right et middle.

Cette classe n’a pas d’autres fonctions et sert uniquement de type de retour pour la fonction “getButtons()”.

Motif:

def onDraw()
    b = getButtons()
    if b.up:
        # ...
    if b.down:
        # ...
    if b.left:
        # ...
    if b.right:
        # ...
    if b.middle:
        # ...

dateTime

La classe dateTime se compose d’une valeur de temps epoch (long) et d’une valeur en millisecondes (int).
De manière analogue aux fonctions de temps, des fonctions d’heure telles que dateTime.getHour() ou dateTime.getMillis() peuvent être appliquées.
Elles sont utilisées par exemple pour l’horodatage lors de l’enregistrement des valeurs des capteurs.

dt:dateTime
dt.setTime(22, 33, 44)
dt.getHour()   # => 22
dt.getMinute() # => 33
dt.getSecond() # => 44

logValue

La classe logValue se compose d’un horodatage (dateTime) et d’une valeur de données de capteur (float).
Elle sert de type de retour à la fonction “logRead()”.

logData(C_TEMP)
lv = logRead(C_TEMP, 0)
lv.timeStamp.getEpoch() # => 1651765847
lv.data # => 23.251343

color

La classe color permet de créer des couleurs en mode RGB et HSV.

c = color()
c.hsv(255,100,100)
c.fill()

fixe la couleur de remplissage à une valeur de couleur HSV.

Les champs sont: - color.r - valeur rouge - color.g - valeur verte - color.b = valeur bleue

Fonctions:

Définit une couleur sur l’espace colorimétrique RGB.

Définit une couleur sur l’espace colorimétrique HSV.

Nouveau à partir de la version 1.6.3:

Avec setInt/getInt, on peut désormais indiquer des couleurs de 16 bits. Il s’agit de la résolution interne de l’écran au format 565 (5 bits pour le rouge, 6 bits pour le vert et 5 bits pour le bleu).

La fonction getHSV() permet d’exporter la couleur actuelle au format HSV. La valeur de retour est un tableau d’octets. La plage de valeurs par valeur est limitée de 0 à 255.