/********************************/ /* */ /*  半透明のイメージ */ /* */ /* 1998/ 7/18 宍戸 輝光 */ /* */ /********************************/ import java.awt.*; import java.awt.image.*; import java.util.Random; public class image2 extends java.applet.Applet { Image img,bk; Graphics gr; int dot[]=new int[64*64]; int x=96,y=96; public void start(){ makeImage(); // イメージ作成 repaint(); // 描画 } public void makeImage() { int i,j; bk=createImage(256,256); // 背景イメージ作成 gr=bk.getGraphics(); for (i=0;i<256;i++) { gr.setColor(new Color(0,i,0)); gr.drawLine(0,i,255,i); } gr.setColor(Color.red); gr.drawRect(64,64,128,128); gr.drawLine(64,64,192,192); gr.drawLine(64,128,192,128); for (i=0;i<64;i++) // 半透明イメージ作成 for (j=0;j<64;j++) dot[j+i*64]=0x800000ff; for (i=16;i<48;i++) for (j=16;j<48;j++) dot[j+i*64]=0xa00000ff; img=createImage(new MemoryImageSource(64,64,dot,0,64)); } public boolean keyDown(Event evt,int key) { // カーソルキーで移動 switch (key) { // 押されたキーを調べる case Event.UP: // 上 y=y-2; if (y<0) y=0; break; case Event.RIGHT: // 右 x=x+2; if (x>191) x=191; break; case Event.DOWN: // 下 y=y+2; if (y>191) y=191; break; case Event.LEFT: // 左 x=x-2; if (x<0) x=0; break; } repaint(); return true; } public void paint(Graphics g){ g.drawImage(bk,8,8,this); // 背景イメージ描画 g.drawImage(img,x+8,y+8,this); // 半透明イメージ描画 } public void update(Graphics g){ paint(g); } }