Skip to main content
Version: Dev

Templates

The templates package ships ready-made controllers and characters.

Controllers​

ClassPurpose
PlatformControllerPlatformer movement (accel, friction, jump)
TopDownController8-direction movement
CameraControllerPan / zoom / rotate scene.camera

Controllers expect actions on self.control (left/right/jump or left/right/up/down).

player = bf.PlatformController(size=(32, 48))
player.control.add_actions(
bf.Action("left").add_key_control(pygame.K_a).set_holding(),
bf.Action("right").add_key_control(pygame.K_d).set_holding(),
bf.Action("jump").add_key_control(pygame.K_SPACE),
)
scene.add(player)

PlatformCharacter​

PlatformCharacter combines PlatformController and AnimatedSprite, and owns an AnimatedStateMachine.

hero = bf.PlatformCharacter(size=(32, 48))
idle = bf.AnimatedState("idle")
hero.state_machine.add_state(idle)
hero.state_machine.set_state("idle")

AnimatedState.add_transition(dest, transition_animation) plays a one-shot animation before entering the destination state.