📄 maincanvas.java
字号:
package src;
import java.io.IOException;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.GameCanvas;
import javax.microedition.lcdui.game.Sprite;
public class MainCanvas extends GameCanvas implements Runnable{
private boolean m_bRunning;
public Sprite m_CockSprite;
public Image m_BackImg;
public MainCanvas(){
super(true);
try{
m_BackImg = Image.createImage("/back.png");
Image c_image = Image.createImage("/cock.png");
m_CockSprite = new Sprite( c_image, 95, 85 ); //分割图片
m_CockSprite.setFrame( 0 ); //初始化第一帧
int X = getWidth();
int Y = getHeight() - 90;
m_CockSprite.setPosition(X , Y );
}
catch (IOException e){}
Start();
}
public void Start(){
m_bRunning = true;
// Thread thread = new Thread(this);
// thread.start();
new Thread(this).start();
}
public void run() {
long T1 = System.currentTimeMillis();
long T2 = T1;
while(m_bRunning){
T2 = System.currentTimeMillis();
if( T2 - T1 > 100 ){
T1 = T2;
Input();
Logic();
Paint();
}
}
}
public void Stop(){
m_bRunning = false;
}
public void Input(){
}
public void Logic(){
int n = m_CockSprite.getFrame();
n ++;
if( n >= m_CockSprite.getFrameSequenceLength() )
n = 0;
m_CockSprite.setFrame(n);
int nPosX = m_CockSprite.getX();
int nPosY = m_CockSprite.getY();
nPosX -= 3;
if( nPosX < -95 )
nPosX = getWidth();
m_CockSprite.setPosition( nPosX, nPosY );
}
public void Paint(){
Graphics g = getGraphics();
g.setColor(0,120,32);
g.fillRect( 0, 0, getWidth(), getHeight() );
int nPosX = getWidth()/2 - 100;
int nPosY = getHeight()/2 - 100;
g.drawImage( m_BackImg, nPosX, nPosY, 0);
m_CockSprite.paint(g);
flushGraphics();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -