📄 gamewincanvas.java
字号:
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.GameCanvas;
public class GameWinCanvas extends GameCanvas implements Runnable
{
private LLKCanvas canvas;
private int level;
private Thread myThread;
private int x;
private int len;
private Image imgCong;
private Image imgWon;
private static final int MILLIS_PER_TICK = 100;
public GameWinCanvas(LLKCanvas canvas, int level)
{
super(false);
this.canvas = canvas;
this.level = level;
x = 0;
try
{
if (level < 2)
imgWon = Image.createImage("/won.png");
else
imgWon = Image.createImage("/wonall.png");
Image img = Image.createImage("/cong.png");
len = img.getWidth();
imgCong = Image.createImage(len + getWidth() * 2, img.getHeight());
imgCong.getGraphics().setColor(0);
imgCong.getGraphics().fillRect(0, 0, imgCong.getWidth(),
imgCong.getHeight());
imgCong.getGraphics().drawImage(img, getWidth(), 0, 0);
img = null;
}
catch (Exception e)
{
e.printStackTrace();
}
x = getWidth();
}
synchronized void start()
{
myThread = new Thread(this);
myThread.start();
}
synchronized void stop()
{
myThread = null;
}
public void run()
{
Thread currentThread = Thread.currentThread();
try
{
while (currentThread == myThread)
{
long startTime = System.currentTimeMillis();
repaint();
serviceRepaints();
long timeTaken = System.currentTimeMillis() - startTime;
if (timeTaken < 100L)
{
synchronized(this)
{
wait(100L - timeTaken);
x = x + 1;
if (x > getWidth() + len)
{
x = 0;
}
}
}
else
{
Thread _tmp = currentThread;
Thread.yield();
}
}
}
catch (InterruptedException e){}
}
public void paint(Graphics g)
{
g.setColor(0);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(255, 255, 255);
Image img = Image.createImage(imgCong, x, 0, getWidth(),
imgCong.getHeight(), 0);
g.drawImage(img, 0, 25, 0);
img = null;
g.drawImage(imgWon, (getWidth() - imgWon.getWidth()) / 2, 55, 0);
if (level == 0)
{
g.drawString("还有中等级别的游戏等着您通过哦!", 5, 120, 0);
}
else
if (level == 1)
{
g.drawString("还有高级别的游戏等着您通过哦!", 5, 120, 0);
}
}
public void keyPressed(int keyCode)
{
keyCode = getGameAction(keyCode);
if (keyCode == 8)
{
canvas.goMainMenu();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -