表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
1/5

gui.framework.window

プログラミング言語は「Java」です。

主人公は「M.A.E.D.A. (Martian Assistant for Earthling Development & Advancement)」です。

実際に実行できるソースコードになります。


この作品は1969年の月のとある観測所が舞台になります。

第一話が1969年6月16日 午前3時28分

第二話が1969年7月15日 午前2時48分 ← 本作

の出来事になります。

------------------------------「GameFrame.java」-----------------------------------

package gui.framework.window;

import javax.swing.JFrame;

import gui.framework.scene.SceneController;


/**

* 画面表示の枠にゲームを描画するパネルを配置する

*

* @author M.A.E.D.A.

* @version 1.0.3

*/

public class GameFrame extends JFrame {

private final GamePanel gamePanel;


public GameFrame(SceneController sceneController) {

setTitle("Game");


// ウィンドウのバツ印でプログラムを終了する

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


// ゲームパネルを設置

gamePanel = new GamePanel(sceneController);

add(gamePanel);

pack();


// 画面を中央に表示する

setLocationRelativeTo(null);

setVisible(true);

}


/**

* キャンバス(画面)に再描画する

*/

public void repaintCanvas() {

gamePanel.repaint();

}


/**

* ログメッセージをコンソールに表示する

* @param logMessage 表示するメッセージ

*/

public static void log(String logMessage) {

System.out.println(logMessage);

}


}


------------------------------「GamePanel.java」-----------------------------------

package gui.framework.window;

import java.awt.*;

import javax.swing.*;

import gui.framework.scene.SceneController;


/**

* 画面の背景を設定する

*

* @author M.A.E.D.A.

* @version 1.0.3

*/

public class GamePanel extends JPanel {

private final SceneController sceneController;


public GamePanel (SceneController sceneController) {

this.sceneController = sceneController;

setPreferredSize(new Dimension(WindowParamServer.getWindowWidth(), WindowParamServer.getWindowHeight())); //パネルのサイズを設定

setBackground(Color.BLACK); // パネルの背景色を設定

setFocusable(true);

}


/**

* ゲームを描画する

* @param g 描画する内容を管理

*/

@Override

protected void paintComponent(Graphics g) {

super.paintComponent(g);

sceneController.render(g);

}


}


------------------------------「WindowParamServer.java」-----------------------------------

package gui.framework.window;


/**

* ウィンドウのパラメータを提供する

*

* @author M.A.E.D.A.

* @version 1.0.3

*/

public class WindowParamServer {

private static final int GAME_WINDOW_WIDTH = 500;

private static final int GAME_WINDOW_HEIGHT = 500;

private static final int FPS = 60;


public static int getWindowWidth() {

return GAME_WINDOW_WIDTH;

}


public static int getWindowHeight() {

return GAME_WINDOW_HEIGHT;

}


public static int getSleepMilliSec() {

return 1000 / FPS;

}

}

評価をするにはログインしてください。
この作品をシェア
Twitter LINEで送る
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

この作品はリンクフリーです。ご自由にリンク(紹介)してください。
この作品はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。

↑ページトップへ