个人资料

跳过导航链接首页 > 博客列表 > 博客正文

C# 继承的传递,重写父类的父类的方法.

:

父类GameComponent,来自Monogame,有

Update(),Initialize();方法可供重写.

------------------

Level类继承GameComponent

public abstract class Level : GameComponent
    {
        public Level(Game game) : base(game)
        {
        }
        //->这里传递重写
        public abstract override void Update(GameTime gameTime);
        public abstract override void Initialize();
        //...
        public Gate3 in_gate;
        public Gate3 out_gate;

        public static Vector2 _start_position = Vector2.Zero;
        public static Vector2 _out_position = Vector2.Zero;
    }

Level7继承Level类

    public class level7 : Level
    {
        //设置公共静态变量
        static level7()
        {
            //比如管卡门的初始位置等
            _start_position = new Vector2(48f, 7.25f);
            _out_position = new Vector2(37.3f, 2.8f);
    
        }
    
        public level7(Game game) : base(game)
        {
            _world = new World(Vector2.Zero)
            {
                Gravity = new Vector2(0, 9.8f)
            };

#if DEBUG
            _DebugView = new DebugView(_world);
            _DebugView.AppendFlags(DebugViewFlags.Shape);
            _DebugView.DefaultShapeColor = Color.Red;
            _DebugView.SleepingShapeColor = Color.LightGray;
            _DebugView.LoadContent(game.GraphicsDevice, Game.Content);
#endif
        }

        public override void Initialize()
        {

           //.....
        }


        public override void Update(GameTime gameTime)
        {

            //....
        }


    }


同时使用了静态构造函数,参考->参考

songshizhao
最初发表2023/6/5 0:22:55 最近更新2023/6/5 0:30:47 624
为此篇作品打分
10