Я предполагаю, что ваш первый блок кода находится внутри вашего класса MainScreen. Для вашего основного экрана не имеет смысла создавать новый экземпляр игры MainClass. И поскольку это так, вы ссылаетесь на экземпляр MainClass, для которого никогда не вызывался create()
, поэтому его manager
равен нулю.
Поскольку я вижу, что ваш класс MainScreen уже принимает экземпляр MainClassВам просто нужно убедиться, что он хранит его, и вы не создаете новый экземпляр. В таком случае я объявляю переданные переменные как final
, поэтому я знаю, что они не изменятся (и их невозможно изменить случайно).
public class MainScreen implements Screen {
final MainClass main;
public MainScreen(MainClass main){
this.main = main;
}
//...
@Override
public void show()
{
texture = main.manager.get("ball.png");
mainActor = new MainActor(world, texture, new Vector2(1,2));
stage.addActor(mainActor);
}
//...
}