堕天使の煉獄

Gallery
Comic
Story
Production
Work
Link
今日もにこにこPG

DXライブラリのラッパークラスでのGUI機能なんかを
ちまちまと。

ある程度の設計の見通しは立っていた物の
やっぱ実際に組み始めると、いろいろと問題が。

ゲーム内で利用するウィンドウ、たとえば

メッセージボックス
会話表示ウィンドウ
ステータス表示
ショップなどの買い物メニュー

etc

ゲームのジャンルにもよるのですが、いろいろとある。

そのウィンドウの設計について、ちと悩む。

ゲーム内で、これらのウィンドウって
だいたい同じスタイル(見た目)のものを使うのが普通ですよね。

たとえば、SFC時代のFFとかだと、デフォでは青の背景に白枠。
FF8とかだと、灰色に周囲は影付き、見たいな。

んでもそれって基本的にリソースが限られている時代のもので
だいたいこういうウィンドウは

四隅の角の画像(実際は1つで、回転したりして使い回す。)
縦と横の枠画像。(最小単位(たとえば8pxとか)を並べて枠線を表示する)
単色か、大きめの画像、もしくはラップラウンドな背景画像

だいたいこんな感じの画像を用意して
なるべく少ない画像リソースで
可変サイズのウィンドウなんかは作られてたりする。

んでも、ゲームの場合、ゲームのジャンルとかにもよるのだけど
どこでどの位置にどんなサイズでウィンドウが表示されているか
だいたい固定だったりする。

そんでもって、PCゲームの場合は
可変サイズでもないなら、ウィンドウを一枚の画像で用意しちゃった方が
手っ取り早かったりする。
それほどテクスチャ用のビデオメモリ容量とか気にする必要も無いわけだし。
(初代PSなんかはビデオは2Mbしか無かったりする)
可変サイズウィンドウ用と、サイズ固定用の二種類用意する感じで。


当初は、ウィンドウスタイルを定義するクラスを用意して
スタイルオブジェクトを生成し、そこで画像なんかのリソースもそこで持つ。
スタイルオブジェクトはstaticなスタイル管理クラス内にIDとセットでリストにもつ。

んで、ウィンドウクラスなどからスタイルIDを指定して参照する。

みたいなのを考えてたのですが

ウィンドウ以外、たとえばボタンクラスなんかも
このスタイル指定方式を利用し、
またスタイル内での画像リソースの選択方法も
外部スクリプト(スタイルシートっぽいの)を読みこんで~
スタイルファイルを切り替えれば別のスタイルのGUIに簡単に切り替えられるとか
スタイルオブジェクトを複数リストでもって
IDで切り替えることで、複数のスタイルのGUIをいくつも表示出来る~
とかまで考えていた物の……。

別にGUIアプリケーションを作るわけでもないのだし。

さらには、ゲームのGUIって
複数のスタイルを使うことも稀なんじゃないかなー。

と思ったところで、無駄が多すぎるかな-と言う気もしてきてたりで。

汎用性を求めたところで
あとでコードのメンテが面倒になるだけだったり
汎用性は実行速度と引き替えっていう部分もあったりするので。
(継承のコストや条件分岐命令が必然的に増えるので)

もっとシンプルな設計にするべきかなぁ。

スタイルはゲーム全体で一種類の統一したものオンリー。
スタイルクラスには、すべてのGUIオブジェクトで利用する
リソース全部を持つ
(ウィンドウ背景画像とかボタン用画像とか、スクロールバーの画像とか)

てのほうがシンプルだよなぁ。
とか。


スタイルをあらかじめ(ゲームループに入る前)先に生成しておき
各種GUIオブジェクトは生成時にスタイルIDを指定する感じ。
(実際はスタイルオブジェクトはスマポにはいってるので
そのコピーを受け渡す感じになる)

単発スタイルの場合はGUIオブジェクトのコンストラクタに
スタイルオブジェクトを直接ぶち込む。
(その単発スタイルの寿命はGUIオブジェクトと同じになる)

みたいな感じのがベターかな。
スタイルの切り替え機能とかあんま使わないとは思うけど。
(たとえばFFとかウィンドウの背景色などコンフィグで変えれるけど
利用している人は全体の何割ぐらいだろうか……)


んでも頭のなかでぼんやり考えてたのを
こうやって文字に書くと、いろいろと整理出来るものですね。

だんだん見えてきた気がするぽ。
Sun
Mon
Tue
Wed
Thu
Fri
Sat
01
02
03
ちゃんと作ろうと思うと……
04
05
06
07
でんぐりがえり
08
09
10
やっぱいいなぁ
11
12
シンプルイズベストなんだよな
13
昨日の続き
14
15
16
いろいろ失敗
17
18
19
20
21
22
23
24
25
26
27
28
29
30
ぐにょぐにょ
31
total:2076232 t:140 y:119
■記事タイトル■

■年度別リスト■
2024年 2024年12月(0)
2024年11月(0)
2024年10月(1)
2024年09月(2)
2024年08月(1)
2024年07月(1)
2024年06月(5)
2024年05月(2)
2024年04月(1)
2024年03月(6)
2024年02月(4)
2024年01月(3)
2023年 2023年12月(3)
2023年11月(1)
2023年10月(2)
2023年09月(3)
2023年08月(3)
2023年07月(3)
2023年06月(7)
2023年05月(8)
2023年04月(2)
2023年03月(1)
2023年02月(2)
2023年01月(3)
2022年 2022年12月(4)
2022年11月(3)
2022年10月(1)
2022年09月(3)
2022年08月(3)
2022年07月(2)
2022年06月(1)
2022年05月(3)
2022年04月(2)
2022年03月(2)
2022年02月(1)
2022年01月(6)
2021年 2021年12月(8)
2021年11月(3)
2021年10月(4)
2021年09月(6)
2021年08月(2)
2021年07月(1)
2021年06月(3)
2021年05月(2)
2021年04月(2)
2021年03月(3)
2021年02月(1)
2021年01月(4)
2020年 2020年12月(3)
2020年11月(7)
2020年10月(2)
2020年09月(3)
2020年08月(1)
2020年07月(3)
2020年06月(7)
2020年05月(5)
2020年04月(8)
2020年03月(4)
2020年02月(2)
2020年01月(4)
2019年 2019年12月(1)
2019年11月(1)
2019年10月(2)
2019年09月(1)
2019年08月(3)
2019年07月(2)
2019年06月(2)
2019年05月(2)
2019年04月(4)
2019年03月(1)
2019年02月(7)
2019年01月(1)
2018年 2018年12月(1)
2018年11月(1)
2018年10月(5)
2018年09月(1)
2018年08月(5)
2018年07月(1)
2018年06月(1)
2018年05月(1)
2018年04月(2)
2018年03月(2)
2018年02月(1)
2018年01月(1)
2017年 2017年12月(2)
2017年11月(1)
2017年10月(2)
2017年09月(5)
2017年08月(8)
2017年07月(2)
2017年06月(1)
2017年05月(1)
2017年04月(3)
2017年03月(5)
2017年02月(7)
2017年01月(8)
2016年 2016年12月(7)
2016年11月(2)
2016年10月(3)
2016年09月(7)
2016年08月(8)
2016年07月(10)
2016年06月(17)
2016年05月(6)
2016年04月(8)
2016年03月(10)
2016年02月(5)
2016年01月(10)
2015年 2015年12月(7)
2015年11月(7)
2015年10月(13)
2015年09月(7)
2015年08月(7)
2015年07月(5)
2015年06月(4)
2015年05月(5)
2015年04月(2)
2015年03月(4)
2015年02月(1)
2015年01月(7)
2014年 2014年12月(12)
2014年11月(8)
2014年10月(4)
2014年09月(6)
2014年08月(7)
2014年07月(4)
2014年06月(2)
2014年05月(5)
2014年04月(4)
2014年03月(8)
2014年02月(4)
2014年01月(8)
2013年 2013年12月(15)
2013年11月(8)
2013年10月(3)
2013年09月(3)
2013年08月(8)
2013年07月(0)
2013年06月(0)
2013年05月(0)
2013年04月(0)
2013年03月(0)
2013年02月(0)
2013年01月(0)

■レス履歴■

2023-09-26 14:59:38 - 久慈光樹

2023-09-26 14:29:10 - 織田霧さくら

2023-09-26 13:10:45 - 久慈光樹

2023-03-20 05:30:16 - 織田霧さくら

2023-03-15 20:42:58 - まうる

2022-12-26 19:14:57 - 織田霧さくら

2022-12-25 02:28:36 - まうる@まるるん

2022-09-30 04:29:01 - 織田霧さくら

2022-09-23 19:01:29 - まるるん

2022-06-16 21:06:34 - 山本


■ファイル抽出■

■ワード検索■

堕天使の煉獄

https://rengoku.sakura.ne.jp
管理人

織田霧さくら(oda-x)

E-mail (■を@に)

oda-x■rengoku.sakura.ne.jp

堕天使の煉獄バナー 堕天使の煉獄バナー