我正在使用 XNA Shooter Starter 工具包并想为项目添加封装
我已经了解如何对整数等项目执行此操作,您可以在其中封装字段以便原始值不受影响......但是您如何使用方法来做到这一点?
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;
}
我在一个类中有上述方法......在另一个类中它用于各种其他方法,其中一个如下所示
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”方法的第二行
如果我将初始化方法更改为私有或公共,我会收到错误消息,指出 AddExplosion 方法由于其保护级别而无法访问它
所以请记住,我想添加封装在这种情况下我将如何做呢?
在这方面我相对较新,所以请保持答案简单
提前致谢