game.lua:174bad argument #1 to 'newRect (number expected, got nil)

Hi, i have a problem that i can’t  resolve with the “game” scene of my project… can someone help me? The mistake is at the line 174, i think that is a problem with the group “objects” but i don’t know why appears this mistake. 

This is the function where the error appear

[lua] local function fCounterCO2() --permette al contatore della cO2 di aumentare o diminuire local objects =scene.view if (dimYCounter1\<100) then dimYCounter1=dimYCounter1+0.01 locounterCO2 = display.newRect(objects,posXCO2,posYCO2,15,dimYCounter1) --LINE 174 else if (dimYCounter1\>99) then composer.gotoScene("gameOver") end end end [/lua]

And this is the “game” scene code :

[lua] ----------------------------------------------------------------------------------------- -- -- Eco plague -- game scene -- ----------------------------------------------------------------------------------------- -- Load the composer library local composer = require( "composer" ) -- define a new Scene local scene = composer.newScene() -- ----------------------------------------------------------------------------------- -- Code outside of the scene event functions below will only be executed ONCE unless -- the scene is removed entirely (not recycled) via "composer.removeScene()" -- ----------------------------------------------------------------------------------- -- ----------------------------------------------------------------------------------- -- Scene event functions -- ----------------------------------------------------------------------------------- -- create() function scene:create( event ) local sceneGroup = self.view --------creo i gruppi di visualizzazione-------------- local farBackground=display.newGroup() local nearBackground= display.newGroup() local objects = display.newGroup() -- Here we create the graphics element of the game --------------------caricamento sfondo --------------------------------------------- local background = display.newImageRect(farBackground,"GameProgramming/LayerMondo/MARE.png",display.contentWidth,display.contentHeight) ----------------posiziono lo sfondo al centro------------------------- background.x = display.contentCenterX background.y = display.contentCenterY --------------------caricamento e posizionamento sfondo AFRICA --------------------------------------------- local backgroundAfrica= display.newImageRect(nearBackground,"GameProgramming/LayerMondo/AFRICA.png",display.contentWidth,display.contentHeight) backgroundAfrica.x = display.contentCenterX backgroundAfrica.y = display.contentCenterY --------------------caricamento e posizionamento sfondo ANTARTIDE--------------------------------------------- local backgroundAntartide= display.newImageRect(nearBackground,"GameProgramming/LayerMondo/ANTARTIDE.png",display.contentWidth,display.contentHeight) backgroundAntartide.x = display.contentCenterX backgroundAntartide.y = display.contentCenterY --------------------caricamento e posizionamento sfondo ASIA--------------------------------------------- local backgroundAsia = display.newImageRect(nearBackground,"GameProgramming/LayerMondo/ASIA.png",display.contentWidth,display.contentHeight) backgroundAsia.x = display.contentCenterX backgroundAsia.y = display.contentCenterY --------------------caricamento e posizionamento sfondo EUROPA--------------------------------------------- local backgroundEuropa = display.newImageRect(nearBackground,"GameProgramming/LayerMondo/EUROPA.png",display.contentWidth,display.contentHeight) backgroundEuropa.x = display.contentCenterX backgroundEuropa.y = display.contentCenterY --------------------caricamento e posizionamento sfondo GROENLANDIA-------------------------------------------- local backgroundGroenlandia = display.newImageRect(nearBackground,"GameProgramming/LayerMondo/GROENLANDIA.png",display.contentWidth,display.contentHeight) backgroundGroenlandia.x = display.contentCenterX backgroundGroenlandia.y = display.contentCenterY --------------------caricamento e posizionamento sfondo NORD AMERICA--------------------------------------------- local backgroundNordAmerica = display.newImageRect(nearBackground,"GameProgramming/LayerMondo/NORDAMERICA.png",display.contentWidth,display.contentHeight) backgroundNordAmerica.x = display.contentCenterX backgroundNordAmerica.y = display.contentCenterY --------------------caricamento e posizionamento sfondo OCEANIA--------------------------------------------- local backgroundOceania = display.newImageRect(nearBackground,"GameProgramming/LayerMondo/OCEANIA.png",display.contentWidth,display.contentHeight) backgroundOceania.x = display.contentCenterX backgroundOceania.y = display.contentCenterY --------------------caricamento e posizionamento sfondo SUD AMERICA--------------------------------------------- local backgroundSudAmerica = display.newImageRect(nearBackground,"GameProgramming/LayerMondo/SUDAMERICA.png",display.contentWidth,display.contentHeight) backgroundSudAmerica.x = display.contentCenterX backgroundSudAmerica.y = display.contentCenterY -------------------------ContatoreCO2EMPTY------------------------------------------- --inserimento local counter1Empty= display.newImageRect(objects,"GameProgramming/Interface/Fiala\_CO2\_Empty.png",display.contentWidth,display.contentHeight) --posizionamento counter1Empty.x = (display.contentWidth \* 94.7)/100 counter1Empty.y = (display.contentHeight \* 56)/100 --dimensionamento counter1Empty.width=150 counter1Empty.height=150 -------------------------inserimento ContatoreCO2 (barra)------------------------------------------- posXCO2 = (display.contentWidth \* 97)/100 posYCO2 = (display.contentHeight \* 50)/100 counterCO2 = display.newRect(objects,posXCO2,posYCO2,15,dimYCounter1) -------------------------ContatoreGreenPeopleEmpty------------------------------------------- --inserimento counter2Empty= display.newImageRect(objects,"GameProgramming/Interface/Fiala\_Green\_Empty.png",display.contentWidth,display.contentHeight) --posizionamento counter2Empty.x = (display.contentWidth \* 92.7)/100 counter2Empty.y = (display.contentHeight \* 44)/100 --dimensionamento counter2Empty.width=150 counter2Empty.height=150 --[[------------------caricamento e posizionamento barra blu per scorrimento immagine--------------------------------------------- local barraBlu1 = display.newImageRect(nearBackground,"GameProgramming/LayerMondo/barraNera.png",display.contentWidth,display.contentHeight) barraBlu1.x = (display.contentWidth\*92.7)/100 barraBlu1.y = (display.contentHeight\*50)/100 barraBlu1.width=25 barraBlu1.height=50]]-- ---------------------inserimento contatore green people (barra)----------------------------------- posXGP= (display.contentWidth \* 94)/100 posYGP= (display.contentHeight \* 50)/100 local counterGreen = display.newRect(objects,posXGP,posYGP,15, dimYCounter2) -------------------------Bottone Albero Potenziamenti------------------------------------ --posizionamento posX = (display.contentWidth \* 10)/100 posY = (display.contentHeight \* 85)/100 --inserimento bottoneAlbero = display.newCircle(objects,posX,posY,40) -------------------------Bottone Albero Potenziamenti passivo 2------------------------------------ --posizionamento posX = (display.contentWidth \* 10)/100 posY = (display.contentHeight \* 65)/100 --inserimento bottoneAlberoPassivo = display.newCircle(objects,posX,posY,40) -------------------------Bottone Settings------------------------------------------------ --posizionamento posX = (display.contentWidth \* 8)/100 posY = (display.contentHeight \* 10)/100 --inserimento bottoneSetting = display.newImageRect(objects,"GameProgramming/Interface/INT\_settings\_wheel.png",display.contentWidth,display.contentHeight) -------------------------Contatore soldi------------------------------------------------ --[[moneyCounter =display.newText({text="Money "..tostring(money),font="Arial",fontSize="24"}) moneyCounter.x = (display.contentWidth \* 85)/100 moneyCounter.y= (display.contentHeight \* 10)/100]]-- sceneGroup:insert(farBackground) sceneGroup:insert(nearBackground) sceneGroup:insert(objects) end local function openTree() -- permette di andare alla scena 'tree' composer.gotoScene("tree") return true end local function openpassiveTree() -- permette di andare alla scena 'passiveTree' composer.gotoScene("tree2") return true end local function impostazioni() -- permette di andare alla scena 'settings' display.remove(moneyCounter) composer.gotoScene("settingsGame") return true end local function gameOver() -- permette di andare alla scena 'game Over' display.remove(moneyCounter) composer.gotoScene("gameOver") return true end local function fCounterCO2() --permette al contatore della cO2 di aumentare o diminuire local objects =scene.view if (dimYCounter1\<100) then --se la dimensione y della barra della CO2 è minore di 100 dimYCounter1=dimYCounter1+0.01 --allora aumenta di un valore x la dimensione y della barra locounterCO2 = display.newRect(objects,posXCO2,posYCO2,15,dimYCounter1) --visualizzazione su schermo dell'aumento della grandezza della barra CO2 else if (dimYCounter1\>99) then --se la dimensione y della barra della CO2 è maggiore di 99 composer.gotoScene("gameOver") --allora vai alla schermata "gameOver" end end end local function fCounterGreenPeople() --permette al contatore della green people di aumentare o diminuire local objects = scene.view if (dimYCounter2\<100) then --se la dimensione y della barra della green people è minore di 100 dimYCounter2 = dimYCounter2+0.01 --allora aumenta di un valore x la dimensione y della barra counterGreen = display.newRect(objects,posXGP,posYGP,15,dimYCounter2) --visualizzazione su schermo dell'aumento della grandezza della barra else if (dimYCounter2\>99) then --se la dimensione y della barra della CO2 è maggiore di 99 composer.gotoScene("gameOver") --allora vai alla schermata "gameOver" end end end local function moneyGrow () --questa funzione permette al contatore dei crediti dell'utente di aumentare --[[local money=100000 local moneyCounter =display.newText({text="Money "..tostring(money),font="Arial",fontSize="24"}) moneyCounter.x = (display.contentWidth \* 85)/100 moneyCounter.y= (display.contentHeight \* 10)/100]]-- display.remove(moneyCounter) --viene rimosso il primo oggetto moneyCounter visualizzato su schermo a inizio partita if(money\<600000) then -- se i crediti sono meno di 600mila.. money = tonumber(money) --trasformo nuovamente la variabile money in un numero money= money+1 -- la incremento di un valore x display.remove(moneyCounter) -- rimuovo il contatore col "vecchio" valore moneyCounter =display.newText({text="Money "..tostring(money),font="Arial",fontSize="24"}) --e visualizzo il nuovo valore incrementato moneyCounter.x = (display.contentWidth \* 85)/100 --posizione x del contatore dei crediti moneyCounter.y= (display.contentHeight \* 10)/100 --posizione y del contatore dei crediti elseif (money\>599000) then --se i crediti sono maggiori di 599mila... composer.gotoScene("tree") --vai alla scena "tree" in modo da costringere l'utente ad un acquisto end end -- show() function scene:show( event ) local sceneGroup = self.view local phase = event.phase if ( phase == "will" ) then --------------posiziono il pulsante dell'albero dei potenziamenti------------------ posX = (display.contentWidth \* 10)/100 posY = (display.contentHeight \* 85)/100 -------------------posiziono il pulsante dell'albero dei potenziamenti passivo ------------------------ posX = (display.contentWidth \* 10)/100 posY = (display.contentHeight \* 65)/10 -------------------------posiziono il Bottone Settings------------------------------------------------ bottoneSetting.x = (display.contentWidth \* 8)/100 bottoneSetting.y = (display.contentHeight \* 10)/100 bottoneSetting.width=32 bottoneSetting.height=32 ------------------------posiziono la barra del cO2----------------------------------------- posX = (display.contentWidth \* 97)/100 posY = (display.contentHeight \* 50)/100 ------------------posiziono la barra della green people---------------------------------------- posX = (display.contentWidth \* 94)/100 posY = (display.contentHeight \* 50)/100 elseif ( phase == "did" ) then ------------aggiungo i vari listeners------------ bottoneAlbero:addEventListener("tap",openTree) bottoneAlberoPassivo:addEventListener( "tap",openpassiveTree ) bottoneSetting:addEventListener("tap", impostazioni) Runtime:addEventListener( "enterFrame" , fCounterCO2) Runtime:addEventListener( "enterFrame" , fCounterGreenPeople) Runtime:addEventListener( "enterFrame" , moneyGrow) end end -- hide() function scene:hide( event ) local sceneGroup = self.view local phase = event.phase if ( phase == "will" ) then -------------rimuovo i listeners----------------- bottoneAlbero:removeEventListener("tap",openTree) bottoneAlberoPassivo:removeEventListener( "tap",openpassiveTree ) bottoneSetting:removeEventListener("tap", impostazioni) Runtime:removeEventListener( "enterFrame" , fCounterCO2) Runtime:removeEventListener( "enterFrame" , fCounterGreenPeople) Runtime:removeEventListener( "enterFrame" , moneyGrow) elseif ( phase == "did" ) then end end -- destroy() function scene:destroy( event ) local sceneGroup = self.view -- Code here runs prior to the removal of scene's view end -- ----------------------------------------------------------------------------------- -- Scene event function listeners -- ----------------------------------------------------------------------------------- scene:addEventListener( "create", scene ) scene:addEventListener( "show", scene ) scene:addEventListener( "hide", scene ) scene:addEventListener( "destroy", scene ) -- ----------------------------------------------------------------------------------- tempo = timer.performWithDelay(10000,gameOver,0) return scene [/lua]

You dont need to make new post. You can just edit them