Thank you Hendrix, with your help I'm getting closer to answer a question I made 6 months ago
"How to keep track of the score?" I still don't have the final answer but I'm getting close
I did a few things you told me, and I can see the "text" in the simulator -- Your score is 0
but when I touch each image, is not adding any points.
Here is the complete code
local storyboard = require( "storyboard" )
local widget = require "widget"
local scene = storyboard.newScene()
local physics = require("physics")
physics.start()
physics.setScale( 36)
local littleM
local buttonHome
local buttonBack
local myScoreText = "Your score is "
local score = 0
local function homeWorld()
storyboard.gotoScene( "mainMenu", "flip", 200 )
return true
end
local function buttonBackHandler()
storyboard.gotoScene( "physicsWorld", "fromLeft", 200 )
return true
end
local scoreFunc = function(scoreValue)
if score <= 0 then
--action for dealing with death
elseif score >= 1000 then
--action when you win the game
end
score = score + scoreValue
return score
end
local onTouch = function(event)
if event.phase == "began" then
scoreFunc( 10 ) --adds 10 to the score
event.target.bodyType = "dynamic"
timer.performWithDelay( 1000, function() event.target:removeSelf() end)
end
return true
end
-- --==**************************[ CREATE SCENE ]**********************************++-- --
function scene:createScene( event )
local group = self.view
local yellowRectangle = display.newRect(0, 0, 1024, 768 )
group:insert ( yellowRectangle )
yellowRectangle.strokeWidth = 8
yellowRectangle:setFillColor(244, 234, 234)
yellowRectangle:setStrokeColor(255, 255, 0)
buttonHome = widget.newButton{
defaultFile="buttonHome.png",
onRelease = homeWorld
}
group:insert ( buttonHome )
buttonHome.x = 950
buttonHome.y = 710
buttonBack = widget.newButton{
defaultFile="buttonBack.png",
onRelease = buttonBackHandler
}
group:insert ( buttonBack )
buttonBack.x = 66
buttonBack.y = 710
local scoreHolder = display.newText(myScoreText .. score, 100, 600, native.systemFont, 24)
group:insert ( scoreHolder )
scoreHolder:setTextColor(255, 0, 0)
end
--------------------------------------------------------------ENTER SCENE----------
function scene:enterScene( event )
local group = self.view
local floor = display.newImage( "buttonSoundRed.png" )
group:insert ( floor )
floor.x = 512; floor.y = 710
physics.addBody( floor, "static", { friction=0.5 } )
littleM = {}
for column = 1, 4 do
for row = 1, 4 do
littleM[column] = display.newImage( "buttonMute.png", 350 + (column*50), -400 - (row*40) )
group:insert ( littleM[column] )
physics.addBody( littleM[column], "dynamic", { density=0.2, friction=0.1, bounce=0.4 } )
end
end
local bricks = {}
local n = 0
local function throwBrick()
n = n + 3
bricks[n] = display.newImage( "buttonPlay.png", -20, 140 - (n*11) )
group:insert ( bricks[n] )
physics.addBody( bricks[n], "dynamic", { density=3.0, friction=0.5, bounce=0.05 } )
bricks[n].isBullet = true
bricks[n].angularVelocity = 1
bricks[n]:applyForce( 1600, 0, bricks[n].x, bricks[n].y )
end
local function start()
timer.performWithDelay( 300, throwBrick, 2 )
end
timer.performWithDelay( 3800, start )
--******************************************GOOD********************************--
local onTouch = function(event)
if event.phase == "began" then
event.target.bodyType = "dynamic"
timer.performWithDelay( 600, function() event.target:removeSelf() end)
end
return true
end
local littleM = {}
for column = 1, 18 do
for row = 1, 8 do
littleM[column] = display.newImage( "buttonMute.png", (11 + (column*50)), (400 - (row*40)) )
group:insert ( littleM[column] )
physics.addBody( littleM[column], "static", { density=0.2, friction=0.1, bounce=0.4 } )
littleM[column]:addEventListener("touch", onTouch)
end
end
----******************************************************************************----
end
--------------------------------------------------------------------------------------
--------------------------------------------------------------EXIT SCENE----------
function scene:exitScene()
for key,obj in pairs(littleM) do
obj:removeSelf()
obj = nil
end
end
--------------------------------------------------------------------------------------
-- --==**************************[ DESTROY SCENE ]*********************************++-- --
function scene:destroyScene( event )
local group = self.view
if buttonHome then
buttonHome:removeSelf()
buttonHome = nil
end
if buttonBack then
buttonBack:removeSelf()
buttonBack = nil
end
end
----------------------------------------------------------------------------------
scene:addEventListener( "createScene", scene )
scene:addEventListener( "enterScene", scene )
scene:addEventListener( "exitScene", scene )
scene:addEventListener( "destroyScene", scene )
return scene
I really hope that you can help me solve this problem
6 months is a long time waiting for this moment.