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.7.0.tar.gz (16.9 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.7.0-py3-none-any.whl (1.2 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: skelform_pygame-0.7.0.tar.gz
  • Upload date:
  • Size: 16.9 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.7.0.tar.gz
Algorithm Hash digest
SHA256 a83d25f6395cc1d5ea0dcf811df80af43d7296c4a633b0473c63bc6c5e5bf74c
MD5 7ff63549d30cea38dbc53084c2626d1e
BLAKE2b-256 a624cf78775df743b07653d103827448fc8241cbdbb9fe6d81efd9caba9b36c0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for skelform_pygame-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 978591de57b59ba1063f0e61dbddf4a5e07cd3bda641a9af8f215d240f87a3e3
MD5 9cab837fe45e4073c9f15eba4f63c75e
BLAKE2b-256 da556c2f8424929fec5435519ce2c155e739f50c94efb4a1138be59de7bb1f8d

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