पाइग्लैट

From Vigyanwiki

पाइगलेट पायथन प्रोग्रामिंग लैंग्वेज के लिए एक लाइब्रेरी कम्प्यूटिंग होती है, जो गेम और अन्य मल्टीमीडिया अनुप्रयोग की प्रक्रिया सामग्री के निर्माण के लिए ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंगअप्लिकेशन प्रोग्रामिंग इंटरफ़ेस प्रदान करती है। पाइगलेट माइक्रोसॉफ्ट विंडोज, मैकोस और लिनक्स पर चलता है, और यह बीएसडी लाइसेंस के अनुसार जारी किया गया है। पाइगलेट सबसे पहले एलेक्स होल्कनर द्वारा बनाया गया था।

यह विंडो और फुल-स्क्रीन ऑपरेशंस के साथ-साथ मल्टीपल मॉनिटर्स को सपोर्ट करता है। छवियों, वीडियो और ध्वनि फ़ाइलों की एक श्रेणी में कई स्वरूपों में मूल रूप से किया जा सकता है, वैकल्पिक द्वारा प्रदान की जाने वाली अतिरिक्त क्षमताओं के साथ एबिन प्लगइन, जो उपयोग करता है, जो एमपी3, ओजीजी/वोरर्बिस और विंडोज मीडिया ऑडियो और विडियो प्रारूप सहित ऑडियो प्रारूपों का समर्थन प्रदान करने के लिए लिबावपैकेज का उपयोग करता है। जैसे, डिवएक्स, एमपीईजी-2, एच.264, डब्ल्यूएमवी, और एक्सविआईडी.इत्यादि के रूप में होते है

एक अन्य लाइब्रेरी पर पाइगलेट का लाभ यह है कि इसके लिए किसी बाहरी निर्भरता की आवश्यकता नहीं होती है और सीटाइप्स लैंग्वेज लाइब्रेरी एक पायथन C कंपाइलर का उपयोग करता है। यह ओपनजीएल पर बनाता है.

अन्य लाइब्रेरी से तुलना

पीवाईगेम

पीवाईगेमएक अन्य लाइब्रेरी के रूप में होती है, जिसका उपयोग गेम बनाने के लिए किया जाता है और यह इससे कहीं अधिक व्यापक रूप से जाना जाता है पाइगलेट उदाहरण में दिखाई गई विंडो को प्रदर्शित करने में यही लगता है की यह कोड की अधिक पंक्तियाँ का उपयोग करता है और समझने में भी कठिन होता है।

पाइगलेट की तुलना में, पीवाईगेमऑब्जेक्ट ओरिएंटेड नहीं होते है और इनकी कार्यक्षमता कम होती है। उदाहरण के लिए, कोई समृद्ध और फ़ोर्मेटेड टेक्स्ट फास्ट ड्राइंग कमांड नहीं होते है। ग्राफिक्स और छवियों को बार-बार खींचा जाता है और कैश्ड नहीं किया जा सकता है। यह ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग के परफॉर्मेंस फीचर्स में से एक है, जहां पर अधिकांश चरणों को दोहराने की जरूरत नहीं होती है।

import pygame

screen = pygame.display.set_mode((640, 480))

pygame.display.set_caption("Hello world!")

running = True

while running:
    for event in pygame.event.get():
        if event.type in pygame.QUIT:
            running = False

pygame.quit()

सुविधाएँ

मल्टीमीडिया लाइब्रेरी के रूप में, पाइगलेट सम्मलित बैटरी के साथ आता है। ओपनजीएल का उपयोग करने से इसे गति लाभ मिलता है, और यह पूरी तरह से पायथन में भी लिखा गया है, जिसका अर्थ है कि कोई बाहरी निर्भरता स्थापित नहीं की जाती है। एफएफएमपीईजी अधिक ऑडियो प्रारूपों का समर्थन करने के लिए लाइब्रेरी को वैकल्पिक रूप से स्थापित किया जा सकता है।

टेक्स्ट डिस्प्ले फोर्मेटिंग

  • रिच टेक्स्ट फॉर्मेटिंग बोल्ड, इटैलिक, अंडरलाइन, कलर चेंज, बैकग्राउंड कलर, इंडेंट, लिस्ट पाइगलेट.टेक्स्ट.फॉर्मेट इत्यादि के रूप में होता है
  • संपादन योग्य टेक्स्ट का समर्थन करने के लिए अंतर्निहित लेआउट होता है
  • कैरटपाइगलेट.टेक्स्ट.कैरट.कैरट) इत्यादि के रूप में होता है
  • एचटीएमएल समर्थन कैरटपाइगलेट.टेक्स्ट.लेआउट.इंक्रीमेंटल टेक्स्ट लेआउट)इत्यादि के रूप में होता है

छवि और स्प्राइट वर्क

  • फास्ट इमेज प्रोसेसिंग और रेंडरिंग के रूप में उपयोग किया जाता है
  • बिल्ट-इन स्प्राइट्स (पाइगलेट.स्प्राइट्) के रूप में होती है
  • एनिमेटेड छवियां (*.जीआईएफ) के रूप में होती है

ग्राफीक्स

  • ओपनजीएल शेडर्स समर्थित रूप में होती है
  • सरल अंतर्निर्मित आकृतियाँ आयताकार, वृत्त, त्रिकोण (पाइगलेट.शेपस) के रूप में होती है
  • बैच रेंडररिंग (पाइगलेट.ग्राफीक्स .बैच) के रूप में उपयोग किया जाता है
  • 3 डी मॉडल रेंडररिंग के रूप में उपयोग किया जाता है

इवेंट्स और फाइल प्रणाली

  • संसाधन प्रबंधन (पाइगलेट.संसाधन)के रूप में उपयोग किया जाता है
  • प्रसंस्करण घटनाओं और समय के लिए घड़ी (पाइगलेट.क्लॉक.क्लॉक) होती है
  • विंडो इवेंट्स (पाइगलेट .विंडो.विंडो)के रूप में होती है
  • आपके अपने ईवेंट डिस्पैचिंग के लिए इवेंट डिस्पैचर (पाइगलेट.ईवेंट.ईवेंटडिस्पैचर) के रूप में उपयोग किया जाता है
  • संदर्भ मैनेजमेंट के रूप में होती है

ये विशेषताएं कई अन्य मल्टीमीडिया लाइब्रेरीयों की तुलना में पाइगलेट को बहुत तेज बनाती हैं। बैचेड रेंडरिंग एक ही समय में कई वस्तुओं को खींचने की तकनीक होती है। बैच समर्थन करते हैं स्प्राइट्स, इमेज और टेक्स्ट लेआउट का समर्थन करते हैं, जो सभी लेबल और टेक्स्ट के लिए आधार होता है। टेक्स्ट कार्यों को भी कार्यान्वित किया जाता है। बहु-स्तरीय सूचियाँ समर्थितरूप में होती है और एचटीएमएल का उपयोग करके बनाई जाती हैं। प्रदर्शित दस्तावेज़ के विभिन्न भागों में विभिन्न शैलियाँ हो सकती हैं। टेक्स्ट संपादित करने के लिए समर्थन के लिए एक कैरेट अंतर्निहित है। यह UI टेक्स्ट इनपुट कैरेट की कई विशेषताओं से मिलता जुलता है।

बैच स्प्राइट्स, इमेज और टेक्स्ट लेआउट का समर्थन करते हैं, जो सभी लेबल और टेक्स्ट के लिए आधार हैं। पाठ कार्यों को भी कार्यान्वित किया जाता है। बहु-स्तरीय सूचियाँ समर्थित हैं, और एचटीएमएल का उपयोग करके बनाई जा सकती हैं। प्रदर्शित दस्तावेज़ के विभिन्न भागों में विभिन्न शैलियाँ हो सकती हैं। पाठ संपादित करने के लिए समर्थन के लिए एक कैरेट अंतर्निहित रूप में होता है। यह यूआई टेक्स्ट इनपुट कैरेट की कई विशेषताओं से मिलता जुलता है।

उदाहरण

from pyglet.window import Window
from pyglet.app import run

window = Window(caption="Hello world!", width=640, height=480)

run()

इस उदाहरण में, लाइन 1-2 पायगलेट मॉड्यूल के आवश्यक घटकों को आयात करती है। लाइन 4 एक विंडो बनाती है और लाइन 6 अपने इवेंट लूप को चलाने के लिए पाइगलेट को कॉल करता है। वैकल्पिक रूप से एक अद्यतन दर फ़्रेम प्रति सेकंड में दर पैरामीटर में निर्दिष्ट की जा सकती है।

यह भी देखें

बाहरी संबंध