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

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

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

エラーが発生しました。

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

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

gui.framework.scene

------------------------------「GameScene.java」-----------------------------------

package gui.framework.scene;


import java.awt.Graphics;


/**

* ゲームの各シーンのインターフェース

*

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

* @version 1.0.3

*/

public interface GameScene {


/**

* シーンの状態を更新する

*/

void update();


/**

* シーンの内容を描画する

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

*/

void render(Graphics g);


/**

* @return シーンの終了フラグ

*/

boolean isFinished();


/**

* @return 次のシーン

*/

GameScene getNextScene();


}


------------------------------「AbstractGameScene.java」-----------------------------------

package gui.framework.scene;


import java.awt.Graphics;


/**

* ゲームの各シーンの抽象クラス。シーンごとに必要な処理を実装する

*

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

* @version 1.0.3

*/

public abstract class AbstractGameScene implements GameScene {


/**

* シーンの状態を更新する

*/

@Override

public void update() {}


/**

* シーンの内容を描画する

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

*/

@Override

public void render(Graphics g) {}


/**

* @return シーンの終了フラグ

*/

@Override

public boolean isFinished() {

return true;

}


/**

* @return 次のシーン

*/

@Override

public GameScene getNextScene() {

return null;

}

}


------------------------------「SceneController.java」-----------------------------------

package gui.framework.scene;


import java.awt.Graphics;

import gui.framework.window.GameFrame;


/**

* 各シーンの表示をコントロールする

*

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

* @version 1.0.3

*/

public class SceneController {

private GameScene currentScene;


public SceneController(GameScene gameScene) {

this.currentScene = gameScene;

}


/**

* ゲームの状態を更新する

* シーンの終了フラグがtrueのときは、次のシーンに更新する

*/

public void update() {

GameFrame.log("ゲームの状態を更新する");

currentScene.update();

if (currentScene.isFinished()) {

GameScene nextScene = currentScene.getNextScene();

if (nextScene != null) {

currentScene = nextScene;

}

}

}


/**

* ゲームの状態を描画する

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

*/

public void render(Graphics g) {

GameFrame.log("ゲームの状態を描画する");

currentScene.render(g);

}

}

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

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

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

↑ページトップへ