Have you looked at widgets?
http://docs.coronalabs.com/api/library/widget/newButton.html
Widget buttons look something like this:
local widget = require("widget") local function onBtnRelease(event) local target = event.target if target.myId == "Play" then -- do something here to handle the Play Button elseif target.myId == "Home" then -- do something here to handle the Home Button elseif target.myId == "Rate" then -- do something here to handle the Rate Button elseif target.myId == "Exit" then -- do something here to handle the Exit Button end return true -- indicates successful touch end local myButtons = {} myButtons[1] = widget.newButton{ labelColor = { default={0}, over={128} }, defaultFile="playbutton1.png", overFile="playbutton2.png", width=125, height=125, onRelease = onBtnRelease } myButtons[1].x = display.contentWidth \*.2 myButtons[1].y = display.contentHeight \*.7 myButtons[1].myId = "Play" myButtons[2] = widget.newButton{ labelColor = { default={0}, over={128} }, defaultFile="home.png", overFile="home2.png", width=125, height=125, onRelease = onBtnRelease } myButtons[2].x = display.contentWidth \*.4 myButtons[2].y = display.contentHeight \*.7 myButtons[2].myId = "Home" myButtons[3] = widget.newButton{ labelColor = { default={0}, over={128} }, defaultFile="rate.png", overFile="rate2.png", width = 125, height = 125, onRelease = onBtnRelease } myButtons[3].x = display.contentWidth \*.6 myButtons[3].y = display.contentHeight \*.7 myButtons[3].myId = "Rate" myButtons[4] = widget.newButton{ labelColor = { default={0}, over={128} }, defaultFile="exit1.png", overFile="exit2.png", width = 125, height = 125, onRelease = onBtnRelease } myButtons[4].x = display.contentWidth \*.8 myButtons[4].y = display.contentHeight \*.7 myButtons[4].myId = "Exit"