À propos du projet
Litecanvas est un moteur HTML5 canvas 2D léger destiné aux petits jeux web, prototypes, game jams, animations, creative coding et à l'apprentissage de la programmation de jeux. Le projet est marqué comme alpha, des changements cassants peuvent donc survenir.
Caractéristiques clés décrites dans le README :
- Empreinte minuscule : environ 4 Ko minifié et gzippé.
- API simple : un petit ensemble de fonctions pour dessiner des formes plus des utilitaires d'aide.
- Intégration ZzFX pour jouer ou créer des effets sonores.
- Extensible via des plugins publiés sous le mot-clé litecanvas.
- Un playground web pour coder et partager des jeux, utilisable hors ligne.
Les options de démarrage incluent des balises script HTML directes depuis unpkg ou jsDelivr, un modèle ESM pour les utilisateurs Node/NPM et le playground navigateur. Le moteur expose un point d'entrée litecanvas() qui accepte une configuration telle que width, height et un objet loop avec les callbacks init, update et draw. update et draw sont décrits comme s'exécutant 60 fois par seconde.
L'API couvre :
- Une palette de quatre couleurs par défaut adressée par index, personnalisable via pal().
- Le rendu de texte avec text(), y compris les chaînes multilignes.
- Le dessin de formes : rect, rectfill, circ, circfill, oval et ovalfill.
- Des sprites définis à partir de chaînes, où les caractères correspondent aux couleurs de la palette et les points sont transparents.
- La création d'images hors écran via paint(), utile comme cache pour des dessins répétés, plus le dessin de fichiers PNG/JPG chargés avec image().
- La gestion des entrées : iskeydown, iskeypressed et lastkey pour le clavier ; un callback tapped pour les clics et les touches ; les variables MX et MY pour la position de la souris.
- Les variables globales W, H, T, PI et TAU pour la taille du canvas, le temps écoulé et les constantes d'angle.
Une antisèche sur le site du projet liste l'API complète. Le dépôt inclut des démos d'exemple telles qu'une balle rebondissante, un scroller, une projection 3D et un benchmark de rendu, avec davantage dans le dossier samples. Un plugin de chargement d'assets est recommandé pour charger plusieurs images, polices ou fichiers audio.
Les instructions de contribution couvrent le fork et le clonage, l'installation des dépendances avec npm, le formatage, l'ajout de tests et l'exécution de la suite de tests avant d'ouvrir une pull request. Node.js est requis pour le développement local. Le README crédite des inspirations incluant floppy, PICO-8, js13kGames, raylib, p5.js/Processing et Pygame Zero.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.