画像をキー入力したら上下左右に移動するようにしたいのですがどうしたらいいのでしょうか?
自作シューティングゲームで使うつもりのプログラムです
java
1 2 3import javax.swing.JFrame; 4import javax.swing.JPanel; 5import javax.swing.JButton; 6import javax.swing.JLabel; 7import javax.swing.ImageIcon; 8 9import java.awt.BorderLayout; 10 11public class MyGame extends JFrame{ 12 13 int zikiX[] = {750}; 14 int zikiY[] = {225}; 15 16 public static void main(String[] args){ 17 18 MyGame frame = new MyGame();//ウィンドウを内部的に作成 19 frame.setSize(900, 550);//ウィンドウサイズ設定 20 frame.setTitle("シューティングゲーム"); 21 frame.setLocationRelativeTo(null);//ウィンドウの位置を中央に設定 22 23 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 24 //ウィンドウを×で閉じるようにする設定 25 26 frame.setVisible(true);//ウィンドウを可視化 27 28 } 29 30 MyGame(){ 31 32 JPanel panel = new JPanel();//panel設定 33 panel.setLayout(null);//レイアウトマネージャー無効化 34 35 JButton button = new JButton("button");//button設定 36 button.setBounds(10, 10, 100, 50);//画像の位置とサイズ設定 37 38 ImageIcon icon1 = new ImageIcon 39 ("C:\Users\miyab\Desktop\シューティングゲーム\自機.png");//画像ファイル指定 40 JLabel ziki = new JLabel(icon1);//JLabelに画像ファイル設定 41 ziki.setBounds(zikiX[0], zikiY[0], 80, 40);//zikiのサイズと座標設定 42 43 panel.add(ziki);//自機画像をpanelに追加 44 45 getContentPane().add(panel, BorderLayout.CENTER);//??? 46 47 enableEvents(java.awt.AWTEvent.KEY_EVENT_MASK); 48 49 } 50 51 protected void processKeyEvent(java.awt.event.KeyEvent e){ 52 53 if(e.getID() == java.awt.event.KeyEvent.KEY_PRESSED){ 54 System.out.println("キー" +e.getKeyCode()+ "が押されました"); 55 56 if(e.getKeyCode() == java.awt.event.KeyEvent.VK_LEFT){ 57 58 zikiX[0] = zikiX[0]+10; 59 System.out.println(zikiX[0]); 60 61 } 62 63 } 64 65 } 66 67} 68 69
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/09/30 09:06