import java.io.IOException;
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.GameCanvas;
import javax.microedition.lcdui.game.Sprite;
public class MyGameCanvas extends GameCanvas implements Runnable {
private Graphics g1;
public Image bg;
public Image player;
public Image zidan;
//player的坐标
public int x=80;
public int y=220;
//子弹的坐标
public int x_zidan=110;
public int y_zidan=240;
//npc的坐标
public int x_npc=80;
public int y_npc=0;
//npc的子弹
public int npc_x_zidan=96;
public int npc_y_zidan=40;
//背景图的纵坐标
public int bky;
//npc图片
public Image npc1;
//npc子弹的图片
public Image npc_zidan;
public MyGameCanvas() {
try {
bg= Image.createImage("/bg.jpg");
player=Image.createImage("/player.png");
zidan=Image.createImage("/zidan.png");
npc1=Image.createImage("/npc1.png");
npc_zidan=Image.createImage("/npc_zidan.png");
new Thread(this).start();
} catch (IOException e) {
e.printStackTrace();
}
。。。。。。。。。
编译后
正在通过存储根 d:/我的文档/j2mewtk/2.5.2/appdb/temp.DefaultColorPhone51 来运行
Running with locale: Chinese_People's Republic of China.936
Running in the identified_third_party security domain
java.lang.Error: Unresolved compilation problem:
Implicit super constructor GameCanvas() is undefined. Must explicitly invoke another constructor
at MyGameCanvas.<init>(+9)
at MainApp.<init>(+15)
at java.lang.Class.runCustomCode(+0)
at com.sun.midp.midlet.MIDletState.createMIDlet(+34)
at com.sun.midp.midlet.Scheduler.schedule(+52)
at com.sun.midp.main.Main.runLocalClass(+28)
at com.sun.midp.main.Main.main(+80)
Execution completed.
3392573 bytecodes executed
23 thread switches
1668 classes in the system (including system classes)
17727 dynamic objects allocated (533384 bytes)
这个错误看到了好多都是,但是都没有改对了的,今天花了点时间把它解决了。当继承了GameCanvas后默认要先继承它的父类的构造方法
及:super(true);
添加了这个后就没问题了哈,其实答案很简单但是的却不容易发现!