Wesir

Ein Pygame-Paket, das ein Skalierungs-Rect-Objekt, ein Viewer-Objekt bereitstellt, und fügt basische 2D-Funktionen für Sprite-Objekte hinzu.
Jetzt downloaden

Wesir Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • GPL
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Chandler Armstrong
  • Website des Verlags:

Wesir Stichworte


Wesir Beschreibung

Ein PyGame-Paket, das eine Skalierung rect-Objekt stellt ein Viewer-Objekt und grundlegende 2D fügt Funktionalität zu Sprite-Objekten. Vizier ist eine PyGame Bibliothek, die Skalierung Rechtecke, ein Viewer-Objekts, und Sprite-Objekte mit einiger hinzugefügt 2d-Paket-Funktionalität meiner Geometrie Bibliothek enthält auch zur Verfügung, die mit einem vector2d Objekt kommt, gedreht Rechteck-Objekt (mit Kollisionserkennung!) Und ein Linienobjekt getestet wurden mit liang-Barsky (nützlich vielfältige Aufgaben) und einfache Linie tracing.Most Sachen Umsetzung Clipping in zumindest kursorisch, aber die komplette Prüfung muss noch getan werden. Dieses Paket ist in der Betaphase und Reifung. Das Skalierungssystem kann insbesondere profitieren von memoizing oder irgendeine Art von caching.A Hauptgrund für die Freigabe dieser ist nur Code da draußen zu bekommen für Dinge zu tun, dass ich dachte, sind grundlegende pygame Sachen, aber dass ich eine succint harte Zeit zu finden war und verwendbarer Code zu tun. Ich hoffe, dass die Bibliothek selbst zu den Menschen nützlich ist, und dass die Schnittstelle ist allgemein genug, dass die Menschen es als is.Vizier der Subklassen pygame.Rect verwenden können, aber zwingt sie alle Parameterwerte durch eine skalare zurückzukehren. Im Wesentlichen bleiben die tatsächlichen Attribute immer unscaled und Skalierung durchgeführt wird erst ein Attribut abgerufen wird. Diese Mittel Skalierung wird immer von einer Vorlage berechnet, während nicht zwei Objekte zu speichern, die (ein Original und eine skalierte) im Speicher. Zusätzlich ist das Objekt profitiert von den Geschwindigkeitsvorteilen Subklassen und direkt pygame.Rect Methoden verwendet (die in C implementiert sind). Zukünftige Erweiterungen können memoizing zu erhöhen Geschwindigkeit der Skalierung calcs.Vizier den Viewers ist ein komplettes Oberfläche Betrachtungssystem hinzuzufügen. Es unterhält eine Sichtoberfläche und eine Gruppe von Sprites. Es verarbeitet eingehende Ereignisse, scrollt die Ansicht rect, und skaliert die Sprites und Oberfläche. Es sorgt dafür, alles zusammen skaliert. Zukünftige Erweiterung fügt memoizing so dass Skalierungsoperationen durchgeführt werden erst Maßstab geändert hat (derzeit jede Schleife getan, glaube ich. Ein großer Abfall unter Berücksichtigung der Punkt der es auf diese Weise zu tun, sowohl Hintergrund und Sprites skaliert, so ist, dass Objekte nicht werden müssen, ständig für das System zu arbeiten skaliert). Auch ist ein Problem, das Zoomen auf die obere linke Ecke des Betrachters done relativ ist, muß ich die Positionierung so eine Art Korrektur hinzuzufügen, dass es seine zoomt um center.Vizier der Sprites sind ein grundlegendes 2d Sprite-Objekt. Es fügt Subpixel-Tracking, eine Update-Methode, die eine Geschwindigkeit und ein Ziel nimmt und Verwendungen atan2 eine neue Position jede Schleife und ein basisches Blockierungskollisionsverfahren zu berechnen, die auf der Achse geringster Überlappung kollidierte Sprites entfernt. Anforderungen: · Python · Pygame. Was ist neu in dieser Version: · Memoization und Borg / Singleton Bildnachführung gibt es schon eine enorme Verstärkung sowohl Code Einfachheit und Effizienz in das Sprite-Objekt verschmolzen. Weniger Funktionsaufrufe, weniger Klassen, weniger Subklassifizieren, mehr Nutzung von Einbauten. Jeder gewinnt! · Aus dem obigen Grund wird pygame.sprite.Group nicht mehr subclassed. Die Sprite-Klasse hat jetzt zwei Shared-Zustand Wörterbücher: image_cache und scale_cache. Das Sprite-Objekt verweist einfach diese für seine ursprünglichen und skalierte Bilder. Wie der Name schon sagt, ist die scale_cache eine Zuordnung zwischen skalaren und Bild. Es ist tatsächlich zwei Ebenen tief: scale_cache = skalierte Bild · Das Sprite-Objekt hat einen Schlüssel zu seinem Bild in der image_cache und einfach ruft es von dort seine skalierten Bild von scale_cache zu bekommen. Alles ist gehasht und zwischengespeichert und extrem schnelle! · Jede Schleife der Sprite zusetzen, der das richtige Bild aus dem scale_cache in seinem Bildattribut aufweist. das ist alles dazu. jetzt Einbauten brauchen nicht subclassed und Verhaltensweisen außer Kraft gesetzt, und keine andere komplexe Magie werden. nur schlicht und einfach. · Ein Fehler in Sprite-Bewegung wurde zerquetscht. Manchmal bewegt das Sprite zu viel in jeder Runde der Lage sein, ihr Ziel zu erreichen. Dies wird festgelegt durch eine Schleife der Bewegungsbetrag auf das erforderliche Minimum Kürzen und den Rest Speichern, wann immer es kann mehr bewegen, als es muss. · Ein Fehler in der Viewer-Skalierung wurde gequetscht. Ich wandelte ursprünglich den Betrachter von einem Original rect um. Jetzt wende ich nur Transformationen direkt an die Rect (Anpassen der aktuellen Skalierung an: (Skalierung) Viele Überprüfung und Beseitigung einiger Fehler, die ansonsten ärgerlich waren, sonst zu beheben (hauptsächlich derjenige, in dem die ursprüngliche Rect die Grenzen der Oberfläche nicht erreicht hat, aber die Rede auf der skalierten Oberfläche hat, dies würde Probleme beim Scrollen erstellen und Skalierung).


Wesir Zugehörige Software