compsci_godot_albert/_subsections/sec04/lesson-03.org

2.7 KiB

Section 04 - Lesson 03 | Physics 2D Nodes

Notes

overview

assets

  1. sprite sheet plane, 3 figures
  2. pipe and laser site
  3. some backgrounds for parallax effect

scenes

  1. main game scene
  2. plane sceen
  3. pipes scene (2 pipes)
  4. laser scene

approach

  • make the basic game scene
  • make a plance scene
  • code plane movement
  • build the pipe / laser / pipes scene
  • setup the scrolling logic
  • setup collishions and plane death
  • create the main screen and setup navigation
  • add game over
  • add scoring with high score saving
  • parallax background

plane scene

  • falls with gravity
  • press a key to jump or fly
  • collides with laser, pipes, floor, ceiling
  • animated propellor

physics

overview

  • gravity
  • collisions
  • movement
  • forces
  • impulse

    • get hit by a rocket

physics 2D nodes

node type definition
StaticBody2D Physics body for 2D physics which is static or moves only by script. Useful for floor and walls.
CharacterBody2D Specialized 2D physics body node for characters moved by script
AnimatableBody2D Physics body for 2D physics which moves only by script or animation. Useful for moving platforms and doors
RigidBody2D Physics body which is moved by 2D physics simulation. Useful for objects that have gravity and can be pushed by other objects.
StaticBody2D
  • wall, rock, ceiling floor, platform in the middle of the level
  • designed not to move
  • things will bounce or stick to it depending on what your physics is
CharacterBody2D
  • think platform character
  • set the velocities
AnimatableBody2D
  • inherits from StaticBody2D
  • getting a StaticBody and a Character to move together is a pain and buggy
RigidBody2D
  • tennis ball
  • rocket fired

how they interact

  • interact with other Physics2D nodes
  • we DO NOT control the position, the physics engine does
  • we supply velocity / force
  • physics engine calculates where we go and what our speed / position is