Пример #1
0
 public RedBox(TextureManager t)
 {
     name = "BlueBox";
     sprite= new Sprite();
      sprite.Texture = t.Get("Player2");
      sprite.SetHeight(16);
      sprite.SetWidth(16);
      sprite.SetUVs(per_256,6,18,8,20);
 }
Пример #2
0
 public BlueBox(TextureManager t)
 {
     name = "BlueBox";
     sprite= new Sprite();
      sprite.Texture = t.Get("Player2");
      sprite.SetHeight(32);
      sprite.SetWidth(32);
      sprite.SetUVs(0, 22 * per_256, 4 * per_256, 26 * per_256);
 }
Пример #3
0
        Vector2D direction = new Vector2D(); //运动方向

        public MissPoint(TextureManager texturemanager, double X, double Y, Vector2D dir, int score = 100)
        {
            //确定类型
            this.Type = Item.Miss_Point;
            working   = true;

            //确定弹射范围
            Position.X = X; Position.Y = Y;
            if (dir.Y < 0)
            {
                dir.Y = -dir.Y;
            }
            if (dir.X >= 0)
            {
                double rad = dir.GetAngle();
                if (rad > 60)
                {
                    rad = 60;
                }
                direction = new Vector2D(0, 1);
                direction.rotate((float)(Datas.LooselyRandom.NextDouble() * (rad - 2 * randDomain) + randDomain));
            }
            else
            {
                double rad = dir.GetAngle();
                rad = 360 - rad;
                if (rad > 60)
                {
                    rad = 60;
                }
                direction = new Vector2D(0, 1);
                direction.rotate(-((float)(Datas.LooselyRandom.NextDouble() * (rad - 2 * randDomain) + randDomain)));
            }

            speed_right = speed_totle * direction.X;
            speed_up    = speed_totle * direction.Y;

            double offset_x = Center_Distance * direction.X;
            double offset_y = Center_Distance * direction.Y;

            Position.X += offset_x;
            Position.Y += offset_y;

            offset_x    = Datas.LooselyRandom.NextDouble() * 2 * randFireDomain - randFireDomain;
            Position.X += offset_x;

            Texture texture = texturemanager.Get("Ef_etama2");

            sprite         = new Sprite();
            sprite.Texture = texture;
            sprite.SetHeight(16);
            sprite.SetWidth(16);
            sprite.SetUVs(14 * per_256, 8 * per_256, 16 * per_256, 10 * per_256);

            //保存了MissPoint的一些必要信息
            ItemData = new itemdata.MissPoint(score, 3);
        }
Пример #4
0
 public RedBox(TextureManager t)
 {
     name           = "BlueBox";
     sprite         = new Sprite();
     sprite.Texture = t.Get("Player2");
     sprite.SetHeight(16);
     sprite.SetWidth(16);
     sprite.SetUVs(per_256, 6, 18, 8, 20);
 }
Пример #5
0
 public BlueBox(TextureManager t)
 {
     name           = "BlueBox";
     sprite         = new Sprite();
     sprite.Texture = t.Get("Player2");
     sprite.SetHeight(32);
     sprite.SetWidth(32);
     sprite.SetUVs(0, 22 * per_256, 4 * per_256, 26 * per_256);
 }
Пример #6
0
        float width_max = 64; //最大宽度

        #endregion Fields

        #region Constructors

        /// <summary>
        /// 爆炸特效
        /// </summary>
        /// <param name="texturemanager">纹理管理器</param>
        /// <param name="pos">绑定对象上的坐标组件</param>
        /// <param name="live_time">存活时间</param>
        /// <param name="min_r">特效半径最小大小</param>
        /// <param name="max_r">特效半径最大大小</param>
        public BreakOut_Blue(TextureManager texturemanager,Vector2D pos,int live_time = 15,float min_r=32,float max_r=64)
        {
            Pos_BindObject = pos;
            living_time = live_time;
            Texture texture = texturemanager.Get("Ef_etama2");
            sprite = new Sprite();
            sprite.Texture = texture;
            width = min_r; height = min_r;
            width_max = max_r; height_max = max_r;
            sprite.SetUVs(24 * per_256, 22 * per_256, 32 * per_256, 30 * per_256);
        }
Пример #7
0
        public BlueKnife(TextureManager _t)
        {
            Texture texture = _t.Get("etama1");

            name           = "blueknife";
            sprite         = new Sprite();
            sprite.Texture = texture;
            sprite.SetWidth(32);
            sprite.SetHeight(32);
            sprite.SetUVs(0, 18 * per_256, 4 * per_256, 22 * per_256);
        }
Пример #8
0
        Vector2D Pos_BindObject;              //绑定对象上的坐标组件

        /// <summary>
        /// 爆炸特效
        /// </summary>
        /// <param name="texturemanager">纹理管理器</param>
        /// <param name="pos">绑定对象上的坐标组件</param>
        /// <param name="live_time">存活时间</param>
        /// <param name="min_r">特效半径最小大小</param>
        /// <param name="max_r">特效半径最大大小</param>
        public BreakOut_Blue(TextureManager texturemanager, Vector2D pos, int live_time = 15, float min_r = 32, float max_r = 64)
        {
            Pos_BindObject = pos;
            living_time    = live_time;
            Texture texture = texturemanager.Get("Ef_etama2");

            sprite         = new Sprite();
            sprite.Texture = texture;
            width          = min_r; height = min_r;
            width_max      = max_r; height_max = max_r;
            sprite.SetUVs(24 * per_256, 22 * per_256, 32 * per_256, 30 * per_256);
        }
Пример #9
0
        public TextTestState(TextureManager textureManager)
        {
            _text.Texture = textureManager.Get("Font");
            _textFont     = new TextFont(textureManager);
            spr           = _textFont.GetAci("终");
            spr.SetPosition(-50, 50);
            spr.SetHeight(14); spr.SetWidth(14);

            _text.SetUVs(new Point(0.0547f * 2, 0.0547f), new Point(0.0547f * 3, 0.0547f * 2));
            _text.SetWidth(14);
            _text.SetHeight(14);
        }
Пример #10
0
        void CreateSprites()
        {
            Texture texture = texturemanager.Get("fontex");

            foreach (Charactor c in charactors)
            {
                Sprite spt = new Sprite();
                spt.Texture = texture;
                spt.SetUVs(c.x * per_256, c.y * per_256, (c.x + 2) * per_256, (c.y + 2) * per_256);
                Font_Sprites.Add(c.id, spt);
            }
        }
Пример #11
0
 public Sprite GetAci(string key)
 {
     try
     {
         FontCharactor c = Fonts[key];
         sprite.Texture = Textures[c.SelectTexture - 1];
         sprite.SetUVs(c.uvs1, c.uvs2, c.uvs3, c.uvs4);
         sprite.SetWidth(c.width);
         sprite.SetHeight(c.height);
         return(sprite);
     }
     catch (Exception e)
     {
         FontCharactor c = Fonts["口"];
         sprite.Texture = Textures[c.SelectTexture - 1];
         sprite.SetUVs(c.uvs1, c.uvs2, c.uvs3, c.uvs4);
         sprite.SetWidth(c.width);
         sprite.SetHeight(c.height);
         return(sprite);
     }
 }
Пример #12
0
        void CreateSprites()
        {
            Texture texture = _textureManager.Get("Font");

            foreach (Charactor c in charactors)
            {
                Sprite spt = new Sprite();
                spt.Texture = texture;
                spt.SetUVs(new Point(0.05467f * c.x, 0.05467f * c.y),
                           new Point(0.05467f * c.x + 0.05467f, 0.05467f * c.y + 0.05467f));
                Font_Sprites.Add(c.id, spt);
            }
        }
Пример #13
0
 public BlueCard(TextureManager _t)
 {
     Texture texture;
     texture = _t.Get("Player2");
     name = "BlueCard";
     sprite = new Sprite();
     sprite.Texture = texture;
     sprite.SetWidth(16);
     sprite.SetHeight(16);
     sprite.SetUVs(4 * per_256, 22 * per_256, 6 * per_256, 24 * per_256);
     sprite.SetColorUp(new Color(1, 1, 1, 0.5f));
     sprite.SetColorDown(new Color(1, 1, 1, 0.5f));
 }
Пример #14
0
        public RedCard(TextureManager _t)
        {
            Texture texture = _t.Get("Player2");

            name           = "RedCard";
            sprite         = new Sprite();
            sprite.Texture = texture;
            sprite.SetWidth(72);
            sprite.SetHeight(16);
            sprite.SetUVs(2 * per_256, 18 * per_256, 11 * per_256, 20 * per_256);
            sprite.SetColorUp(new Color(1, 1, 1, 0.5f));
            sprite.SetColorDown(new Color(1, 1, 1, 0.5f));
        }
Пример #15
0
        public BlueCard(TextureManager _t)
        {
            Texture texture;

            texture        = _t.Get("Player2");
            name           = "BlueCard";
            sprite         = new Sprite();
            sprite.Texture = texture;
            sprite.SetWidth(16);
            sprite.SetHeight(16);
            sprite.SetUVs(4 * per_256, 22 * per_256, 6 * per_256, 24 * per_256);
            sprite.SetColorUp(new Color(1, 1, 1, 0.5f));
            sprite.SetColorDown(new Color(1, 1, 1, 0.5f));
        }
Пример #16
0
        //允许绑定position,也可以不绑定(不绑定则需要自己指定坐标)
        public StartEffect_Blue(TextureManager texturemanager, Vector2D position = null)
        {
            Texture texture = texturemanager.Get("etama2");

            sprite         = new Sprite();
            sprite.Texture = texture;
            sprite.SetWidth(64);
            sprite.SetHeight(64);
            sprite.SetUVs(16 * per_256, 14 * per_256, 24 * per_256, 22 * per_256);
            if (position != null)
            {
                Position = position;
            }
        }
Пример #17
0
        //允许绑定position,也可以不绑定(不绑定则需要自己指定坐标)
        public NormalSlowEffect(TextureManager texturemanager, Vector2D position = null)
        {
            Texture texture = texturemanager.Get("Ef_etama2");

            sprite         = new Sprite();
            sprite.Texture = texture;
            sprite.SetWidth(64);
            sprite.SetHeight(64);
            sprite.SetUVs(0, 14 * per_256, 8 * per_256, 22 * per_256);
            if (position != null)
            {
                Position = position;
            }
        }
Пример #18
0
        public Score_Number(TextureManager _t)
        {
            texturemanager = _t;
            NumberDic      = new Dictionary <string, Sprite>();
            Texture texture = _t.Get("fontex");

            for (int i = 0; i < 10; i++)
            {
                Sprite sp = new Sprite();
                sp.Texture = texture;
                sp.SetWidth(8);
                sp.SetHeight(8);
                sp.SetUVs(i * per_256, 0, (i + 1) * per_256, per_256);
                NumberDic.Add(i.ToString(), sp);
            }
        }
Пример #19
0
        void initialize()
        {
            //正常状态
            Texture texture = texturemanager.Get("Ef_etama2");

            sprite         = new Sprite();
            sprite.Texture = texture;
            sprite.SetHeight(16);
            sprite.SetWidth(16);
            sprite.SetUVs(2.1f * per_256, 8 * per_256, 3.9f * per_256, 10 * per_256);

            //顶部状态(三角形形态)
            Texture texture2 = texturemanager.Get("Ef_etama2");

            littleState         = new Sprite();
            littleState.Texture = texture2;
            littleState.SetWidth(16);
            littleState.SetHeight(16);
            littleState.SetUVs(18 * per_256, 8 * per_256, 20 * per_256, 10 * per_256);
        }
Пример #20
0
 public RedCard(TextureManager _t)
 {
     Texture texture = _t.Get("Player2");
     name = "RedCard";
     sprite = new Sprite();
     sprite.Texture = texture;
     sprite.SetWidth(72);
     sprite.SetHeight(16);
     sprite.SetUVs(2*per_256, 18 * per_256, 11 * per_256, 20 * per_256);
     sprite.SetColorUp(new Color(1,1,1,0.5f));
     sprite.SetColorDown(new Color(1, 1, 1, 0.5f));
 }
Пример #21
0
 //允许绑定position,也可以不绑定(不绑定则需要自己指定坐标)
 public StartEffect_Red(TextureManager texturemanager, Vector2D position = null)
 {
     Texture texture = texturemanager.Get("etama2");
     sprite = new Sprite();
     sprite.Texture = texture;
     sprite.SetWidth(64);
     sprite.SetHeight(64);
     sprite.SetUVs(16 * per_256, 14 * per_256, 24 * per_256, 22 * per_256);
     if (position != null)
         Position = position;
 }
Пример #22
0
 //允许绑定position,也可以不绑定(不绑定则需要自己指定坐标)
 public NormalSlowEffect(TextureManager texturemanager , Vector2D position = null)
 {
     Texture texture = texturemanager.Get("Ef_etama2");
     sprite = new Sprite();
     sprite.Texture = texture;
     sprite.SetWidth(64);
     sprite.SetHeight(64);
     sprite.SetUVs(0, 14 * per_256, 8 * per_256, 22 * per_256);
     if( position!= null)
      Position = position;
 }
Пример #23
0
        //构造函数都需要继承基类构造函数
        public BoomPoint(TextureManager texturemanager, double X, double Y)
            : base()
        {
            this.Type = Item.Boom_Point;
            //确定弹射范围
            Position.X = X; Position.Y = Y;
            OriPosition = new Vector2D(Position.X, Position.Y);
            breakPosition = new Vector2D(Direction.X * breakLength + Position.X, Direction.Y * breakLength + Position.Y);
            //正常状态
            Texture texture = texturemanager.Get("Ef_etama2");
            sprite = new Sprite();
            sprite.Texture = texture;
            sprite.SetHeight(16);
            sprite.SetWidth(16);
            sprite.SetUVs(6 * per_256, 8 * per_256, 8 * per_256, 10 * per_256);

            //顶部状态(三角形形态)
            Texture texture2 = texturemanager.Get("Ef_etama2");
            littleState = new Sprite();
            littleState.Texture = texture2;
            littleState.SetWidth(16);
            littleState.SetHeight(16);
            littleState.SetUVs(22 * per_256, 8 * per_256, 24 * per_256, 10 * per_256);
        }
Пример #24
0
 void CreateSprites()
 {
     Texture texture = texturemanager.Get("fontex");
     foreach (Charactor c in charactors)
     {
         Sprite spt = new Sprite();
         spt.Texture = texture;
         spt.SetUVs(c.x * per_256, c.y * per_256, (c.x + 2) * per_256, (c.y + 2) * per_256);
         Font_Sprites.Add(c.id, spt);
     }
 }
Пример #25
0
        public MissPoint(TextureManager texturemanager, double X, double Y,Vector2D dir,int score = 100)
        {
            //确定类型
            this.Type = Item.Miss_Point;
            working = true;

            //确定弹射范围
            Position.X = X; Position.Y = Y;
            if (dir.Y < 0)
                dir.Y = -dir.Y;
            if (dir.X >= 0)
            {
                double rad = dir.GetAngle();
                if (rad > 60)
                    rad = 60;
                direction = new Vector2D(0, 1);
                direction.rotate((float)(Datas.LooselyRandom.NextDouble() * (rad - 2*randDomain) + randDomain));
            }
            else
            {
                double rad = dir.GetAngle();
                rad = 360 - rad;
                if (rad > 60)
                    rad = 60;
                direction = new Vector2D(0, 1);
                direction.rotate(-((float)(Datas.LooselyRandom.NextDouble() * (rad - 2 * randDomain) + randDomain)));
            }

            speed_right = speed_totle * direction.X;
            speed_up = speed_totle * direction.Y;

            double offset_x = Center_Distance * direction.X;
            double offset_y = Center_Distance * direction.Y;
            Position.X += offset_x;
            Position.Y += offset_y;

            offset_x = Datas.LooselyRandom.NextDouble() * 2 *randFireDomain - randFireDomain;
            Position.X += offset_x;

            Texture texture = texturemanager.Get("Ef_etama2");
            sprite = new Sprite();
            sprite.Texture = texture;
            sprite.SetHeight(16);
            sprite.SetWidth(16);
            sprite.SetUVs(14 * per_256, 8 * per_256, 16 * per_256, 10 * per_256);

            //保存了MissPoint的一些必要信息
            ItemData = new itemdata.MissPoint(score,3);
        }
Пример #26
0
        float speed2 = 200; //靠近玩家时自动靠近的速度

        #endregion Fields

        #region Constructors

        //构造函数都需要继承基类构造函数
        public PowerPoint(TextureManager texturemanager , float X, float Y)
            : base()
        {
            //确定类型
            this.Type = Item.P_Point;

            //确定弹射范围s
            Position.X = X; Position.Y = Y;
            OriPosition = new Vector2D(Position.X, Position.Y);
            breakPosition = new Vector2D(Direction.X * breakLength + Position.X, Direction.Y * breakLength + Position.Y);

            //正常状态
            Texture texture = texturemanager.Get("Ef_etama2");
            sprite = new Sprite();
            sprite.Texture = texture;
            sprite.SetHeight(16);
            sprite.SetWidth(16);
            sprite.SetUVs(0, 8 * per_256, 2 * per_256, 10 * per_256);

            //顶部状态(三角形形态)
            Texture texture2 = texturemanager.Get("Ef_etama2");
            littleState = new Sprite();
            littleState.Texture = texture2;
            littleState.SetWidth(16);
            littleState.SetHeight(16);
            littleState.SetUVs(16 * per_256, 8 * per_256, 18 * per_256, 10 * per_256);
        }
Пример #27
0
        void initialize()
        {
            //正常状态
            Texture texture = texturemanager.Get("Ef_etama2");
            sprite = new Sprite();
            sprite.Texture = texture;
            sprite.SetHeight(16);
            sprite.SetWidth(16);
            sprite.SetUVs(2.1f * per_256, 8 * per_256, 3.9f * per_256, 10 * per_256);

            //顶部状态(三角形形态)
            Texture texture2 = texturemanager.Get("Ef_etama2");
            littleState = new Sprite();
            littleState.Texture = texture2;
            littleState.SetWidth(16);
            littleState.SetHeight(16);
            littleState.SetUVs(18 * per_256, 8 * per_256, 20 * per_256, 10 * per_256);
        }
Пример #28
0
 public Score_Number(TextureManager _t)
 {
     texturemanager = _t;
     NumberDic = new Dictionary<string, Sprite>();
     Texture texture = _t.Get("fontex");
     for (int i = 0; i < 10; i++)
     {
         Sprite sp = new Sprite();
         sp.Texture = texture;
         sp.SetWidth(8);
         sp.SetHeight(8);
         sp.SetUVs(i * per_256, 0, (i + 1) * per_256, per_256);
         NumberDic.Add(i.ToString(), sp);
     }
 }
Пример #29
0
 public BlueKnife(TextureManager _t)
 {
     Texture texture = _t.Get("etama1");
     name = "blueknife";
     sprite = new Sprite();
     sprite.Texture = texture;
     sprite.SetWidth(32);
     sprite.SetHeight(32);
     sprite.SetUVs(0, 18 * per_256, 4 * per_256, 22 * per_256);
 }
Пример #30
0
 public Blue_Ray(TextureManager _t , Vector2D position , Vector2D direction = null, bool goright = true)
 {
     right = goright;
     Direction = new Vector2D(0, -1);
     speed = 100;
     Texture texture = _t.Get("Rays");
     this.Position = position;        //头坐标
     if (direction != null)
         this.Direction = direction;
      Sprite sp;
      for (int i = 0; i < dividecount; i++)
     {
         //切分为dividecount块
         positions.Add(new Vector2D(position.X, position.Y ));
         sp = new Sprite();
         sp.Texture = texture;
         sp.SetUVs(i / dividecount, per_256 *16, (i + 1) / dividecount, per_256 * 18);
         sp.SetWidth(256/dividecount*1.5f);
         sp.SetHeight(16/2);
         Rays_sprites.Add(sp);
     }
      radius = 8;
 }
Пример #31
0
 void CreateSprites()
 {
     Texture texture = _textureManager.Get("Font");
     foreach(Charactor c in charactors)
     {
         Sprite spt = new Sprite();
         spt.Texture = texture;
         spt.SetUVs(new Point(0.05467f*c.x,0.05467f*c.y),
             new Point(0.05467f*c.x+0.05467f,0.05467f*c.y+0.05467f));
         Font_Sprites.Add(c.id, spt);
     }
 }