A cooldown/counter class to wait for stuff in games
Project description
pgcooldown
Cooldown & co...
This module started with just the Cooldown class, which can be used check if a specified time has passed. It is mostly indended to be used to control objects in a game loop, but it is general enough for other purposes as well.
fire_cooldown = Cooldown(1, cold=True)
while True:
if fire_shot and fire_cooldown.cold:
fire_cooldown.reset()
launch_bullet()
...
With the usage of Cooldown on ramp data (e.g. a Lerp between an opaque and a
fully transparent sprite over the time of n seconds), I came up with the
LerpThing. The LerpThing gives you exactly that. A lerp between from
and
to
mapped onto a duration
.
alpha = LerpThing(0, 255, 5)
while True:
...
sprite.set_alpha(alpha())
# or sprite.set_alpha(alpha.v)
if alpha.finished:
sprite.kill()
Finally, the need to use Cooldown for scheduling the creations of game objects, the CronD class was added. It schedules functions to run after a wait period.
Note, that CronD doesn't do any magic background timer stuff, it needs to be updated in the game loop.
crond = CronD()
crond.add(1, create_enemy(screen.center))
crond.add(2, create_enemy(screen.center))
crond.add(3, create_enemy(screen.center))
crond.add(4, create_enemy(screen.center))
while True:
...
crond.update()
Installation
The project home is https://github.com/dickerdackel/pgcooldown
Installing HEAD from github directly
pip install git+https://github.com/dickerdackel/pgcooldown
Getting it from pypi
pip install pgcooldown
Tarball from github
Found at https://github.com/dickerdackel/pgcooldown/releases
Licensing stuff
This lib is under the MIT license.
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
Built Distribution
Hashes for pgcooldown-0.2.7-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca8d9d76406408f82c54628c6f002c95f69df24d55d68f792758882836aca169 |
|
MD5 | 64966f1ad16a40e116fbacc6dff190be |
|
BLAKE2b-256 | 54b9254066100e78dec1acccb7547548f6a7333961946c3c98a30595ec90fad5 |