class MainLoop extends TimerTask {
public static GameC GC = null;
public static Display MD = null;
public static Spr SprC = null;
public static Image TestTile = null;
int i=0,j=0;
public static Main midlet = null;
public void run() {
System.out.println(3);
midlet.SprC.paintSprite(midlet.MG);
midlet.GC.paint(midlet.MG);
midlet.SprC.paint(midlet.MG);
midlet.GC.PAll();
}
}
Попробуй вот так
У тебя инициализирован класс Graphics MG только в классе Main, на который указывает статичная переменная неинициализированного экземпляра класса Main midlet.
Вобщем незачем объявлять статичные неинициализированные экземпляры нужных тебе классов в каждом классе... это можно сделать для удобства, но если ты не присваиваешь им ссылки на существующий экземпляр класса, то соответственно ничего работать не будет...
В классе
class Main extends MIDlet implements CommandListener у тебя инициализирутся экземпляр класса
public static Graphics MG = null; вот так:
MG = GC.CreateScreen();, так как этот экземпляр является статичным, то он доступен из всех остальных экземпляров любых классов, вызывающих его после его создания... у тебя же получается, что ты в классе
class Spr extends Sprite создаешь неинициализированный экземпляр класса
public static Graphics MG = null; и пытаешься его использовать... несмотря на то что он статичный, он не инициализирован... поэтому ничего и не работает