Book Image

L÷VE for Lua Game Programming

By : AKINLAJA DAMILARE JOSHUA
Book Image

L÷VE for Lua Game Programming

By: AKINLAJA DAMILARE JOSHUA

Overview of this book

L?ñVE is a game development framework for making 2D games using the Lua programming language. L?ñVE is totally free, and can be used in anything from friendly open-source hobby projects, to closed-source commercial ones. Using the Lua programming framework, one can use L?ñVE2D to make any sort of interesting games. L?ñVE for Lua Game Programming will quickly and efficiently guide you through how to develop a video game from idea to prototype. Even if you are new to game programming, with this book, you will soon be able to create as many game titles as you wish without stress. The L?ñVE framework is the quickest and easiest way to build fully-functional 2D video games. It leverages the Lua programming language, which is known to be one of the easiest game development languages to learn and use. With this book, you will master how to develop multi-platform games for Windows, Linux, and Mac OS X. After downloading and installing L?ñVE, you will learn by example how to draw 2D objects, animate characters using sprites, and how to create game physics and game world maps. L?ñVE for Lua Game Programming makes it easier and quicker for you to learn everything you need to know about game programming. If you're interested in game programming, then this book is exactly what you've been looking for.
Table of Contents (15 chapters)

Drawing the enemy character to the screen


We have defined our enemy character in the previous chunks, but we will now draw it to screen with the following chunk:

function DrawEnemy()

  for i,v in ipairs(enemyTable) do
    v.animation:draw(enemyImage, v.l-8,  v.t-16) 
  end
end

You should call the DrawEnemy() function within the love.draw() function; if not, it will not display on the screen.

function love.draw()
  map:draw()
  DrawPlayer()
  DrawEnemy()
end

Finally, add the enemy's bump configuration:

--Bump configuration

function bump.collision(obj1, obj2, dx, dy)
  --Bump configuration for player

  if obj1 == player then
    collidePlayerWithPlatform(dx,dy,obj2)
  elseif obj2 == player then
    collidePlayerWithPlatform(-dx,-dy,obj1)
  end
  --Bump configuration for enemy

  for i,v in ipairs(enemyTable) do

    if obj1 == v then
      collideEnemyWithPlatform(dx,dy,v,obj2)
    elseif obj2 == v then
      collideEnemyWithPlatform(-dx,-dy,v,obj1)
    end
  end
end