漸Javaのコンストラクタクラスを分配できたんですけど、次の問題がそしたら発生してしまって、
それが
キー入力データを代入した変数を本元のクラスに移動したいんですけど、やり方が全く分からなくて困っています。
どうかどなたか教えて下さい!!。
後宜しければ更にKeyListenerのキーインベント処理も上手く可動しないのでそちらも教えて頂ければ嬉しいです。
メインクラス
Java
1//import 2import java.awt.*; 3import javax.swing.*; 4import java.applet.Applet; 5import java.awt.event.KeyEvent; 6import java.awt.event.KeyListener; 7 8 9class Mine extends JFrame{ 10 11//メンバ変数 12static boolean Speace_key=false; 13 14static boolean UP_key=false; 15static boolean DOWN_key=false; 16static boolean LEFT_key=false; 17static boolean RIGHT_key=false; 18 19 //メイン関数。 20 public static void main(String args[]){ 21 22 MyFrame.EditFrame(); 23 MyFrame.key_inport(); 24 25 //変数宣言 26int x=0; int y=0; 27 28int HP=3; int score=0; 29int Lv=1; int xp=0; 30 31int tm_x=0; int tm_y=0; 32 33int tx=0; int ty=0; 34 35while(true){ 36if (Speace_key==false){System.out.println("キーが押されてないぜ?");} 37if (Speace_key==true){System.out.println("キーが押されたぜ!");} 38} 39 40 41 42 43 } 44 45 46 47}
コンストラクタクラス
Java
1//import 2import java.awt.*; 3import javax.swing.*; 4import java.applet.Applet; 5import java.awt.event.KeyEvent; 6import java.awt.event.KeyListener; 7 8 9public class MyFrame { 10 11 static boolean Speace_key = false; 12 13public static void EditFrame() { 14 15Mine Mine = new Mine(); 16 17JFrame jf = new JFrame("Shoting game"); 18 19jf.setResizable(false); 20jf.setVisible(true); 21 22//ウィンドウを表示 23jf.setSize(800, 700); 24jf.setLocationRelativeTo(null); 25jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 26//ここから先が表示プログラム 27jf.setLayout(new FlowLayout()); 28 29 30 31 //文字描画システム初期化 32 JLabel Text = new JLabel("Starting game if please space key"); 33 Text.setPreferredSize(new Dimension(350, 310)); 34 Text.setFont(new Font(null,0,25)); 35 36 //JFrameにオブジェクトを追加 37 jf.add(Text); 38} 39 public static void key_inport() { 40 KeyListener code = new KeyListener() { 41 42 43 @Override 44 public void keyTyped(KeyEvent e) { 45 throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. 46 } 47 48 @Override 49 public void keyPressed(KeyEvent e) { 50 throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. 51 52 if (KeyEvent==KeyEvent.VK_SPACE){ 53 Speace_key=true; 54 } 55 } 56 57 @Override 58 public void keyReleased(KeyEvent e) { 59 throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. 60 61 if (KeyEvent==KeyEvent.VK_SPACE){ 62 Speace_key=false; 63 } 64 65 66 } 67 }; 68 } 69 70}
どうかご回答宜しくお願いします。
ちなみにJavaSE JDKとも最新バージョンです。
使用クラスはswingです。(本当はAppletを使用したかったんですけどね、上手くエラーを修正して導入出来なかったんですよね・・。)
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/10/31 09:54 編集