Book Image

Developing Mobile Games with Moai SDK

By : Francisco Tufró
Book Image

Developing Mobile Games with Moai SDK

By: Francisco Tufró

Overview of this book

<p>Moai SDK is a fast, minimalist, open-source Lua mobile framework for pro game developers. Moai is built around Lua, a common programming language for games, and offers a single open-source platform for both the front-end elements seen by consumers and the back-end infrastructure.<br /><br />Developing Mobile Games with Moai SDK will guide you through the creation of two game prototypes in a step-by-step way, giving you the basic tools you need in order to create your own games.<br /><br />Developing Mobile Games with Moai SDK introduces the basic concepts behind game development, and takes you through the development of a tile-based memotest, and a platform game prototype as well. You'll end up with a good codebase to start writing your own games.</p> <p>You will learn some tricks that come from real life experience while creating a small framework that will allow you to display images, play sounds, grab input, and so on. You'll also learn how to implement physics using Box2D bindings, and everything in Lua, without having to use any compilations. After doing this, we'll take a look at how to deploy your game to iOS and run it on an iPhone.</p> <p><br />With this book, you should be ready to go and create your own game, release it to the Apple Store, and have enough tools to dig deeper into Moai SDK.</p>
Table of Contents (20 chapters)
Developing Mobile Games with Moai SDK
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
7
Concentration Gameplay
Index

Keyboard input


We'll have to change a couple of things in order to start using the keyboard:

  1. First of all, we need to remove our processInput method and the call to on Game:start in game.lua.

  2. Then we need to create a method that will be in charge of managing the key input from InputManager.

    function Game:keyPressed ( key, down )
        if key == 'right' then Character:moveRight(down)end
        if key == 'left' then Character:moveLeft(down)end
        if key == 'up' then Character:jump(down)end
    end

    This method maps some key presses with the methods we created on Character. This should be enough to handle the movement of our character.

  3. Now, we'll have to remove all the code (except the module definition) from input_manager.lua and rewrite it using the following code:

    function InputManager:initialize ()
        function onKeyboardEvent ( key, down )
            if key == 119 then key = 'up' end
            if key == 97 then key = 'left' end
            if key == 100 then key = 'right' end
            Game:keyPressed(key, down...