I’m trying to create a simple game that involves a ball moving around randomly on the screen, and the player have to click it. Each time the player clicks it, they get 1 point. However, when I test out my code, the tap function did not go very well. When I click on the ball, sometimes I don’t get points and sometimes I do. Here is the code and can anyone check what is wrong with my code? thanks very much
local ball = display.newImage( “ball.png” )
ball.x = math.random(0,w)
ball.y = math.random(0,h)
physics.addBody( ball)
function moveRandomly()
ball:setLinearVelocity(math.random(-50,0), math.random(-50,50));
end
timer.performWithDelay(1000, moveRandomly, -1);
ball.rotation = 180
local reverse = 1
local function rotateball()
if ( reverse == 0 ) then
reverse = 1
transition.to( ball, { rotation=math.random(0,360), time=500, transition=easing.inOutCubic } )
else
reverse = 0
transition.to( ball, { rotation=math.random(0,360), time=500, transition=easing.inOutCubic } )
end
end
timer.performWithDelay( 600, rotateball, 0 )
local myText, changeText, score
score = 0
function changeText( event )
score = score + 1
print( score…“taps”)
myText.text = “Score:” …score
return true
end
myText = display.newText( “Score: 0”, w, 20, Arial, 15)
myText:setFillColor( 0, 1, 1)
myText:addEventListener( “tap”, changeText)
ball:addEventListener(“tap”, changeText)