📄 foreinbackgrount_canvas.java
字号:
package ch06;
import java.io.*;
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;
public class ForeInBackgrount_Canvas
extends GameCanvas {
Graphics g = getGraphics();
//变量w和h为模拟器的当前屏幕宽度和高度
int w = getWidth();
int h = getHeight();
public ForeInBackgrount_Canvas() throws IOException {
//支持按键事件
super(false);
}
//启动绘制
public void start() {
render(g);
}
//实现具体绘制
void render(Graphics g) {
//装载图片
try {
Image im = Image.createImage("/icons/background/girl02.png");
g.drawImage(im, 0, 0, Graphics.LEFT | Graphics.TOP);
}
catch (Exception e) {
System.out.println(e.toString());
}
// 创建一个存储前景色图像数组
int ballWidth = 10, ballHeight = 10;
int rgbData[] = new int[ballWidth * ballWidth];
if (rgbData == null) {
rgbData = new int[ballWidth * ballHeight];
}
/*
3.创建设置图像数据和透明化处理
*/
//创建数组第一行数据
int i = 0;
int j = 0;
for (; i < ballWidth; i++) {
rgbData[i] = 0x00000000; //黑色、透明
}
//创建数组第二行数据
for (j = 0; j < 3; i++, j++) {
rgbData[i] = 0x00000000; // 黑色、透明
}
rgbData[i++] = 0xffff0000; // 255, 0, 0
rgbData[i++] = 0xffd30000; // 211, 0, 0
rgbData[i++] = 0xffff0000; // 255, 0, 0
rgbData[i++] = 0xffdb0000; // 219, 0, 0
rgbData[i++] = 0xff870000; // 135, 0, 0
rgbData[i++] = 0x00000000; // 黑色、透明
rgbData[i++] = 0x00000000; // 黑色、透明
//创建数组第三行数据
for (j = 0; j < 2; i++, j++) { // 黑色、透明
rgbData[i] = 0x00000000;
}
rgbData[i++] = 0xffc30000; // 195, 0, 0
for (j = 0; j < 6; i++, j++) { // 255, 0, 0
rgbData[i] = 0xffff0000;
}
rgbData[i++] = 0x00000000; // 黑色、透明
//创建数组第四行数据
rgbData[i++] = 0x00000000; // 黑色、透明
rgbData[i++] = 0xff800000; // 128, 0, 0
for (j = 0; j < 7; i++, j++) { // 255, 0, 0
rgbData[i] = 0xffff0000;
}
rgbData[i++] = 0xff870000; // 135, 0, 0
//创建数组第五行数据
rgbData[i++] = 0x00000000; // 黑色、透明
rgbData[i++] = 0xffd30000; // 211, 0, 0
for (j = 0; j < 7; i++, j++) { // 255, 0, 0
rgbData[i] = 0xffff0000;
}
rgbData[i++] = 0xffdb0000; // 219, 0, 0
//创建数组第六行数据
rgbData[i++] = 0x00000000; // 黑色、透明
for (j = 0; j < 9; i++, j++) { // 255, 0, 0
rgbData[i] = 0xffff0000;
//创建数组第七行数据
}
rgbData[i++] = 0x00000000; // 黑色、透明
rgbData[i++] = 0xffd30000; // 211, 0, 0
for (j = 0; j < 7; i++, j++) { // 255, 0, 0
rgbData[i] = 0xffff0000;
}
rgbData[i++] = 0xffdb0000; // 219, 0, 0
//创建数组第八行数据
rgbData[i++] = 0x00000000; // 黑色、透明
rgbData[i++] = 0xff800000; // 128, 0, 0
for (j = 0; j < 7; i++, j++) { // 255, 0, 0
rgbData[i] = 0xffff0000;
}
rgbData[i++] = 0xff870000; // 135, 0, 0
//创建数组第九行数据
for (j = 0; j < 2; i++, j++) { // 黑色、透明
rgbData[i] = 0x00000000;
}
rgbData[i++] = 0xffc30000; // 195, 0, 0
for (j = 0; j < 6; i++, j++) { // 255, 0, 0
rgbData[i] = 0xffff0000;
}
rgbData[i++] = 0x00000000; // 黑色、透明
//创建数组第十行数据
for (j = 0; j < 3; i++, j++) {
rgbData[i] = 0x00000000; // 黑色、透明
}
rgbData[i++] = 0xffff0000; // 255, 0, 0
rgbData[i++] = 0xffd30000; // 211, 0, 0
rgbData[i++] = 0xffff0000; // 255, 0, 0
rgbData[i++] = 0xffdb0000; // 219, 0, 0
rgbData[i++] = 0xff870000; // 135, 0, 0
rgbData[i++] = 0x00000000; // 黑色、透明
rgbData[i++] = 0x00000000; // 黑色、透明
//绘制图像
int ballX = 82, ballY = 62;
g.drawRGB(rgbData, 0, ballWidth, ballX, ballY, ballWidth, ballHeight, true);
//刷新缓存,输出图像
flushGraphics();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -