Runtime Error

Ive Had This Problem With My App Flappy Diesel For Android For About A Week Now And I Cant Figure Out Whats Causing It.

Google Playe ANR:

java.lang.RuntimeException: bad argument #1 to ‘newSprite’ (ImageSheet expected, got nil)

stack traceback:

C: in function ‘newSprite’

?: in function ‘method’

/Users/jenkins/slaveroot/workspace/Templates/label/android/platform/resources/init.lua:253: in function ‘dispatchEvent’

/Users/jenkins/slaveroot/workspace/Templates/label/android/subrepos/composer/composer.lua:1468: in function ‘gotoScene’

?: in function ‘func’

/Users/jenkins/slaveroot/workspace/Templates/label/android/platform/resources/init.lua:241: in function </Users/jenkins/slaveroot/workspace/Templates/label/android/platform/resources/init.lua:221>

Heres my code for the playersheet

gen = math.random(1, 3)

if gen == 1 then

truck = “newbat.png”

elseif gen == 2 then

truck = “ltd.png”

elseif gen == 3 then

truck = “strechedPete.png”

end

p_options = 

{

width = 80,

height = 42,

numFrames = 1,

sheetContentWidth = 160,

sheetContentHeight = 42,

}

playerSheet = graphics.newImageSheet( truck, p_options )

player = display.newSprite( playerSheet, { name=“player”, start=1, count=1, time=500 } )

player.anchorX = 0.5

player.anchorY = 0.5

player.x = display.contentCenterX - 150 

player.y = display.contentCenterY

physics.addBody(player, “static”, {density=.1, bounce=0.1, friction=1})

player:applyForce(0, -300, player.x, player.y)

player:play()

sceneGroup:insert(player)

Is the file name on disk really “stretchedPete.png” or is it “stretchedpete.png” or “StrechedPete.png” or “stretchedPete.PNG” or any other combination of upper/lower case letters? Windows and OS X’s operating systems are not case sensitive. Android and iOS are, so if you have this file named incorrectly, it will case the error your seeing.

Since you’re using an image sheet, if the width,  height, frames, etc. in p_options isn’t right, it could also cause this error.

Rob

Heres my code for the playersheet

gen = math.random(1, 3)

if gen == 1 then

truck = “newbat.png”

elseif gen == 2 then

truck = “ltd.png”

elseif gen == 3 then

truck = “strechedPete.png”

end

p_options = 

{

width = 80,

height = 42,

numFrames = 1,

sheetContentWidth = 160,

sheetContentHeight = 42,

}

playerSheet = graphics.newImageSheet( truck, p_options )

player = display.newSprite( playerSheet, { name=“player”, start=1, count=1, time=500 } )

player.anchorX = 0.5

player.anchorY = 0.5

player.x = display.contentCenterX - 150 

player.y = display.contentCenterY

physics.addBody(player, “static”, {density=.1, bounce=0.1, friction=1})

player:applyForce(0, -300, player.x, player.y)

player:play()

sceneGroup:insert(player)

Is the file name on disk really “stretchedPete.png” or is it “stretchedpete.png” or “StrechedPete.png” or “stretchedPete.PNG” or any other combination of upper/lower case letters? Windows and OS X’s operating systems are not case sensitive. Android and iOS are, so if you have this file named incorrectly, it will case the error your seeing.

Since you’re using an image sheet, if the width,  height, frames, etc. in p_options isn’t right, it could also cause this error.

Rob