言語別の習作集

Java No.4




Window Application と Applet(swingコンポーネント使用)

いずれも動作にはJava実行環境(http://java.com/ja/)が必要。

ここはJavaのゲーム(アプリケーション)に使うテクニックを追求。


フルスクリーンへの模索

  • FullScreenTest
    GraphicsDeviceを取得しフルスクリーンを実現する試み。
    JFrameでは枠が残り、JWindowを使うべきと判断。

  • WindowTest
    JWindowの表示テスト。フルスクリーンも試行。
    このクラスには不可解な動作がある。

  • FullScreenTest2
    一つのApplicationでJFrameとJWindowを使い分ける試み。
    これで通常ウィンドウとフルスクリーンの切り替えが可能に。

  • DisplayModeTest
    GraphicsDeviceでDisplayModeを変更する試み。
    作者の環境ではJavaからの変更が許容されておらず、実行不能。

  • FullScreenTest3
    (J)Appletから(J)Windowをフルスクリーンで表示する試み。
    JAppletだけでなくAppletでもできた。悪用可能なテクニック。

  • FullScreenTest4(フルスクリーン完成)
    Javaによる通常ウィンドウとフルスクリーンの切り替えテクニック完成。
    一つのApplicationで枠付きJFrameと枠無しJFrameを使い分ける。

  • FullScreenTest5(機能追加)
    フルスクリーンでメニューやダイアログを使うための動作確認。
    JMenuBar、JDialog、JFileChooserはフルスクリーンでどう動くのか。


  • 新たなアニメーション処理方法

  • TimerAnimation
    ThreadではなくTimerを使ったアニメーション処理。
    簡易に処理を各オブジェクトに割り振れるので利用価値が大きい。


  • 文字列表示

  • FontMetricsTest
    FontMetricsから得られるフォントの詳細情報。

  • NovelAdventureTest
    一般のゲームのように、文字を順番に流す。右端では自動改行する。
    FontMetricsで文字の表示位置を調節するもの。


  • 高度な画像表現

  • GrayFilterTest
    画像をグレースケールに変換するFilter。

  • ScaleFilterTest
    画像の大きさを変える2個のFilterの比較。
    ReplicateScaleFilterとAreaAveragingScaleFilter。

  • AffineTransformTest
    元画像をアフィン変換して変形した新たな画像を作る。
    画像作成はやや時間がかかる。

  • AlphaCompositeTest
    AlphaCompositeで描画の透明度を変える。
    Graphics2Dに設定するので実用的な速さ

  • AffineTransformTest2
    画像をアフィン変換して変形表示する。
    描画時のみの変換なので実用的な速さ。

  • RotationTest
    アフィン変換を使えば画像の回転も当然できる。
    描画時のみの変換なので実用的な速さ。

  • AreaClipTest
    Areaでは、Shapeの組み合わせで複雑な形も表現できる。
    それを描画領域としてClipしてもいい。


  • システム周辺

  • ToolBarTest
    Javaのアプリケーションにツールバーを付ける。
    便利でわかりやすくなるだろう。

  • TabbedPaneTest
    設定画面などに使うタブ切り替え。
    タブにもいろんな表現がある。

  • TreeTest
    WindowsではTreeViewという、木構造の表示形式。
    汎用だがゲームの選択画面にも使えそう。

  • FileChooserTest
    Java付属のファイル選択ダイアログJFileChooserを使う。
    OS付属のダイアログが出るFileDialogより好ましい。

  • ……以上のテクニックで、古いアプレット作品を作り直した。

  • 想い出の眠る場所 --> サポートページ
    3次元迷路を舞台にした4次元パズル+ストーリー。
    フルスクリーンに対応したアプリケーション。


  • 合わせて、関連するテスト作品も手直しした。
    使えるテクニックが少なからずあると思う。

    1.シナリオ表示
    シナリオ部分、完全なネタバレにつき閲覧は控えめに

    2.3次元迷路の作成
    3次元迷路の自動作成

    3.3次元迷路内の表示
    3次元迷路を内部から見た表示、没になった案

    4.3次元迷路内の移動
    3次元迷路の作成と中の移動

    5.画面デザイン
    ゲーム画面のデザイン

    6.セーブとロード
    ゲームデータの出入力

    7.画面切り替え効果
    画面切り替えの際に使う表現効果

    8.2次元空間の探索
    「表層心理」部分

    9.3次元迷路のデザイン
    「深層心理」部分の最終デザイン


    戻る