عن المشروع

Litecanvas هو محرك HTML5 canvas 2D خفيف الوزن موجّه للألعاب الصغيرة على الويب والنماذج الأولية وجمّ الألعاب والرسوم المتحركة والبرمجة الإبداعية وتعلّم برمجة الألعاب. المشروع مصنّف كإصدار ألفا، لذا قد تحدث تغييرات كاسرة. الخصائص الرئيسية كما وردت في README: - حجم صغير جداً: حوالي 4KB بعد التصغير والضغط. - واجهة برمجية بسيطة: مجموعة صغيرة من الدوال لرسم الأشكال مع دوال مساعدة. - تكامل ZzFX لتشغيل أو إنشاء المؤثرات الصوتية. - قابلية التوسيع عبر إضافات منشورة تحت الكلمة المفتاحية litecanvas. - ملعب ويب لكتابة الألعاب ومشاركتها، ويمكن استخدامه دون اتصال. تشمل خيارات البدء وسوم script مباشرة في HTML من unpkg أو jsDelivr، وقالب ESM لمستخدمي Node/NPM، والملعب في المتصفح. يوفّر المحرك نقطة دخول litecanvas() تقبل إعدادات مثل width وheight وكائن loop يحتوي على دوال init وupdate وdraw. ويُذكر أن update وdraw يعملان 60 مرة في الثانية. تغطي الواجهة البرمجية: - لوحة ألوان افتراضية من أربعة ألوان يُشار إليها بالفهرس، ويمكن تخصيصها عبر pal(). - عرض النصوص باستخدام text()، بما في ذلك النصوص متعددة الأسطر. - رسم الأشكال: rect وrectfill وcirc وcircfill وoval وovalfill. - تعريف sprites من النصوص، حيث تُقابل الأحرف ألوان اللوحة والنقاط شفافة. - إنشاء صور خارج الشاشة عبر paint()، وهي مفيدة كذاكرة تخزين مؤقت للرسم المتكرر، إضافة إلى رسم ملفات PNG/JPG المحمّلة باستخدام image(). - معالجة الإدخال: iskeydown وiskeypressed وlastkey للوحة المفاتيح؛ ودالة tapped للنقرات واللمس؛ والمتغيران MX وMY لموضع الفأرة. - متغيرات عامة W وH وT وPI وTAU لحجم اللوحة والزمن المنقضي وثوابت الزوايا. تسرد ورقة مرجعية على موقع المشروع الواجهة البرمجية كاملة. يتضمن المستودع عروضاً توضيحية مثل كرة مرتدة، وعارض تمرير، وإسقاط ثلاثي الأبعاد، واختبار أداء للرسم، مع المزيد في مجلد samples. ويُنصح باستخدام إضافة محمّل الأصول لتحميل عدة صور أو خطوط أو ملفات صوتية. تغطي تعليمات المساهمة إنشاء نسخة متفرعة واستنساخها، وتثبيت التبعيات باستخدام npm، والتنسيق، وإضافة الاختبارات، وتشغيل مجموعة الاختبارات قبل فتح طلب سحب. يلزم Node.js للتطوير المحلي. ويشير README إلى مصادر إلهام منها floppy وPICO-8 وjs13kGames وraylib وp5.js/Processing وPygame Zero.