簡単なシューティングゲームを作ろうと考えています。
コード public class MainPanel extends JPanel implements Runnable{ int PanelW = 1000; //Panelの幅 int PanelH = 800; //Panelの高さ /** * コンストラクタ */ public MainPanel(){ setLayout(null); setBounds(0, 0, PanelW, PanelH); //パネル位置・サイズ設定 } /** * キー入力処理 */ @Override public void processKeyEvent(KeyEvent ke){ } /** * 描画処理 */ @Override protected void paintComponent(Graphics g){ super.paintComponent(g); requestFocusInWindow(); } }
上のような骨組みで考えています。
ここから実機や弾、敵を描いていきたいのですが、
JPanelを継承した実機のクラス、弾のクラス、敵クラスを作って重ね合わせる方法で考えてみたのですが、この方法と
プログラムにあるMainPanelクラスに実機、弾、敵全て描くのとでは
どちらのやり方のほうがいいとかあるのでしょうか?
それか他にこの方法のがいいよっていうのがあれば教えていただきたいです。
処理が重たくならないようにするにはどういうやり方をすればいいのか教えていただきたくて質問しました。
よろしくお願いします。
コード //実機のクラス、弾のクラス、敵クラスを作って重ね合わせる方法 public MainPanel(int PanelW, int PanelH){ this.PanelW = PanelW; this.PanelH = PanelH; setLayout(null); setBounds(0, 0, PanelW, PanelH); //パネル位置・サイズ設定 /*各Panel生成*/ PlayerPanel playerPanel = new PlayerPanel(PanelW, PanelH); //PlayerPanel生成 GunPanel gunPanel = new GunPanel(PanelW, PanelH); //GunPanel生成 EnemyPanel enemyPanel = new EnemyPanel(PanelW, PanelH); //EnemyPanel生成 /*各PanelをMainPanelに追加*/ add(enemyPanel); add(gunPanel); add(playerPanel); }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/09/28 00:15