Показать сообщение отдельно
Старый 23.07.2006, 22:43   #2
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Re: и снова нифига не работает

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; и пытаешься его использовать... несмотря на то что он статичный, он не инициализирован... поэтому ничего и не работает
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием