Problema con timer

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

Ciao Giorgio,

un paio di cose mi saltano agli occhi:

1 hai provato a portare la function gameover fuori dalla function onCollision?

2 immagino che la linea 26 di start.lua corrisponda a “if self.x < (-900 + (self.speed*2)) then”?

in questo caso significherebbe che la function groundScroller non venga chiamata con gli argomenti corretti.

Chi chiama la function groundScroller?

E’ un pò difficile capire cosa stia accadendo senza vedere tutto il codice.

Ciao.

Ale

Ciao Giorgio,

un paio di cose mi saltano agli occhi:

1 hai provato a portare la function gameover fuori dalla function onCollision?

2 immagino che la linea 26 di start.lua corrisponda a “if self.x < (-900 + (self.speed*2)) then”?

in questo caso significherebbe che la function groundScroller non venga chiamata con gli argomenti corretti.

Chi chiama la function groundScroller?

E’ un pò difficile capire cosa stia accadendo senza vedere tutto il codice.

Ciao.

Ale