Tutorial¶
- Part 1: Engine and window
- Part 2: Sprites and nodes
- Loading images from files
- Drawing objects on the screen
- Moving objects around
- Using z-index
- Rotating objects
- Scaling objects
- Aligning object’s ‘origin’ (the anchor point)
- Updating state of objects
- Objects can have child objects
- Showing and hiding objects
- Introducing animations
- How to crop a Sprite
- Controlling animations manually
- Setting a lifetime of an object
- Deleting objects from the scene
- End of Part 2 - full code
- Part 3: Organizing the game code
- Before we begin
- Structure of directories & files
- Storing global variables and objects
- Keep scenes in separate .py files
- Keep the main.py clean
- Load assets just once, from one place, and make them visible from everywhere
- It’s good to keep scenes in a global registry too
- Write classes for your in-game objects and inherit from kaa.Node
- Implement object-related logic inside object classes
- Implement higher-tier logic in controller classes
- Part 4: Handling Input
- Part 5: Physics
- Understanding SpaceNode, BodyNode and HitboxNode
- Why a BodyNode cannot have other BodyNodes as children ?
- Types of BodyNodes
- Implement the first BodyNode with a hitbox
- Drawing hitboxes on the screen
- Adding more BodyNodes
- Kinematic BodyNodes
- Collisions handling
- Static BodyNodes
- Applying velocity to BodyNodes manually
- Applying impulses
- Part 6: Sound effects and music
- Part 7: Drawing text
- Part 8: Working with multiple scenes
- Part 9: The camera
- Part 10: Transitions
- Adding a Transition to a Node
- Changing a value incrementally
- Running transition back and forth
- Running transition specific number of times
- Running transition infinite number of times
- All types of transitions
- Chaining transitions
- Knowing that a transition has ended
- Running transitions in paralel
- Contradictory transitions?
- Implementing custom transitions
- Different easing patterns
- Part 11: Building executable file and distributing via Steam