Visir

Un paquete PYGAME que proporciona un objeto Rect Scaling Rect, un objeto Viewer y agrega la funcionalidad básica 2D a los objetos SPRITE.
Descargar ahora

Visir Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • GPL
  • Precio:
  • FREE
  • Nombre del editor:
  • Chandler Armstrong
  • Sitio web del editor:

Visir Etiquetas


Visir Descripción

Un paquete PYGAME que proporciona un objeto Scaling Rect, un objeto de visor y agrega una funcionalidad básica 2D a los objetos SPRITE. VIZIER es una biblioteca de Pygame que proporciona rectángulos de escala, un objeto de visor y objetos SPRITE con algunas funcionalidades 2D agregadas. El paquete también incluye mi biblioteca de geometría que viene con un objeto vectorial2D, objeto de rectángulo giratorio (¡con detección de colisiones!), Y un Objeto de línea Implementación de recorte utilizando Liang-Barsky (tareas variadas útiles) y trazado de línea simple. La mayoría de las cosas se ha probado de al menos una manera cursiva, pero aún se debe realizar pruebas completas. Este paquete está en beta y maduración. El sistema de escala en particular puede beneficiarse de la memorización o algún tipo de caché. Una razón principal de la liberación de esto es solo para obtener un código para hacer cosas que pensé que son cosas básicas de Pygame, pero que tuve dificultades para encontrar suciedad y Código utilizable para hacer. Espero que la biblioteca en sí sea útil para las personas, y que la interfaz sea lo suficientemente general como para que las personas puedan usarla, ya que las subclases Pygame.Rect, pero lo obliga a devolver todos los valores de los parámetros a través de un escalar. Esencialmente, los atributos reales siempre permanecen sin calos, y la escala no se realiza hasta que se recupera un atributo. Esto significa que la escala siempre se calcula a partir de un original, al tiempo que no tiene que almacenar dos objetos (un original y un escalado) en la memoria. Además, el objeto se beneficia de la subclasificación de las ventajas de velocidad y la utilización directa de los métodos de Pygame.RECT ​​(que se implementan en C). Las expansiones futuras pueden agregar memorización para aumentar la velocidad de escala de calculos. El visor de VIZIER es un sistema completo de visualización de superficie. Mantiene una superficie de vista y un grupo de sprites. Maneja los eventos entrantes, desplaza a la vista Rect, y escala los sprites y la superficie. Asegura que todo se escale entre sí. La expansión futura agregará la memorización para que las operaciones de escala no se realicen hasta que la escala haya cambiado (actualmente se realiza cada bucle, creo. Un gran desperdicio que tenga en cuenta el punto de hacerlo de esta manera, escalar ambos antecedentes y sprites, es para que los objetos no lo hacen. debe ser escalado constantemente para que el sistema funcione). Además, un problema es que el zoom se realiza con respecto a la esquina Topleft del espectador, necesito agregar algún tipo de corrección al posicionamiento para que se amplíe alrededor de su centro. Los sprites del anclizador son un objeto Sprite 2D básico. Agrega un seguimiento de subpíxeles, un método de actualización que toma una velocidad y un destino y usa Atan2 para calcular una nueva posición en cada bucle y un método de bloqueo de colisión básico que elimina los sprites colisionados en el eje de menos superposición. Requisitos: · Python · Pygame ¿Qué hay de nuevo en este lanzamiento: · La memoización y el seguimiento de la imagen de Borg / Singleton se han fusionado en el objeto Sprite para obtener una ganancia tremenda tanto en la simplicidad del código como en la eficiencia del algoritmo. Menos llamadas de función, menos clases, menos subclasificación, más uso de incorporados. ¡Todos vienen! · Para la razón anterior, Pygame.sprite.Group ya no está subclasificado. The Sprite Class ahora tiene dos diccionarios de estado compartido: Image_Cache y Scale_cache. El objeto Sprite simplemente hace referencia a estos para sus imágenes originales y escaladas. Como su nombre lo indica, el Escala_cache es un mapeo entre escalar e imagen. En realidad, es dos niveles profundos: Scale_cache = imagen escalada · El objeto Sprite tiene una clave para su imagen en la imagen_cache, y simplemente lo recupera de allí para obtener su imagen escalada de Scale_cache. ¡Todo es hash y en caché y ardiendo rápido! · Cada bucle El sprite garantiza que tenga la imagen adecuada de la escala_cache en su atributo de imagen. Eso es todo al respecto. Ahora, las incorporadas no necesitan ser subclusas y comportamientos sobreridrado, y no hay otra magia compleja. Simplemente sencillo y simple. · Un error en el movimiento Sprite fue aplastado. A veces, el sprite se movió demasiado, cada turno para poder llegar a su destino. Esto se fija al truncar la cantidad de movimiento de un bucle al mínimo necesario y ahorrar el resto siempre que pueda moverse más de lo que necesita. · Un error en el escalado del espectador fue aplastado. Originalmente estaba transformando el espectador Rect de un Rect original. Ahora, solo aplico las transformaciones directamente a la Rect (ajuste para la escala actual: (Escala / (New_Scale - Scale). Esto normalmente introduciría errores en muchas iteraciones, pero en el espectador Rect no importa. Esto no importa un mucha comprobación y eliminó algunos errores que habrían sido molestos para solucionar lo contrario (principalmente, el que el Rect Original no ha alcanzado los límites de la superficie, pero el Rect en la superficie escalada tiene, esto crearía problemas en el desplazamiento y escalada).


Visir Software relacionado