Skip to main content

SkelForm runtime for Pygame. Uses the generic runtime

Project description

Library for running SkelForm animations in Pygame.

import skelform_pygame as skf_pg

Basic Setup

  • skf_pg.load() - loads .skf file and returns armature & textures, to be used later
  • skf_pg.animate() - transforms the armature's bones based on the animation(s)
  • skf_pg.construct() - provides the bones from this armature that are ready for use
  • skf_pg.draw() - draws the bones on-screen, with the provided style(s)

1. Load:

(armature, textures) = skf_pg.load("skellina.skf")

This should only be called once (eg; before main game loop), and armature and textures should be kept for later use.

2. Animate:

# use `skf_pg.time_frame()` to get the animation frame based on time (1000 = 1 second)
time = 2000
frame = skf_pg.time_frame(time, armature.animations[0], False, True)

print(frame) # will be at the 2 second mark of the animation

armature.bones = skf_pg.animate(armature, [armature.animations[0]], [0], [0])

Note: not needed if armature is statilc

3. Construct:

center = pygame.Vector2(screen.get_width()/2, screen.get_height()/2)

final_bones = skf_pg.construct(
    armature,
    screen,
    skf_pg.AnimOptions(
      pos=center
    )
)

Modifications to the armature (eg; aiming at cursor) may be done before or after construction.

4. Draw:

skf_pg.draw(final_bones, armature.styles, textures, screen)

Limitations

  • Mesh deformation not supported

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

skelform_pygame-0.2.3.tar.gz (14.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

skelform_pygame-0.2.3-py3-none-any.whl (3.5 kB view details)

Uploaded Python 3

File details

Details for the file skelform_pygame-0.2.3.tar.gz.

File metadata

  • Download URL: skelform_pygame-0.2.3.tar.gz
  • Upload date:
  • Size: 14.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for skelform_pygame-0.2.3.tar.gz
Algorithm Hash digest
SHA256 bc64cec614f254ac161b4eaee6c19c9cfe19c838142e75aed6fbedb215de57bb
MD5 5786fa49d9e75c03b9f402b0f70a9f8f
BLAKE2b-256 d84d60a5bd50fb55e8d84c3bd00c2fc071aec3024f6fc09ca6a75f2bee923d34

See more details on using hashes here.

File details

Details for the file skelform_pygame-0.2.3-py3-none-any.whl.

File metadata

File hashes

Hashes for skelform_pygame-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f28c2f48d00943e256043edbc61a5b4fe2c72d7a223aa85b599582f8b644b1e7
MD5 bd844383ee957d19072fa368e4209860
BLAKE2b-256 64c91b27f0bfb921be64abe4028501320857bcd9e86faf642927a0f278b57ef9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page