模拟器显示不出来东西?
运行通过 但是模拟器显示不出来东西 不知道是怎么回事请各位看看 谢谢!
import javax.microedition.midlet.MIDlet;
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;
import javax.microedition.midlet.MIDletStateChangeException;
import java.util.*;
import java.io.*;
public class SlideShowMidlet extends MIDlet {
private SSCanvas canvas;
public SlideShowMidlet() {
// TODO Auto-generated constructor stub
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
// TODO Auto-generated method stub
canvas.stop();
}
protected void pauseApp() {
// TODO Auto-generated method stub
}
protected void startApp() throws MIDletStateChangeException {
// TODO Auto-generated method stub
if(canvas == null)
{
canvas = new SSCanvas(Display.getDisplay(this));
/*Command exitCommand = new Command("Exit",Command.EXIT,0);
canvas.addCommand(exitCommand);
canvas.setCommandListener(this);
*/
}
canvas.Start();
}
/*public void commandAction(Command c,Display s)
{
if(c.getCommandType() == Command.EXIT)
{
canvas.stop();
notifyDestroyed();
}
}
*/
}
class SSCanvas extends GameCanvas implements Runnable
{
private Display display;
private boolean sleeping;
private long frameDelay;
private Random rand;
private Sprite dongSprite;
private int dongXSpeed,dongYSpeed;
public SSCanvas(Display d)
{
super(true);
display = d;
frameDelay = 33;
}
public void Start()
{
display.setCurrent(this);
rand = new Random();
dongXSpeed = dongYSpeed = 3;
try
{
dongSprite = new Sprite(Image.createImage("/Character_06_B.png"));
dongSprite.setPosition(0, 0);
}
catch(IOException ex)
{
System.err.println("Failde loading image!");
}
sleeping = false;
Thread t =new Thread(this);
t.start();
}
public void stop()
{
sleeping = true;
}
public void run()
{
Graphics g = getGraphics();
while(!sleeping)
{
update();
draw(g);
try
{
Thread.sleep(frameDelay);
}
catch(InterruptedException ex)
{}
}
}
private void update()
{
if(rand.nextInt()%5 == 0)
{
dongXSpeed = Math.min(Math.min(dongXSpeed+rand.nextInt()%2, -8),8);
dongYSpeed = Math.min(Math.min(dongYSpeed+rand.nextInt()%2, -8),8);
}
dongSprite.move(dongXSpeed, dongYSpeed);
}
private void draw(Graphics g)
{
g.setColor(0x00000000);
g.fillRect(0, 0, getWidth(), getHeight());
dongSprite.paint(g);
flushGraphics();
}
} 是不是你的路径含 有中文 是不是你Image.createImage("/Character_06_B.png") 这句话出错了,检查一下你的工程中的相应的png文件在不在。
我在Netbeans6.0中运行你的代码是好的,看到了动画效果。 我是觉得路径应该有问题 我是把图片放在桌面上的 请问应该怎样获取绝对路径了?谢谢!!
提示什么信息啊?
首先你确定你的图片是有导入到指定的目录,建议你用MYELIPSE6。0,因为它是自动生成资源文件夹,然后把图片导入进去就可以了!
页:
[1]
