本日の課題
showStartScreenメソッドは、スタート画面を表示するための手順を以下のように実行します:
1.JFrame を作成して設定します(サイズ、タイトル、閉じる操作、リサイズ不可)。
2.JPanel を作成し、手動でコンポーネントを配置するように設定します。
3。背景画像を表示する JLabel を作成してパネルに追加します。
4.「開始」ボタンを作成してパネルに追加します。
5.「続き」ボタンを作成してパネルに追加します。
6.パネルをフレームに追加し、フレームを表示します。
これにより、スタート画面が表示され、ユーザーが「開始」または「続き」を選択できるようになります。
アドベンチャーゲーム(画像表示機能付き)
1回目:構成を考えよう
2回目:メインメソッドの解説
3回目:ストーリーデータ、セーブデータの読み込みとセーブデータの書き込み
4回目:スタート画面を作ろう(テキストアドベンチャーと同じソースコードです)
5回目:ゲーム画面の表示部分を作成する
6回目:「story」配列からゲーム進行の情報を取り出し実行する。
完成品:説明が不要の方は、こちらからコードをコピーしてください。
ソースコード
// スタート画面の表示
private static void showStartScreen() {
JFrame frame = new JFrame(“Text Adventure Game”);
frame.setSize(WIDTH, HEIGHT);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
JPanel panel = new JPanel();
panel.setLayout(null);
// スタート画面の画像を表示
JLabel background = new JLabel(new ImageIcon(“images/start.jpg”));
background.setBounds(0, 0, WIDTH, HEIGHT);
panel.add(background);
// 「開始」ボタン
JButton startButton = new JButton(“開始”);
startButton.setBounds(300, 200, 100, 50);
startButton.addActionListener(e -> {
frame.dispose();
showGameScreen(0);
});
panel.add(startButton);
// 「続き」ボタン
JButton continueButton = new JButton(“続き”);
continueButton.setBounds(300, 300, 100, 50);
continueButton.addActionListener(e -> {
frame.dispose();
showGameScreen(saveIndex);
});
panel.add(continueButton);
frame.add(panel);
frame.setVisible(true);
}
結果
「何で画像がシャアザクやねん」というツッコミは無しということでw
解説
1. メソッドの宣言
// スタート画面の表示
private static void showStartScreen() {
このメソッドは、スタート画面を表示するために使用されます。
2. フレームの作成
JFrame frame = new JFrame(“Text Adventure Game”);
frame.setSize(WIDTH, HEIGHT);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
JFrame:ウィンドウを作成するためのクラス。
new JFrame(“Text Adventure Game”):タイトルが “Text Adventure Game” の新しいウィンドウを作成します。
frame.setSize(WIDTH, HEIGHT):ウィンドウのサイズを設定します。ここでは幅が WIDTH (640ピクセル)、高さが HEIGHT (480ピクセル) に設定されています。
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE):ウィンドウが閉じられたときにプログラムが終了するように設定します。
frame.setResizable(false):ウィンドウのサイズを変更できないように設定します。
3. パネルの作成
JPanel panel = new JPanel();
panel.setLayout(null);
JPanel:ウィンドウ内にコンポーネント(ボタンやラベルなど)を配置するためのパネルを作成します。
panel.setLayout(null):レイアウトマネージャを無効にして、手動でコンポーネントを配置できるようにします。
4. スタート画面の画像を表示
JLabel background = new JLabel(new ImageIcon(“images/start.jpg”));
background.setBounds(0, 0, WIDTH, HEIGHT);
panel.add(background);
JLabel:画像やテキストを表示するためのラベルを作成します。
new ImageIcon(“images/start.jpg”):画像ファイル “images/start.jpg” をアイコンとして読み込みます。
background.setBounds(0, 0, WIDTH, HEIGHT):画像の位置とサイズを設定します。ここではウィンドウ全体に表示されるように (0, 0) の位置に設定しています。
panel.add(background):パネルに背景画像を追加します。
5. 「開始」ボタンの作成
JButton startButton = new JButton(“開始”);
startButton.setBounds(300, 200, 100, 50);
startButton.addActionListener(e -> {
frame.dispose();
showGameScreen(0);
});
panel.add(startButton);
JButton:ボタンを作成します。ここでは “開始” と表示されるボタンを作成します。
startButton.setBounds(300, 200, 100, 50):ボタンの位置とサイズを設定します。ここでは (300, 200) の位置に幅100ピクセル、高さ50ピクセルで配置します。
startButton.addActionListener(e -> { … }):ボタンがクリックされたときに実行されるアクションを設定します。
frame.dispose():現在のウィンドウを閉じます。
showGameScreen(0):ゲーム画面を表示するメソッド showGameScreen を呼び出し、0からゲームを開始します。
panel.add(startButton):パネルに開始ボタンを追加します。
6. 「続き」ボタンの作成
JButton continueButton = new JButton(“続き”);
continueButton.setBounds(300, 300, 100, 50);
continueButton.addActionListener(e -> {
frame.dispose();
showGameScreen(saveIndex);
});
panel.add(continueButton);
JButton:ボタンを作成します。ここでは “続き” と表示されるボタンを作成します。
continueButton.setBounds(300, 300, 100, 50):ボタンの位置とサイズを設定します。ここでは (300, 300) の位置に幅100ピクセル、高さ50ピクセルで配置します。
continueButton.addActionListener(e -> { … }):ボタンがクリックされたときに実行されるアクションを設定します。
frame.dispose():現在のウィンドウを閉じます。
showGameScreen(saveIndex):ゲーム画面を表示するメソッド showGameScreen を呼び出し、セーブデータの位置からゲームを再開します。
panel.add(continueButton):パネルに続きボタンを追加します。
7. パネルをフレームに追加し、フレームを表示
frame.add(panel);
frame.setVisible(true);
frame.add(panel):パネルをフレームに追加します。
frame.setVisible(true):フレームを表示します。
<目次に戻る>
スポンサーリンク
コメント