Показать сообщение отдельно
Старый 28.07.2006, 00:18   #8
SubZer0
Администратор
 
Аватар для SubZer0
 
Регистрация: 03.09.2005
Сообщений: 2,408
Написано 301 полезных сообщений
(для 996 пользователей)
Сообщение Re: и снова нифига не работает

есть у меня такое... только хз чем эти djvu открывать...


мне LayerManager не подойдет, мне надо будет одновременно до сотни спрайтов держать на экране (технику, пули и т.п.)...

короче универсальными функциями тут выкоблучиваться надо... проще самому описать... буду сам вырисовывать на экран спрайты какие нужно...

самое интересное оно почемуто заработало... а вот почему я до сих пор понять не могу... стоит всеголишь все поновой переписать...

main.java
import java.io.IOException;
import java.util.Timer;
import java.util.TimerTask;
import javax.microedition.lcdui.game.Sprite;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;


public class Main extends MIDlet implements CommandListener {
    public Main main = this;
    
    public static Display MD = null;
    public static Timer timer = null;
    public static GameC GC = null;
    public static Graphics MG = null;
    public static MainLoop ML = null;
    public static Spr SprC = null;

    
    public static Image TestTile;
    
    public void startApp() {
        
        GC = new GameC();
        MG = GC.CreateScreen();
        Display.getDisplay(this).setCurrent(GC);
        GC.addCommand(new Command("Exit", Command.EXIT, 1));
        GC.setCommandListener(main);
        
        try {
            TestTile = Image.createImage("/Tank1red.png");
        } catch (IOException ex) {
            ex.printStackTrace();
        }
        
        SprC = new Spr(TestTile,20,20);
        
        
        TimerTask TT = new MainLoop();
        timer = new Timer();
        timer.schedule( TT, 0, 500 );
        
    }
    
    public void pauseApp() {
    }
    
    public void destroyApp(boolean unconditional) {
    }

    public void commandAction(Command command, Displayable displayable) {
       if (command.getCommandType() == Command.EXIT) {
        destroyApp(true);
        notifyDestroyed();
       }
       
    }
}

class MainLoop extends TimerTask {

    int i=0,j=0;    

    public static Main main = null;

    public void run() {

        System.out.println(3);
        main.SprC.paint(main.MG);
        main.GC.flushGraphics();

        
        
    }
    
}

GameC.java
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.game.GameCanvas;

public class GameC extends GameCanvas {
    
    public static Main main = null;
        
    public GameC() {
        super(true);
    }
    
    public Graphics CreateScreen() {
        return getGraphics();
    }

}

Spr.java
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.Sprite;

public class Spr extends Sprite {
    
    public static Main main = null;
    
    
    public Spr(Image image, int x,int y)
    {
        super(image, x, y); 
   
    }
    
}
хз... теперь без проблем спрайты рисовать можно
__________________
Как минимум я помог многим (с)
(Offline)
 
Ответить с цитированием