mycanvas.java
来自「JAVA游戏开发的基本框架设计」· Java 代码 · 共 96 行
JAVA
96 行
import javax.microedition.lcdui.*;
public class MyCanvas extends Canvas implements Runnable
{
Image ballImage;
Image bufferImage;
int ballX, ballY;
public MyCanvas()
{
bufferImage = Image.createImage(176, 208);
try
{
ballImage = Image.createImage("/d.png");
}
catch(java.io.IOException ioe)
{
System.out.println("Can not open Image file");
}
Thread t = new Thread(this);
t.start();
}
boolean xdown = true;
boolean ydown = true;
int whichframe;
final int SPEED = 4;
public void run()
{
Graphics g = bufferImage.getGrahpics();
while(true)
{
if(xdown)
{
ballX+=SPEED;
}
else
{
ballX-=SPEED;
}
if(ydown)
{
ballY+=SPEED;
}
else
{
ballY-=SPEED;
}
if(ballX + 16 > 176 || ballX < 0)
{
xdown = !xdown;
whichframe++;
}
if(ballY + 16 > 208 || ballY < 0)
{
ydown = !ydown;
whichframe++;
}
bufferPaint(g);
repaint();
try
{
Thread.sleep(50);
}
catch(Exception e)
{
}
}
}
public void bufferPaint(Graphics g)
{
g.setColor(255, 255, 255);
g.fillRect(0, 0, 176, 208);
g.translate(-g.getTranslateX(), - g.getTranslateY());
g.translate(ballX, ballY);
g.setClip(0, 0, 16, 16);
g.drawImage(ballImage, -16 * (whichframe % 3), 0, 0);
}
public void paint(Graphics g)
{
g.setColor(0);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(255, 0, 0);
g.drawImage(bufferImage, getWidth() - 176 >> 1, getHeight() - 208 >> 1, 0);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?