⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rabit.java

📁 类似于推箱子的手机游戏源码
💻 JAVA
字号:
import javax.microedition.lcdui.game.*;
import javax.microedition.lcdui.*;
import java.util.Random;

/**
 *
 * @author TOM
 */
public class Rabit {
  private Hunt_Canvas manCanvas;  //游戏画面
  private int[] Locus;        
  private Sprite rabit;       // 图象
  private Random rnd;           // 随机种子
  private int SWidth, SHeight;  // 设备屏幕的宽度与高度
  private int rabitHeight,rabitWidth;
  

  public Rabit(Hunt_Canvas manCanvas, Image img, int SWidth, int SHeight) {
    this.manCanvas = manCanvas;
   rabit = new Sprite(img, img.getWidth(), img.getHeight());
    rabitHeight=img.getHeight();
    rabitWidth=img.getWidth();
    rabit.setFrame(0);
    Locus = new int[3];   
    rnd = new Random();
    this.SWidth = SWidth;
    this.SHeight = SHeight;
  }


  // 初始化运行轨迹随机数组
  public void InitRabitLocus() {
    
        Locus[0] = (rnd.nextInt() & 0x7fffffff) % SWidth-rabitWidth;           //初始X坐标值
        Locus[1] = SHeight;                                      //初始的Y坐标值
        Locus[2] = -1;    //y的增量
        rabit.setTransform(Sprite.TRANS_NONE);
}
  // 显示
  public void paint(Graphics g) {
    
      rabit.setPosition(Locus[0], Locus[1]);
      rabit.paint(g);
      UpdataRabitLocus(); // 更新运行轨迹数组
    }
  
  // 更新运行轨迹数组 
  private void UpdataRabitLocus() {
    Locus[1] += Locus[2];
    
    //超出边界的处理
    if (Locus[1] <= SHeight-rabitHeight*1.2+5) {
   	Locus[2] = 1;
     }

    if(Locus[1]>SHeight+5){         
        InitRabitLocus();
    }
  }
  public Sprite getRabit(){
    return rabit;
  }
}

⌨️ 快捷键说明

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