spritecanvas.java

来自「手机游戏中关于精灵移动的程序。 有利与刚刚初学的人」· Java 代码 · 共 67 行

JAVA
67
字号
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;


public class SpriteCanvas extends GameCanvas implements Runnable{

 private int drawX = 0;
 private int drawY = 0;
 
 private Sprite sprite;//定义精灵对象
 private Image spriteImage;
 private Graphics g;
 private int down_seq[] = {0,1,2}; //精灵动画数组,选择分割图片的3幅小图片
 protected SpriteCanvas() {
  super(true);
  try{
   spriteImage = Image.createImage("/res/man.png");
   
  }catch(Exception e){
   
  }
  //32x48的分割
  sprite = new Sprite(spriteImage,32,48);
  sprite.setFrameSequence(down_seq);
  g = this.getGraphics();
  // this.Action();
  
  Thread thread = new Thread(this);
  thread.start();
  
 }


 public void run() {
  while(true){
   try {
    Thread.sleep(100);
   } catch (InterruptedException e) {    
    e.printStackTrace();
   }
   
   g.setColor(0,0,0);
   g.fillRect(0,0,getWidth(),getHeight());
   
   sprite.nextFrame();
   //sprite.move(0,10);
   if((drawY + 5 < getHeight())||(drawX+5<getWidth())){
    drawY = drawY +5;
    drawX = drawX +5;
    sprite.setPosition(drawX,drawY);
   }
   else{
    drawY = 0;
    drawX = 0;
    sprite.setPosition(drawX,drawY);
   }
   sprite.paint(g);
   flushGraphics();
  }
 }
  


}


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?