aparece isso para mim
>[string "--...."]:318: attempt to
index a nil value (global 'tela')
stack traceback:
[string "--...."]:318: in function
'TIC'
só que eu não consigo entender onde o código está errado, ja peguei o projeto completo do professor para poder comprar e mesmo assim não consegui achar nada.
segue algumas partes do código
function atualizaOJogo()
local animacaoJogador = {
{256, 258},
{260, 262},
{264, 266},
{268, 270}
}
local direcao = {
{deltaX = 0, deltaY = -1},
{deltaX = 0, deltaY = 1},
{deltaX = -1, deltaY = 0},
{deltaX = 1, deltaY = 0}
}
for tecla = 0,3 do
if btn(tecla) then
local quadros = animacaoJogador[tecla + 1]
local quadro = math.floor(jogador.quadroDeAnimacao)
jogador.sprite = quadros[quadro]
tentaMoverPara(jogador, direcao[tecla+1])
end
end
verificaColisaoObj(jogador, {x = jogador.x, y = jogador.y})
for indice, objeto in pairs(objetos) do
if objeto.tipo == constantes.inimigo then
atualizaInimigo(objeto)
end
end
end
function desenhaIntro()
cls()
spr(constantes.sprTitulo,
80,
12,
8,
1,
0,
0,
constantes.sprTituloLargura,
constantes.sprTituloAltura)
spr(constantes.sprAlura,
94,
92,
8,
1,
0,
0,
constantes.sprAluraLargura,
constantes.sprAluraAltura)
print("www.alura.com.br", 78, 122, 12)
end
function atualizaIntro()
if btn(4) then
sfx (constantes.sfxInicio,
72,
32,
0,
8,
0)
tela = tela.jogo
end
end
function TIC()
tela.atualiza()
tela.desenha()
end
tela = {
inicio = {
atualiza = atualizaIntro,
desenha = desenhaIntro
},
jogo = {
atualiza = atualizaOJogo,
desenha = desenhaOJogo
}
}
function inicializa()
objetos = {}
local chave = criaChave (3, 3)
table.insert(objetos, chave)
local porta = criaPorta (16, 7)
table.insert(objetos, porta)
local inimigo = criaInimigo (22, 12)
table.insert(objetos, inimigo)
jogador = {
tipo = constantes.jogador,
sprite = 260,
x = 110,
y = 68,
corDeFundo = 2,
quadroDeAnimacao = 1,
chaves = 0
}
tela = tela.inicio
end