Итак, я создал функцию внутри вызова класса extraBalls()
, что он для этого генерирует, дополнительные шары и вставляет их в таблицу self.balls, но я не могу получить доступ к параметрам класса в методе внутри класса
function PlayState:extraBalls()
ball1=Ball(math.random(7))
ball2=Ball(math.random(7))
ball1.x=self.balls[1].x
ball1.x=self.balls[1].x
ball1.y=self.balls[1].y
ball2.y=self.balls[1].y
ball1.dx=self.balls[1].dx
ball2.dx=self.balls[1].dx
ball1.dy=-math.abs(self.balls[1].dy/2)
ball1.dy=-math.abs(self.balls[1].dy/4)
table.insert(self.balls, ball1)
table.insert(self.balls, ball2)
self.ballsCount = self.ballsCount + 2
end
я получаю эту ошибку
Error: src/states/PlayState.lua:260: attempt to index field 'balls' (a nil value)
stack traceback:
[string "boot.lua"]:777: in function '__index'
src/states/PlayState.lua:260: in function 'extraBalls'
src/states/PlayState.lua:63: in function 'update'
src/StateMachine.lua:22: in function 'update'
main.lua:155: in function 'update'
[string "boot.lua"]:612: in function <[string "boot.lua"]:594>
[C]: in function 'xpcall'
Это начальный метод
function PlayState:enter(params)
self.paddle = params.paddle
self.bricks = params.bricks
self.health = params.health
self.score = params.score
self.highScores = params.highScores
self.level = params.level
self.recoverPoints = 5000
self.powerup=PowerUp(8)
self.powerupcount=0
self.balls={params.ball}
-- give ball random starting velocity
self.balls[1].dx = math.random(-200, 200)
self.balls[1].dy = math.random(-50, -60)
self.ballscount=1
end
я уже убедился, что передаваемый параметр не равен нулю Итак, как я могу получить эту ошибку?