user3251969
user3251969

Reputation: 162

attempt to index global 'event' (a nil value)

I'm new to lua, and tried looking at other posts with similar error. I couldn't solve my problem.

I'm trying to make my number objects disappear using alpha on orientation, and proper placed ones appear. I've added function onOrientationLeft, and a listener for it. After doing this i've received my error, and can't figure out how to make it work. The comments in my code will illustrate what i'm trying to do, please find function onOrientationLeft and the last runtime that links to it.

pZeroButton = display.newImage ("0.png",100, 470 )
llZeroButton = display.newImage ("0.png", 200,200)
llZeroButton.alpha = 0

pOneButton = display.newImage ("1.png",56,420)

pTwoButton = display.newImage ("2.png",123.5, 420)

pThreeButton = display.newImage ("3.png",191,420)

pFourButton = display.newImage ("4.png",56,370)

pFiveButton = display.newImage ("5.png",123.5, 370)

pSixButton = display.newImage ("6.png",191,370)

pSevenButton = display.newImage ("7.png",56,320 )

pEightButton = display.newImage ("8.png",123.5,320)

pNineButton = display.newImage ("9.png", 191, 320)



function onOrientationLeft ()
if (event.type == "landscapeRight") then
    print ("Test if this function onOrientationLeft is working properly") 
end
end 

--[[ I've added this function trying to get the function to print out the string, but everytime I rotate the phone in corona SDK simulator I get error attempt to index global --'event' (a nil value) -- ]]

function calculateZero(number)
local pZeroButton = display.newText (0, 300,30,nil,38)
pZeroButton: setFillColor (0,0,0)
return
end



function calculateOne(number)
local pOneButton = display.newText (1, 300,30,nil,38)
pOneButton: setFillColor (0,0,0)
return
end

function calculateTwo(number)
local pTwoButton = display.newText (2, 300,30,nil,38)
pTwoButton: setFillColor (0,0,0)
return
end

function calculateThree(number)
local pThreeButton = display.newText (3, 300,30,nil,38)
pThreeButton: setFillColor (0,0,0)
return
end

function calculateFour(number)
local pFourButton = display.newText (4, 300,30,nil,38)
pFourButton: setFillColor (0,0,0)
return
end

function calculateFive(number)
local pFiveButton = display.newText (5, 300,30,nil,38)
pFiveButton: setFillColor (0,0,0)
return
end

function calculateSix(number)
local pSixButton = display.newText (6, 300,30,nil,38)
pSixButton: setFillColor (0,0,0)
return
end

function calculateSeven(number)
local pSevenButton = display.newText (7, 300,30,nil,38)
pSevenButton: setFillColor (0,0,0)
return
end

function calculateEight(number)
local pEightButton = display.newText (8, 300,30,nil,38)
pEightButton: setFillColor (0,0,0)
return
end

function calculateNine(number)
local pNineButton = display.newText (9, 300,30,nil,38)
pNineButton: setFillColor (0,0,0) 
return
end



pZeroButton : addEventListener ("tap", calculateZero)

pOneButton : addEventListener ("tap", calculateOne)

pTwoButton : addEventListener ("tap", calculateTwo)

pThreeButton : addEventListener ("tap", calculateThree)

pFourButton : addEventListener ("tap", calculateFour)

pFiveButton : addEventListener ("tap", calculateFive)

pSixButton : addEventListener ("tap", calculateSix)

pSevenButton : addEventListener ("tap", calculateSeven)

pEightButton : addEventListener ("tap", calculateEight)

pNineButton : addEventListener ("tap", calculateNine)


Runtime : addEventListener ("orientation", onOrientationLeft) 

Upvotes: 3

Views: 3964

Answers (1)

Seagull
Seagull

Reputation: 13859

Didn't you forget event argument in your callback?

Errors like 'attempt to index global --'event' (a nil value)' are often concern with undeclared identifier. Check function scope,and you will find mistake causing it.

See an example of orientation event

P.S. It's better to post only that minimal part of code, on which you can reproduce error. This part also should be compilable. It will drastically decrease question complexity and lead to more precise or fast answer. See SSCCE.

Upvotes: 4

Related Questions