Ciao Ragazzi… ho un problema con il timer.PerforWithDelay…
Praticamente il mio codice è questo
File game.lua
function onCollision( event ) local gameover = function() if ( event.phase == "began" ) then mydata.died= mydata.died + 1 if(mydata.died==10)then ads.init( "admob", interstitialAppID, adListener ) ads.load( "interstitial", { appId=interstitialAppID, testMode=false } ) composer.gotoScene( "restart") else composer.gotoScene( "restart") end end end timer.performWithDelay(50,gameover,1) end
File Start.lua
function groundScroller(self,event) if self.x \< (-900 + (self.speed\*2)) then self.x = 900 else self.x = self.x - self.speed end end
Praticamente quando faccio il restart del gioco Mi da un errore sul groundscroller e mi dice
start.lua:26: attempt to compare nil with number
stack traceback:
C:\Users\bond91\Downloads\Flappy Bat - Composer\Flappy Bat - Composer\start.lua:26: in function <C:\Users\bond91\Downloads\Flappy Bat - Composer\Flappy Bat - Composer\start.lua:24>
?: in function <?:221>
Sembra che il self.x sia nullo… il problema me lo da solo se uso il time.performWithDelay sul gameover … se non lo metto e passo direttamente alla scena del gameover funziona benissimo
sapete dirmi come sbaglio?
grazie mille in anticipo