※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
※MainCanvasの修正
class MainCanvas extends Canvas implements TimerListener {
private int w, h;
private int[][] data;
private Random random;
private Timer timer;
private boolean flg;
private Sprite[] sprites;
private SpriteSet spriteset;
private static final int _DX = 0;
private static final int _DY = 1;
MainCanvas() {
this.setSoftLabel(Frame.SOFT_KEY_1, "GO!");
this.setSoftLabel(Frame.SOFT_KEY_2, "EXIT");
data = new int[5][2];
random = new Random(new Date().getTime());
timer = new Timer();
timer.setTime(100);
timer.setRepeat(true);
timer.setListener(this);
Image image = null;
Image image2 = null;
try {
MediaImage mi = MediaManager.getImage("resource:///image.gif");
mi.use();
image = mi.getImage();
MediaImage mi2 = MediaManager.getImage("resource:///image2.gif");
mi2.use();
image2 = mi2.getImage();
} catch (ConnectionException e) {
}
w = Display.getWidth() - image.getWidth();
h = Display.getHeight() - image.getHeight();
setUp(image, image2);
}
public void setUp(Image image, Image image2) {
int xx[] = new int[] { w / 2, 0, 0, w, w };
int yy[] = new int[] { h / 2, 0, h, 0, h };
sprites = new Sprite[5];
spriteset = new SpriteSet(sprites);
sprites[0] = new Sprite(image);
sprites[0].setLocation(xx[0], yy[0]);
for (int i = 1; i < 5; i++) {
sprites[i] = new Sprite(image2);
sprites[i].setLocation(xx[i], yy[i]);
}
}
public void paint(Graphics g) {
g.lock();
g.clearRect(0, 0, this.getWidth(), this.getHeight());
if (spriteset != null)
g.drawSpriteSet(spriteset);
g.unlock(true);
}
public void processEvent(int type, int param) {
super.processEvent(type, param);
switch (type) {
case Display.KEY_PRESSED_EVENT:
switch (param) {
case Display.KEY_SOFT1:
if (!flg) {
timer.start();
this.setSoftLabel(Frame.SOFT_KEY_1, "STOP");
flg = true;
} else {
timer.stop();
this.setSoftLabel(Frame.SOFT_KEY_1, "GO!");
flg = false;
}
break;
case Display.KEY_SOFT2:
IApplication.getCurrentApp().terminate();
break;
}
repaint();
}
}
public void timerExpired(Timer t) {
for (int i = 0; i < 5; i++) {
if (sprites[i] == null)
continue;
if (data[i][_DX] == 0) {
data[i][_DX] = random.nextInt(11) - 5;
}
if (data[i][_DY] == 0) {
data[i][_DY] = random.nextInt(11) - 5;
}
int xx = sprites[i].getX() + data[i][_DX];
int yy = sprites[i].getY() + data[i][_DY];
if (xx < 0) {
xx = 0;
data[i][_DX] = 0;
}
if (xx > w) {
xx = w;
data[i][_DX] = 0;
}
if (yy < 0) {
yy = 0;
data[i][_DY] = 0;
}
if (yy > h) {
yy = h;
data[i][_DY] = 0;
}
sprites[i].setLocation(sprites[i].getX() + data[i][_DX],
sprites[i].getY() + data[i][_DY]);
}
checkCollision();
repaint();
}
public void checkCollision() {
spriteset.setCollisionAll();
for (int i = 1; i < 5; i++) {
if (spriteset.isCollision(0, i)) {
sprites[i] = null;
}
}
}
}
| << 前へ |