import java.applet.Applet; import java.awt.*; public class kitty extends Applet { Image kitty, kittyeye; MediaTracker mt; boolean eyedrag; int eyemax, eyepointer, eyedragno; Dimension eyedim; Rectangle[] eye; public void init() { mt = new MediaTracker(this); kitty = getImage(getDocumentBase(), "kitty.gif"); mt.addImage(kitty, 0); kittyeye = getImage(getDocumentBase(), "kittyeye_.gif"); mt.addImage(kittyeye, 0); try{ mt.waitForAll(); } catch(InterruptedException e) { return; } // め eyedrag = false; eyemax = 10; eyedim = new Dimension(kittyeye.getWidth(this), kittyeye.getHeight(this)); eye = new Rectangle[eyemax]; eye[0] = new Rectangle(145, 169, eyedim.width, eyedim.height); eye[1] = new Rectangle(231, 167, eyedim.width, eyedim.height); eyepointer = 2; } public void update(Graphics g) { paint(g); } public void paint(Graphics g) { if(!mt.checkID(0)) { g.setColor(Color.black); g.drawString("now loading", 50, 50); return; } g.drawImage(kitty, 0, 0, this); for(int i = 0; i < eyepointer ; i++) { g.drawImage(kittyeye, eye[i].x, eye[i].y, this); } } public boolean mouseDown(Event ev, int x, int y) { for(int i = 0 ; i < eyepointer ; i++) { if(eye[i].inside(x, y)) { eyedrag = true; eyedragno = i; } } if(eyedrag) { return true; } else { // めを追加 if(eyepointer < eyemax) { eye[eyepointer] = new Rectangle(x, y, eyedim.width, eyedim.height); repaint(); eyedrag = true; eyedragno = eyepointer; eyepointer++; } return true; } } public boolean mouseDrag(Event ev, int x, int y) { if(eyedrag) { eye[eyedragno].x = x; eye[eyedragno].y = y; repaint(); } return true; } public boolean mouseUp(Event ev, int x, int y) { eyedrag = false; return true; } }