इस प्रोजेक्ट के बारे में
Litecanvas एक हल्का HTML5 canvas 2D इंजन है जो छोटे वेब गेम, प्रोटोटाइप, गेम जैम, एनिमेशन, क्रिएटिव कोडिंग और गेम प्रोग्रामिंग सीखने के लिए लक्षित है। परियोजना को alpha के रूप में चिह्नित किया गया है, इसलिए ब्रेकिंग बदलाव हो सकते हैं।
README में वर्णित मुख्य विशेषताएँ:
- अत्यंत छोटा आकार: लगभग 4KB minified और gzipped।
- सरल API: आकृतियाँ बनाने के लिए कुछ फ़ंक्शन और उपयोगिता हेल्पर।
- ध्वनि प्रभाव चलाने या बनाने के लिए ZzFX एकीकरण।
- litecanvas कीवर्ड के अंतर्गत प्रकाशित प्लगइन के माध्यम से विस्तारणीय।
- गेम कोडिंग और साझा करने के लिए एक वेब प्लेग्राउंड, जिसका उपयोग ऑफ़लाइन भी किया जा सकता है।
शुरुआत करने के विकल्पों में unpkg या jsDelivr से सीधे HTML स्क्रिप्ट टैग, Node/NPM उपयोगकर्ताओं के लिए एक ESM टेम्पलेट, और ब्राउज़र प्लेग्राउंड शामिल हैं। इंजन एक litecanvas() एंट्री पॉइंट प्रदान करता है जो width, height और init, update और draw कॉलबैक वाले loop ऑब्जेक्ट जैसी कॉन्फ़िगरेशन स्वीकार करता है। update और draw को प्रति सेकंड 60 बार चलने के रूप में वर्णित किया गया है।
API में शामिल हैं:
- इंडेक्स द्वारा संबोधित एक डिफ़ॉल्ट चार-रंग पैलेट, जिसे pal() के माध्यम से अनुकूलित किया जा सकता है।
- text() के साथ टेक्स्ट रेंडरिंग, जिसमें बहु-पंक्ति स्ट्रिंग्स शामिल हैं।
- आकृति ड्राइंग: rect, rectfill, circ, circfill, oval और ovalfill।
- स्ट्रिंग्स से परिभाषित स्प्राइट, जहाँ वर्ण पैलेट रंगों से मैप होते हैं और डॉट्स पारदर्शी होते हैं।
- paint() के माध्यम से ऑफस्क्रीन इमेज निर्माण, बार-बार ड्राइंग के लिए कैश के रूप में उपयोगी, साथ ही image() के साथ लोड किए गए PNG/JPG फ़ाइलों की ड्राइंग।
- इनपुट हैंडलिंग: कीबोर्ड के लिए iskeydown, iskeypressed और lastkey; क्लिक और टच के लिए tapped कॉलबैक; माउस स्थिति के लिए MX और MY वेरिएबल।
- कैनवास आकार, बीता समय और कोण स्थिरांक के लिए ग्लोबल वेरिएबल W, H, T, PI और TAU।
परियोजना साइट पर एक cheatsheet पूरी API को सूचीबद्ध करती है। रिपॉज़िटरी में बाउंसिंग बॉल, स्क्रॉलर, 3D प्रोजेक्शन और रेंडरिंग बेंचमार्क जैसे नमूना डेमो शामिल हैं, और samples फ़ोल्डर में और भी हैं। कई इमेज, फ़ॉन्ट या ऑडियो फ़ाइलें लोड करने के लिए एक asset loader प्लगइन की सिफारिश की जाती है।
योगदान निर्देशों में फोर्किंग और क्लोनिंग, npm के साथ निर्भरताएँ स्थापित करना, फ़ॉर्मेटिंग, परीक्षण जोड़ना और पुल रिक्वेस्ट खोलने से पहले टेस्ट सूट चलाना शामिल है। स्थानीय विकास के लिए Node.js आवश्यक है। README में floppy, PICO-8, js13kGames, raylib, p5.js/Processing और Pygame Zero सहित प्रेरणाओं का श्रेय दिया गया है।
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.