Implementing physics in a LÖVE game
Running and Falling
Getting back to main.lua
(Listing 4), I will use the special variable dt
in world:update ()
(line 23) to calculate the position of all moving parts depending on the time that has passed since the beginning of the execution.
As for drawing the results (lines 26 to 29), it is simply a matter of calling the draw ()
functions of terrainG
(line 27) and the box (line 28).
Conclusion
If you're using ZeroBrane Studio [4] to edit your LÖVE code (and if you aren't, you should), you will be able to run the simulation directly from the editor by pressing the Start button in the toolbar.
You can also run the program from the command line with:
love /path/to/project/directory
Either way, you'll see something like Figure 5: a box falling from the sky and bouncing against the ground.
Change line 19 in main.lua
(Listing 4) to modify the initial position, bounciness, and friction of the box and add features to your body in pobject.lua
(Listing 6). Add more objects, create particles, and change the components of the forces. In summary, enjoy your new physics sandbox!
Infos
- "Tutorial – LÖVE Animation" by Paul Brown, Linux Magazine, issue 234, May 2020, pp. 88-93, https://www.linux-magazine.com/Issues/2020/234
- LÖVE: https://love2d.org
- The Bouncy Square project: https://gitlab.com/linux-magazine/235
- ZeroBrane Studio: https://studio.zerobrane.com/
« Previous 1 2
Buy this article as PDF
(incl. VAT)