Попытка проиндексировать глобальное значение «p» (нулевое значение) в строке 133.

Я пытался сделать главное меню для небольшого проекта, над которым мы с другом работаем. Я наткнулся на эту ошибку в строке 133, которая используется для гравитации игрока (эту часть кодировал мой друг). Услышьте код, помощь будет оценена по достоинству:

Я не смог заставить блок кода работать, поэтому поместите его на этот URL

http://pastebin.com/ue09X0Bi

P.S очень жаль, что я не смог заставить блок кода работать.


person Cj1m    schedule 06.01.2013    source источник


Ответы (1)


Глобальная переменная p используется во всем коде, но нигде не присваивается, поэтому логически ее значение равно nil.

Примечание: необычно и не рекомендуется иметь глобальную переменную с таким коротким именем.

РЕДАКТИРОВАТЬ: из новой ссылки, которую вы предоставляете в комментарии, p устанавливается внутри функции loadgeneral, содержащейся в player.lua. Это означает, что loadgeneral не вызывается, хотя присутствует в строке 19 в функции love.load вашего скрипта. Вероятно, это нормально, так как gamestate здесь установлено в "menu", и вы немедленно сравниваете эту переменную с "playing", что всегда будет давать false!

person prapin    schedule 06.01.2013