Keep your place in this quest

Log in or sign up for free to subscribe, follow lesson progress, and access more learning content.

Référence API

Référence API complète

Également disponible sous forme abrégée dans l'Éditeur lui-même : image.png

Constructeurs d'Actifs

Les constructeurs créent les principaux types d'actifs utilisés par l'éditeur. Lorsque vous en assignez un à une variable, l'éditeur le reconnaît et vous permet d'ouvrir l'éditeur d'actif correspondant avec Ctrl+Click.

Fonction Description
Sprite(width, height) Crée un actif sprite avec les dimensions spécifiées
Scene() ou Scene(name) Crée un actif scène
Audio() Crée un actif audio de type tracker minuscule
Object() ou Object(name) Crée un objet de jeu

Méthodes de Liste

Créez des listes avec [] ou [value1, value2, ...]. Lisez et écrivez des entrées avec list[index], et itérez avec for (var i = 0; i < list.length(); i = i + 1).

Fonction Description
list.add(value) Ajoute une valeur à la fin de la liste
list.length() Renvoie le nombre d'éléments dans la liste
list.remove(index) Supprime l'élément à l'index donné
list.clear() Supprime tous les éléments de la liste

Opérateurs

Les opérateurs sont de petits symboles qui effectuent des calculs courants. L'opérateur modulo est particulièrement utile pour envelopper des temporisateurs, des index, des étapes d'animation ou des motifs répétitifs.

Opérateur Description
% Modulo. Renvoie le reste après division

Propriétés d'Objet

Les objets sont les éléments que votre script déplace et modifie généralement pendant le jeu. Ces fonctions lisent ou mettent à jour la position, le sprite, le comportement de collision, la couche et la teinte visuelle d'un objet.

Fonction Description
getX(obj) Renvoie la position X de l'objet
setX(obj, x) Définit la position X de l'objet
getY(obj) Renvoie la position Y de l'objet
setY(obj, y) Définit la position Y de l'objet
getVelocityX(obj) Renvoie la vitesse X de l'objet
setVelocityX(obj, vx) Définit la vitesse X de l'objet
getVelocityY(obj) Renvoie la vitesse Y de l'objet
setVelocityY(obj, vy) Définit la vitesse Y de l'objet
getName(obj) Renvoie le nom de l'objet
setName(obj, name) Définit le nom de l'objet
getSprite(obj) Renvoie le sprite de l'objet
setSprite(obj, sprite) Assigne un sprite à l'objet (réinitialise l'animation au cadre 0)
getLayer(obj) Renvoie la couche de dessin de l'objet
setLayer(obj, layer) Définit la couche de dessin de l'objet (plus élevé = dessiné plus tard)
getTint(obj) Renvoie la teinte sous forme de liste [r, g, b, a]
setTint(obj, r, g, b, a) Définit la teinte de couleur de l'objet (0-255 chacun)
getCollisionType(obj) Renvoie le numéro de type de collision
setCollisionType(obj, type) Définit le type de collision

Fonctions Sprite

Les fonctions sprite permettent au code d'inspecter ou de modifier les données de pixels du sprite et la vitesse d'animation. La plupart des jeux dessinent des sprites dans l'éditeur, mais ces fonctions sont utiles pour des effets procéduraux, du débogage ou des modifications simples à l'exécution.

Fonction Description
fillSprite(sprite, r, g, b, a) Remplit tous les pixels de tous les cadres avec une couleur RGBA uniforme (0-255)
getPixel(sprite, frame, x, y) Renvoie [r,g,b,a] du pixel à (x,y) dans le cadre donné, ou null si hors limites
setPixel(sprite, frame, x, y, r, g, b, a) Définit la couleur du pixel à (x,y) dans le cadre donné. Ne fait rien si hors limites
getAnimationFPS(sprite) Renvoie la vitesse d'animation du sprite en images par seconde
setAnimationFPS(sprite, fps) Définit la vitesse d'animation du sprite en images par seconde

Fonctions d'Animation

Les fonctions d'animation travaillent sur des objets qui utilisent des sprites avec plusieurs cadres. Utilisez-les lorsque vous souhaitez que le code inspecte ou force le cadre d'animation actuel.

Fonction Description
getFrame(obj) Renvoie l'index du cadre d'animation actuel de l'objet
setFrame(obj, frameIndex) Définit le cadre d'animation de l'objet (réinitialise le temporisateur)
getFrameCount(obj) Renvoie le nombre de cadres dans le sprite de l'objet

Fonctions de Transformation (Retour/Rotation)

Les fonctions de transformation changent comment le sprite d'un objet est dessiné sans modifier le sprite lui-même. Elles sont bonnes pour réutiliser un sprite dans plusieurs directions.

Fonction Description
getFlipX(obj) Renvoie si l'objet est retourné horizontalement
setFlipX(obj, flip) Définit le retournement horizontal. true = retourné, false = normal
getFlipY(obj) Renvoie si l'objet est retourné verticalement
setFlipY(obj, flip) Définit le retournement vertical. true = retourné, false = normal
getRotation(obj) Renvoie la rotation de 90 degrés de l'objet (0-3)
setRotation(obj, rot) Définit la rotation de 90 degrés : 0=0, 1=90, 2=180, 3=270 degrés dans le sens des aiguilles d'une montre

Remarque : Ces transformations ne sont appliquées qu'au moment du rendu. Elles n'affectent pas les boîtes de collision ou les données de pixels réelles du sprite.

Types de Collision

Les types de collision décident comment un objet participe aux vérifications de collision. Choisissez le type en fonction du rôle de l'objet : les murs sont généralement statiques, les joueurs sont généralement dynamiques, et les objets à ramasser sont souvent des déclencheurs.

Constante Valeur Description
COLLISION_NONE() 0 Pas de détection de collision
COLLISION_STATIC() 1 Collision mais ne bouge pas
COLLISION_DYNAMIC() 2 Collision et est poussé
COLLISION_TRIGGER() 3 Détecte la collision mais ne bloque pas

Fonctions de Scène

Les fonctions de scène contrôlent quelle scène est active, quels objets y sont présents, et les paramètres de scène comme la couleur d'arrière-plan et la gravité. Elles fournissent également des aides à la recherche pour trouver des objets à des positions ou par nom.

Fonction Description
addObject(scene, obj) Ajoute un objet à une scène
removeObject(scene, obj) Supprime un objet d'une scène
setScene(scene) Définit la scène active
getScene() Renvoie la scène active actuelle
resetScene(scene) Réinitialise la scène à son état initial (tel que conçu dans l'éditeur)
setBackgroundColor(scene, r, g, b) Définit la couleur d'arrière-plan de la scène (RGB 0-255)
getBackgroundColor(scene) Renvoie la couleur d'arrière-plan sous forme de liste [r, g, b]
getGravityX(scene) Renvoie la composante X de la gravité de la scène
setGravityX(scene, gx) Définit la composante X de la gravité de la scène
getGravityY(scene) Renvoie la composante Y de la gravité de la scène
setGravityY(scene, gy) Définit la composante Y de la gravité de la scène (positif = bas)
getObjectAt(scene, x, y) Renvoie le premier objet au point (x,y), ou null
getObjectsAt(scene, x, y) Renvoie une liste de tous les objets au point (x,y)
getObjectsInBox(scene, x, y, w, h) Renvoie tous les objets chevauchant la boîte
getObjectByName(scene, name) Trouve un objet par son nom, ou null s'il n'est pas trouvé
getObjectCount(scene) Renvoie le nombre d'objets dans la scène
getAllObjects(scene) Renvoie une liste de tous les objets dans la scène
isObjectInScene(scene, obj) Renvoie vrai si l'objet est dans la scène
getObjectsBySprite(scene, sprite) Renvoie tous les objets utilisant le sprite donné
getObjectsByCollisionType(scene, type) Renvoie tous les objets avec le type de collision donné

Lecture Audio

Les fonctions de lecture audio démarrent et arrêtent les actifs audio depuis le script. playAudio() renvoie un identifiant de gestionnaire afin que vous puissiez arrêter ou vérifier plus tard cette instance de lecture spécifique.

Fonction Description
playAudio(audio) Démarre un actif audio et renvoie un identifiant de gestionnaire de lecture
stopAudio(handle) Arrête un gestionnaire de lecture renvoyé par playAudio()
isAudioPlaying(handle) Renvoie vrai tant que le gestionnaire de lecture est toujours actif

Fonctions d'Écran

Les fonctions d'écran aident lorsque vous avez besoin de connaître la taille de la fenêtre ou de convertir entre les pixels de l'écran et les positions du monde. Cela est utile pour le ciblage de la souris, la détection des clics et l'interface utilisateur consciente de la caméra.

Fonction Description
getScreenWidth() Renvoie la largeur de l'écran/de la fenêtre en pixels
getScreenHeight() Renvoie la hauteur de l'écran/de la fenêtre en pixels
screenToWorld(screenX, screenY) Convertit les coordonnées en pixels de l'écran en coordonnées mondiales. Renvoie [worldX, worldY]
worldToScreen(worldX, worldY) Convertit les coordonnées mondiales en coordonnées en pixels de l'écran. Renvoie [screenX, screenY]

Mode Fenêtre

Contrôlez le mode de fenêtre pour les jeux exportés. Ces fonctions n'ont aucun effet lors de la lecture dans l'éditeur (l'éditeur a plus d'autorité sur l'état de la fenêtre).

Constante Valeur Description
WINDOW_WINDOWED() 0 Mode fenêtré normal
WINDOW_MAXIMIZED() 1 Fenêtre maximisée (par défaut)
WINDOW_FULLSCREEN() 2 Plein écran sans bordure
Fonction Description
getWindowMode() Renvoie la constante du mode de fenêtre actuel
setWindowMode(mode) Définit le mode de fenêtre. Fonctionne uniquement dans les jeux exportés

Exemple :

func start() {
    // Définissez le mode de fenêtre (WINDOW_MAXIMIZED est le défaut pour les jeux exportés)
    setWindowMode(WINDOW_MAXIMIZED())
}

Remarque : Si setWindowMode() n'est jamais appelé dans un jeu exporté, la valeur par défaut est WINDOW_MAXIMIZED.

Fonctions UI

L'interface utilisateur utilise une résolution de l'espace écran virtuel. L'espace UI par défaut est 100 x 100. La taille de la police peut être augmentée pour les widgets de texte suivants avec uiPushFontSize(size) et restaurée avec uiPopFontSize(). Les couleurs de police peuvent être empilées avec uiPushFontColor(r, g, b[, a]), et les remplissages des éléments UI peuvent être empilés avec uiPushElementColor(r, g, b[, a]). Comme le reste de l'interface utilisateur en mode immédiat, ces modifications s'appliquent lors de la construction de l'interface utilisateur du cadre actuel. Si la taille empilée est 0 ou inférieure, le moteur utilise un dimensionnement automatique.

Fonction Description
getUIResolutionX() Renvoie la largeur virtuelle actuelle de l'UI
setUIResolutionX(width) Définit la largeur virtuelle de l'UI utilisée pour les appels suivants de l'UI
getUIResolutionY() Renvoie la hauteur virtuelle actuelle de l'UI
setUIResolutionY(height) Définit la hauteur virtuelle de l'UI utilisée pour les appels suivants de l'UI
uiPushFontSize(size) Pousse une échelle de taille de police pour le texte de l'UI suivant. Les valeurs <= 0 utilisent une taille automatique
uiPopFontSize() Récupère la dernière redéfinition de taille de police de l'UI
uiPushFontColor(r, g, b) ou uiPushFontColor(r, g, b, a) Pousse une redéfinition de couleur de police pour le texte de l'UI suivant
uiPopFontColor() Récupère la dernière redéfinition de couleur de police de l'UI
uiPushElementColor(r, g, b) ou uiPushElementColor(r, g, b, a) Pousse une redéfinition de couleur de remplissage pour les boîtes, les boutons, les bascules, les curseurs et les boutons d'image
uiPopElementColor() Récupère la dernière redéfinition de couleur d'élément de l'UI
uiLabel(text, x, y) Dessine du texte en espace d'écran aux coordonnées virtuelles de l'UI
uiBox(x, y, w, h) Dessine une boîte de panneau simple
uiButton(text, x, y, w, h) Dessine un bouton et renvoie l'un des états constants UI_*()
uiToggle(text, value, x, y, w, h) Dessine une bascule et renvoie la valeur booléenne mise à jour
uiSlider(text, value, min, max, x, y, w, h) Dessine un curseur et renvoie la valeur numérique mise à jour
uiSprite(sprite, x, y) Dessine un sprite dans l'espace de l'UI en utilisant la taille naturelle du sprite en unités d'UI
uiSprite(sprite, x, y, w, h) Dessine un sprite dans l'espace de l'UI avec une taille explicite
uiImageButton(sprite, x, y, w, h) Dessine un bouton sprite et renvoie l'un des états constants UI_*()

Constantes d'état UI

Les fonctions UI renvoient des constantes d'état pour que votre script puisse savoir si un widget est inactif, survolé, maintenu ou cliqué. En général, UI_CLICKED() est la valeur que vous vérifiez pour les actions de bouton.

Constante Valeur Description
UI_IDLE() 0 Le widget n'est ni survolé ni pressé
UI_HOVERED() 1 La souris est sur le widget
UI_HELD() 2 Le bouton de la souris est enfoncé sur le widget
UI_CLICKED() 3 Le widget a été cliqué dans ce cadre

Fonctions de caméra

La position de la caméra représente le centre de la vue. Le zoom maintient une vue du monde vertical cohérente indépendamment de la taille de l'écran.

Fonction Description
getCameraX(scene) Renvoie la position X de la caméra (centre de la vue)
setCameraX(scene, x) Définit la position X de la caméra
getCameraY(scene) Renvoie la position Y de la caméra (centre de la vue)
setCameraY(scene, y) Définit la position Y de la caméra
getCameraZoom(scene) Renvoie le niveau de zoom de la caméra
setCameraZoom(scene, zoom) Définit le zoom de la caméra. Un zoom de 1.0 montre 720 unités du monde verticalement, 3.0 montre 240 unités.

Comportement du zoom: Le zoom maintient une vue du monde vertical cohérente indépendamment de la taille de la fenêtre ou du rapport d'aspect. Les écrans plus larges montrent plus horizontalement mais la même quantité verticalement.

Fonctions d'entrée

Les fonctions d'entrée permettent au jeu de réagir à l'état du clavier et de la souris. Utilisez Pressed pour des actions en une seule image, Held pour un mouvement continu, et Released pour des actions qui se produisent lorsqu'un bouton est relâché.

Fonction Description
isKeyPressed(key) Vrai uniquement pendant le cadre où la touche a été pressée
isKeyHeld(key) Vrai tant que la touche est maintenue enfoncée
isKeyReleased(key) Vrai uniquement pendant le cadre où la touche a été relâchée
getMouseX() Renvoie la position X de la souris en coordonnées d'écran
getMouseY() Renvoie la position Y de la souris en coordonnées d'écran
getMouseDeltaX() Renvoie le mouvement de la souris en X ce cadre
getMouseDeltaY() Renvoie le mouvement de la souris en Y ce cadre
isMouseButtonPressed(button) Vrai uniquement pendant le cadre où le bouton de la souris a été pressé
isMouseButtonHeld(button) Vrai tant que le bouton de la souris est maintenu enfoncé
isMouseButtonReleased(button) Vrai uniquement pendant le cadre où le bouton de la souris a été relâché
getFPS() Renvoie le nombre de frames par seconde actuel

Constantes de bouton de souris

Les constantes de bouton de souris sont passées dans les fonctions d'entrée de la souris. Elles rendent le code plus facile à lire que des nombres bruts.

Constante Description
MOUSE_LEFT() Bouton gauche de la souris
MOUSE_RIGHT() Bouton droit de la souris
MOUSE_MIDDLE() Bouton central de la souris

Constantes de touche

Les constantes de touche sont passées dans les fonctions d'entrée du clavier. Le moteur expose des lettres, des chiffres, des touches de fonction, des flèches et un petit ensemble de touches spéciales courantes.

Lettres: KEY_A() à KEY_Z()

Chiffres: KEY_0() à KEY_9()

Touches de fonction: KEY_F1() à KEY_F12()

Touches spéciales: | Constante | Touche | |----------|-----| | KEY_SPACE() | Barre d'espace | | KEY_ENTER() | Entrée/Retour | | KEY_ESCAPE() | Échapper | | KEY_TAB() | Tabuler | | KEY_BACKSPACE() | Retour arrière | | KEY_DELETE() | Supprimer | | KEY_SHIFT() | Maj | | KEY_CTRL() | Contrôle | | KEY_ALT() | Alt | | KEY_LEFT() | Flèche gauche | | KEY_RIGHT() | Flèche droite | | KEY_UP() | Flèche haut | | KEY_DOWN() | Flèche bas | | KEY_HOME() | Accueil | | KEY_END() | Fin |

Fonctions mathématiques

Les aides mathématiques couvrent les calculs courants utilisés dans le mouvement, l'animation, le hasard et les limites de valeur. Elles maintiennent les scripts plus courts et plus faciles à lire.

Fonction Description
abs(n) Valeur absolue
min(a, b) Renvoie le plus petit des deux nombres
max(a, b) Renvoie le plus grand des deux nombres
clamp(value, min, max) Limite une valeur entre min et max
lerp(a, b, t) Interpole linéairement de a à b en utilisant t
floor(n) Arrondit vers le bas au nombre entier le plus proche
ceil(n) Arrondit vers le haut au nombre entier le plus proche
round(n) Arrondit au nombre entier le plus proche
sign(n) Renvoie -1, 0 ou 1 en fonction du signe de l'entrée
sqrt(n) Racine carrée
pow(base, exponent) Éléve une base à une puissance
sin(radians) Sinus d'un angle en radians
cos(radians) Cosinus d'un angle en radians
tan(radians) Tangente d'un angle en radians
random() Renvoie un flottant aléatoire entre 0.0 et 1.0
randomRange(min, max) Renvoie un flottant aléatoire entre min et max
randomInt(min, max) Renvoie un entier aléatoire entre min et max (inclusif)
PI() Renvoie pi (3.14159...)
TAU() Renvoie tau (2 * pi = 6.28318...)
TWOPI() Renvoie 2 * pi (identique à TAU)
E() Renvoie le nombre d'Euler e (2.71828...)
deg2rad(degrees) Convertit des degrés en radians
rad2deg(radians) Convertit des radians en degrés

Fonctions utilitaires

Les fonctions utilitaires sont des aides générales qui ne relèvent pas d'un type d'actif spécifique. print() est particulièrement utile pendant l'apprentissage car il montre ce que votre script fait.

Fonction Description
print(value) Imprime dans la sortie de débogage (affichée dans le jeu)
quitGame() Quitte le jeu. Dans l'éditeur, arrête le mode de jeu. Dans les jeux exportés, ferme l'application

Fonctions de chaîne

Les fonctions de chaîne fonctionnent avec des valeurs textuelles. Pour l'instant, cette section est intentionnellement petite.

Fonction Description
strlen(string) Renvoie la longueur d'une chaîne (nombre de caractères)

Fonctions de stockage

Enregistrez et chargez les données du jeu dans des fichiers. Prend en charge les nombres, les chaînes, les booléens et les listes (y compris les listes imbriquées). Ne prend PAS en charge les valeurs Sprite, Scene, Object ou Audio.

Fonction Description
save(path, data) Enregistre les données dans un fichier au format binaire. Renvoie true en cas de succès
save(path, data, format) Enregistre les données avec le format spécifié : "binaire" ou "texte"
save(path, data, format, key) Enregistre les données avec chiffrement en utilisant la clé de chaîne fournie
load(path) Charge des données à partir d'un fichier. Renvoie les données ou null en cas d'échec
load(path, key) Charge des données chiffrées en utilisant la clé de chaîne fournie
fileExists(path) Renvoie true si le fichier existe au chemin donné
deleteFile(path) Supprime le fichier au chemin donné. Renvoie true en cas de succès
getAppDataPath() Renvoie le chemin du dossier AppData/Tiniest2D (crée si nécessaire)
getDocumentsPath() Renvoie le chemin du dossier Documents de l'utilisateur
getGamePath() Renvoie le répertoire où se trouve l'exécutable du jeu

Exemple : Enregistrement et chargement de la progression du joueur

// Enregistrer les données du joueur
var playerData = [100, "Player1", true, [1, 2, 3]]
var savePath = getAppDataPath() + "/MyGame/save.dat"
if (save(savePath, playerData)) {
    print("Jeu enregistré !")
}

// Charger les données du joueur
if (fileExists(savePath)) {
    var loaded = load(savePath)
    if (loaded != null) {
        var health = loaded[0]
        var name = loaded[1]
        var hasKey = loaded[2]
        var inventory = loaded[3]
    }
}

// Enregistrement chiffré (pour cacher les données d'une inspection occasionnelle)
var secretData = ["secret", 12345]
save(getAppDataPath() + "/MyGame/config.dat", secretData, "binaire", "maCleSecrete")
var decrypted = load(getAppDataPath() + "/MyGame/config.dat", "maCleSecrete")

// Format texte (lisible par l'homme, utile pour le débogage)
save(getAppDataPath() + "/MyGame/debug.txt", playerData, "texte")

Remarques :

  • Le format binaire (par défaut) est compact et plus rapide
  • Le format texte est lisible par l'homme, utile pour le débogage
  • Une mauvaise clé de chiffrement renvoie null (les données seront inutilisables)
  • Les répertoires sont créés automatiquement lors de l'enregistrement