以下のようなコードを書いたのですが
初期描画はうまくいったのですが
そのあとの下に落ちる処理ができません
どのようにしたらいいのでしょうか?
java
1import java.applet.Applet; 2 3import java.awt.Graphics; 4import java.awt.Image; 5import java.awt.Dimension; 6import java.awt.event.KeyListener; 7import java.awt.event.KeyEvent; 8 9import java.net.URL; 10 11public class action extends Applet implements Runnable, KeyListener{ 12 13 Thread thread = null; 14 15 Image MapChip1; 16 Image CharaChip1; 17 18 int MapChip1X; 19 int MapChip1Y; 20 21 int CharaChip1X; 22 int CharaChip1Y; 23 24 Dimension size; 25 Image back; 26 Graphics buffer; 27 28 public void init(){ 29 30 thread = new Thread(this); 31 thread.start(); 32 33 URL urlCode = getCodeBase(); 34 URL urlDoc = getDocumentBase(); 35 36 MapChip1 = getImage(getCodeBase(), "../アクションゲーム/MapChip1.png"); 37 CharaChip1 = getImage(getCodeBase(), "../アクションゲーム/CharaChip1.png"); 38 39 size = getSize(); 40 back = createImage(size.width, size.height); 41 42 buffer = back.getGraphics(); 43 44 addKeyListener(this); 45 46 } 47 48 public void paint(Graphics g){ 49 50 MapChip1X = 20; 51 MapChip1Y = 480; 52 53 CharaChip1X = 10; 54 CharaChip1Y = 20; 55 56 buffer.drawImage(MapChip1, MapChip1X - 20, MapChip1Y, this); 57 buffer.drawImage(MapChip1, MapChip1X * 1, MapChip1Y, this); 58 buffer.drawImage(MapChip1, MapChip1X * 2, MapChip1Y, this); 59 buffer.drawImage(MapChip1, MapChip1X * 3, MapChip1Y, this); 60 buffer.drawImage(MapChip1, MapChip1X * 4, MapChip1Y, this); 61 buffer.drawImage(MapChip1, MapChip1X * 5, MapChip1Y, this); 62 buffer.drawImage(MapChip1, MapChip1X * 6, MapChip1Y, this); 63 buffer.drawImage(MapChip1, MapChip1X * 7, MapChip1Y, this); 64 buffer.drawImage(MapChip1, MapChip1X * 8, MapChip1Y, this); 65 buffer.drawImage(MapChip1, MapChip1X * 9, MapChip1Y, this); 66 buffer.drawImage(MapChip1, MapChip1X * 10, MapChip1Y, this); 67 buffer.drawImage(MapChip1, MapChip1X * 11, MapChip1Y, this); 68 buffer.drawImage(MapChip1, MapChip1X * 12, MapChip1Y, this); 69 buffer.drawImage(MapChip1, MapChip1X * 13, MapChip1Y, this); 70 buffer.drawImage(MapChip1, MapChip1X * 14, MapChip1Y, this); 71 buffer.drawImage(MapChip1, MapChip1X * 15, MapChip1Y, this); 72 buffer.drawImage(MapChip1, MapChip1X * 16, MapChip1Y, this); 73 buffer.drawImage(MapChip1, MapChip1X * 17, MapChip1Y, this); 74 buffer.drawImage(MapChip1, MapChip1X * 18, MapChip1Y, this); 75 buffer.drawImage(MapChip1, MapChip1X * 19, MapChip1Y, this); 76 buffer.drawImage(MapChip1, MapChip1X * 20, MapChip1Y, this); 77 buffer.drawImage(MapChip1, MapChip1X * 21, MapChip1Y, this); 78 buffer.drawImage(MapChip1, MapChip1X * 22, MapChip1Y, this); 79 buffer.drawImage(MapChip1, MapChip1X * 23, MapChip1Y, this); 80 buffer.drawImage(MapChip1, MapChip1X * 24, MapChip1Y, this); 81 buffer.drawImage(MapChip1, MapChip1X * 25, MapChip1Y, this); 82 buffer.drawImage(MapChip1, MapChip1X * 26, MapChip1Y, this); 83 buffer.drawImage(MapChip1, MapChip1X * 27, MapChip1Y, this); 84 buffer.drawImage(MapChip1, MapChip1X * 28, MapChip1Y, this); 85 buffer.drawImage(MapChip1, MapChip1X * 29, MapChip1Y, this); 86 buffer.drawImage(MapChip1, MapChip1X * 30, MapChip1Y, this); 87 buffer.drawImage(MapChip1, MapChip1X * 31, MapChip1Y, this); 88 buffer.drawImage(MapChip1, MapChip1X * 32, MapChip1Y, this); 89 buffer.drawImage(MapChip1, MapChip1X * 33, MapChip1Y, this); 90 buffer.drawImage(MapChip1, MapChip1X * 34, MapChip1Y, this); 91 buffer.drawImage(MapChip1, MapChip1X * 35, MapChip1Y, this); 92 buffer.drawImage(MapChip1, MapChip1X * 36, MapChip1Y, this); 93 buffer.drawImage(MapChip1, MapChip1X * 37, MapChip1Y, this); 94 buffer.drawImage(MapChip1, MapChip1X * 38, MapChip1Y, this); 95 buffer.drawImage(MapChip1, MapChip1X * 39, MapChip1Y, this); 96 97 buffer.drawImage(CharaChip1, CharaChip1X, CharaChip1Y, this); 98 99 g.drawImage(back, 0, 0, this); 100 101 requestFocusInWindow(); 102 103 } 104 105 public void run(){ 106 107 while(true){ 108 109 if(CharaChip1Y <= MapChip1Y){ 110 111 CharaChip1Y += 1; 112 repaint(); 113 114 } 115 116 if(CharaChip1Y <= MapChip1Y && CharaChip1X >= 0 && 117 CharaChip1X <= MapChip1X * 39){ 118 119 CharaChip1Y = MapChip1Y; 120 repaint(); 121 122 } 123 124 } 125 126 } 127 128 public void keyPressed(KeyEvent e){ 129 130 int Keycode = e.getKeyCode(); 131 if(Keycode == KeyEvent.VK_UP){ 132 CharaChip1Y -= 40; 133 CharaChip1Y += 40; 134 repaint(); 135 } 136 137 } 138 139 public void keyReleased(KeyEvent e){ 140 141 } 142 143 public void keyTyped(KeyEvent e){ 144 145 } 146 147}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/25 00:59
2017/10/25 01:03
2017/10/25 01:08