import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
class game0611 extends Frame{
PixelGrabber pg;
Color col;
Image img;
int w=500;
int h=500;
int size;
int red,green,blue;
int pix[]=new int[w*h];
int memor[][]=new int[h][w];
int memog[][]=new int[h][w];
int memob[][]=new int[h][w];
int mx,nx,m,n;
int m1,n1,m2,n2;
int sx,sy;
String s1,s2,s3,s4;
Button bu1,bu2,bu3,bu4,bu5,bu6;
game0611(){
s1="5099.png";
catchimg(s1);
sx=100;
sy=100;
size=2;
setLayout(new FlowLayout());
Button bu1 = new Button("big");
bu1.addActionListener(new beck());
add(bu1);
bu1.setActionCommand("c1");
Button bu2 = new Button("little");
bu2.addActionListener(new beck());
add(bu2);
bu2.setActionCommand("c2");
Button bu3 = new Button("->");
bu3.addActionListener(new beck());
add(bu3);
bu3.setActionCommand("c3");
Button bu4 = new Button("<-");
bu4.addActionListener(new beck());
add(bu4);
bu4.setActionCommand("c4");
Button bu5 = new Button("down");
bu5.addActionListener(new beck());
add(bu5);
bu5.setActionCommand("c5");
Button bu6 = new Button("up");
bu6.addActionListener(new beck());
add(bu6);
bu6.setActionCommand("c6");
}
public static void main(String[] args) {
game0611 f = new game0611();
f.setSize(700,700);
f.setBackground(Color.blue) ;
f.setVisible(true);
f.addWindowListener(new WindowAdapter(){public void
windowClosing(WindowEvent e){System.exit(0);}});
}
public void paint( Graphics g ) {
g.setColor(Color.blue);
g.fillRect(0,0,700,700);
mx=1;
nx=1;
for (m=0;m<500;m++){
for (n=0;n<500;n++){
mx=sy+(int)(m/size);
nx=sx+(int)(n/size);
if (mx<0)mx=0;
if (mx>499)mx=499;
if (nx<0)nx=0;
if (nx>499)nx=499;
g.setColor(new Color(memor[mx][nx],memog[mx][nx],memob[mx][nx]));
g.fillRect(n,m,1,1);
}
}
}
void catchimg(String s){
img = createImage(w,h);
img = Toolkit.getDefaultToolkit().getImage(s);
pg = new PixelGrabber(img,0,0,w,h,pix,0,w);
try{pg.grabPixels();}catch(InterruptedException ie){}
m=0;
n=0;
for(int i=0;i<w*h;i++){
int p = pix[i];
col=new Color(pix[i]);
red=col.getRed();
green=col.getGreen();
blue=col.getBlue();
memor[m][n]=red;
memog[m][n]=green;
memob[m][n]=blue;
n=n+1;
if (n==w)m=m+1;
if (n==w)n=0;
}
}
class beck implements ActionListener {
public void actionPerformed(ActionEvent e) {
if ("c1".equals(e.getActionCommand()))size=size+1;
if ("c2".equals(e.getActionCommand()))size=size-1;
if ("c3".equals(e.getActionCommand()))sx=sx+100;
if ("c4".equals(e.getActionCommand()))sx=sx-100;
if ("c5".equals(e.getActionCommand()))sy=sy-100;
if ("c6".equals(e.getActionCommand()))sy=sy+100;
if(sx<0)sx=0;
if(sy<0)sy=0;
if(sx>500)sx=500;
if(sy>500)sy=500;
if(size<1)size=1;
repaint();
System.out.println(sx);
System.out.println(sy);
System.out.println(size);
}
}
}
最終更新:2011年02月25日 10:23