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

📄 backcanvas.java

📁 手机游戏设计基础知识(关于手机java游戏的一些基础知识)。
💻 JAVA
字号:
/***************************************************
*  程序文件名称: BackCanvas.java
*  功能:用图像贴片组合成图像
***************************************************/
import javax.microedition.lcdui.*; 
import javax.microedition.lcdui.game.*; 

public class BackCanvas extends GameCanvas implements Runnable { 
  // Game Loop runs when isPlay is true
  private boolean isPlay;  
  // 定义线程休眠常数 
  private long delay; 
  // 屏幕宽度
  private int width;  
  // 屏幕高度
  private int height;  
   //定义图层管理
  private LayerManager layerManager; 
  // 定义贴片 
  private TiledLayer tiledBackground; 

 // 初始化
 public BackCanvas()  { 
       super(true); 
       width = getWidth(); 
       height = getHeight(); 
       delay = 20; 
      try{ tiledBackground = initBackground();}
	  catch(Exception e){  }
       layerManager = new LayerManager(); 
       layerManager.append(tiledBackground); 
 } 

// 启动线程
public void start() { 
  isPlay = true; 
  Thread t = new Thread(this); 
 (见教材) 
 } 

public void stop() { 
  isPlay = false; 
 } 

// Main Game Loop 
public void run() { 
  Graphics g = getGraphics(); 
    while (isPlay == true) { 
      (见教材) 
         try { 
               Thread.sleep(delay); 
              }
		 catch (InterruptedException ie) { 
             } 
       } 
 } 

// Method to Handle User Inputs 
private void input() { 
   // no inputs 
}

 // 显示由图像贴片组合成的图像 
 private void drawScreen(Graphics g) { 
    g.setColor(0xffffff); 
    g.fillRect(0, 0, getWidth(), getHeight()); 
    g.setColor(0x0000ff); 
    layerManager.paint(g, 0, 0); 
    flushGraphics(); 
   } 

 //用图像贴片组合成图像
 private TiledLayer initBackground() throws Exception  { 
   //图像贴片
   Image tileImages = Image.createImage("/back.png"); 
   //用排列成10行、10列的32×32像素的图像贴片组成图像
   TiledLayer tiledLayer = new TiledLayer(10, 10, tileImages, 32, 32); 
   //定义与背景图像相对应的数组
   int[] map = 
    { 5, 1, 1, 4, 1, 1, 1, 1, 1, 6,
	  5, 1, 3, 1, 1, 3, 1, 1, 1, 6,
	  5, 1, 2, 1, 1, 2, 1, 1, 1, 6,
	  5, 1, 2, 3, 1, 2, 1, 1, 1, 6, 
      5, 1, 4, 2, 1, 2, 1, 1, 1, 6,
	  5, 1, 1, 4, 1, 2, 1, 1, 1, 6, 
	  5, 1, 1, 1, 1, 4, 1, 1, 1, 6,
	  5, 1, 1, 1, 1, 1, 1, 1, 1, 6,
	  5, 1, 1, 1, 1, 1, 1, 1, 1, 6,
	  5, 1, 1, 1, 1, 1, 1, 1, 1, 6 }; 
   
   //将编号与数组元素数值相对应的贴片分配到数组里面
   for (int i = 0; i < map.length; i++) { 
       int column = i % 10; 
       int row = (i - column) / 10; 
       tiledLayer.setCell(column, row, map[i]); 
     } 
   return tiledLayer; 
   } 
 } 

⌨️ 快捷键说明

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