私はゲームを構築している最中です。
私はオブジェクトGamePieceを持っています(カードデッキもあります)
public enum PieceColor
{
Blue=0,
Yellow,
Red,
Green
}
public class GamePiece : PictureBox
{
PieceColor _color;
public PieceColor Color {
get {
return _color;
}
set
{
_color = value;
if (_color == PieceColor.Blue)
this.Image = global::GameEntities.Properties.Resources.pieceBlue;
}
}
私が考えていたのは、4つの画像、各色の1つをImageListに入れてから、上記の行を次のように変更することです
this.Image = ImageList[(int)_color];
これで私が予見する問題は、すべての GamePiece に対して ImageList を作成することになり、それがメモリに負担をかけることです。
いくつかのオプションがあります
- ImageList オブジェクトの静的クラスを作成し、すべての部分がその静的クラスを参照するようにします
- 4 つのピースすべてを 1 つのイメージとして 1 つのリソース ビットマップを作成し、サイズ操作を使用して 1 つのピースのみを表示します。
- コードはそのままにして、4 つの異なる IF ステートメントを記述します。
だから私の質問は、
- 何度も使用される同じイメージでメモリを管理する場合、どちらのソリューションが優先されますか?
- 画像を表示する際のデザイン パターン、またはその他の関連するゲーム コンセプトについて学習できるものはありますか?
ありがとうございました