A short library for easy to use particles in Pygame.
Project description
ParticlePy
v1.0.2
Examples • Documentation • PyPi
A short library for easy to use particles in Pygame based on DaFluffyPotato's particle system.
Installation
Dependencies
- Sphinx
- sphinx_rtd_theme
- pygame
- setuptools
pip install -r requirements.txt
Versions
Latest
Pip
pip install --upgrade particlepy
or
pip install --upgrade git+https://github.com/grimmigerFuchs/ParticlePy.git
Git
git clone https://github.com/grimmigerFuchs/ParticlePy.git
cd ParticlePy/
python3 setup.py install
Usage
This is a short example of how to use this library. Examples can be found in the examples
folder.
#!/usr/bin/env python3
# example.py
import pygame
import particlepy
import sys
import time
import random
pygame.init()
# pygame config
SIZE = 800, 800
screen = pygame.display.set_mode(SIZE)
pygame.display.set_caption("ParticlePy example program")
pygame.mouse.set_visible(False)
# timing
clock = pygame.time.Clock()
FPS = 60
# delta time
old_time = time.time()
delta_time = 0
# particle system to manage particles
particle_system = particlepy.particle.ParticleSystem()
# main loop
while True:
# quit window
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_ESCAPE:
pygame.quit()
sys.exit()
# delta time
now = time.time()
delta_time = now - old_time
old_time = now
# get mouse position
mouse_pos = pygame.mouse.get_pos()
for _ in range(5):
particle_system.emit(
particlepy.particle.Particle(shape=particlepy.shape.Rect(radius=16, angle=random.randint(0, 360), color=(3, 80, 111), alpha=255),
position=mouse_pos,
velocity=(random.uniform(-150, 150), random.uniform(-150, 150)),
delta_radius=0.2))
# update particle properties
particle_system.update(delta_time=delta_time)
# color manipulation
for particle in particle_system.particles:
particle.shape.color = particlepy.math.fade_color(particle=particle,
color=(83, 150, 181),
progress=particle.inverted_progress)
# render shapes
particle_system.make_shape()
# post shape creation manipulation
for particle in particle_system.particles:
particle.shape.angle += 5
# render particles
particle_system.render(surface=screen)
# update display
pygame.display.update()
screen.fill((13, 17, 23))
clock.tick(FPS)
License
Distributed under the MIT License. See LICENSE
for more
information.
Contact
grimmigerFuchs - grimmigerfuchs@gmail.com
Github Repository: https://github.com/grimmigerFuchs/ParticlePy
PyPi Project: https://pypi.org/project/particlepy/
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
particlepy-1.0.2.tar.gz
(8.3 kB
view hashes)
Built Distribution
Close
Hashes for particlepy-1.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b435ee9d0de962885aa954b2d5be1802ebe86a1038b2968cb4d298abf2c54b80 |
|
MD5 | b9960dc77237754111a52d1ba4b14d14 |
|
BLAKE2b-256 | e906fd44b5bced20ddb2fb77015782075af9885119dc459d1e2898c561508850 |