XNA Shooter スターター キットを使用しており、プロジェクト用にカプセル化を追加したい
元の値が影響を受けないようにフィールドをカプセル化する、整数などのアイテムに対してそれを行う方法を理解しました...しかし、メソッドでどのように行うのですか?
public void Initialize(Texture2D texture, Vector2 position,
int frameWidth, int frameHeight, int frameCount,
int frametime, Color color, float scale, bool looping)
{
// Keep a local copy of the values passed in
this.color = color;
this.FrameWidth = frameWidth;
this.FrameHeight = frameHeight;
this.frameCount = frameCount;
this.frameTime = frametime;
this.scale = scale;
Looping = looping;
Position = position;
spriteStrip = texture;
// Set the time to zero
elapsedTime = 0;
currentFrame = 0;
// Set the Animation to active by default
Active = true;
}
あるクラス内に上記のメソッドがあります...そして別のクラス内では、他のさまざまなメソッドで使用されます。そのうちの1つを以下に示します
private void AddExplosion(Vector2 position)
{
Animation explosion = new Animation();
explosion.Initialize(explosionTexture, position, 134, 134, 12, 45, Color.White, 1f, false);
explosions.Add(explosion);
}
ご覧のとおり、メソッド「explosion.initialize」の 2 行目で使用されています。
初期化メソッドをプライベートまたはパブリックに変更すると、保護レベルが原因で AddExplosion メソッドからアクセスできないというエラー メッセージが表示されます。
カプセル化を追加したいことを念頭に置いて、この状況でこれを行うにはどうすればよいでしょうか?
これに関しては私は比較的新しいので、答えを簡単にしてください
前もって感謝します