Пример #1
0
            public Controler02_02(EnemyData edt, bool _left = false)
            {
                showleft        = _left;
                enemydata       = edt;
                enemydata.Speed = 150;
                direction       = enemydata.Direction;
                position        = enemydata.Position;
                //此控制器中控制运动轨迹的是额外的Direction,而非原组件(原组件的direction用来控制自身旋转等操作)
                if (_left)
                {
                    position.X  = -200;
                    position.Y  = 350;
                    direction.X = 1;
                    direction.Y = 0;
                }
                else
                {
                    position.X  = 200;
                    position.Y  = 350;
                    direction.X = -1;
                    direction.Y = 0;
                }

                TCset rotate1 = new TCset(0, 130, "rotate1");

                commands.Add(rotate1);
            }
Пример #2
0
            public Controler01(EnemyData edt, bool _left = false)
            {
                showleft        = _left;
                enemydata       = edt;
                enemydata.Speed = 100;
                direction       = enemydata.Direction;
                position        = enemydata.Position;
                direction.X     = 0;
                direction.Y     = -1;

                TCset speeddown = new TCset(0, 120);              //0-120帧行走直线切弧线行走(速度逐渐衰减)

                speeddown.Name = "speeddown";
                commands.Add(speeddown);
                TCset rotate01 = new TCset(60, 120);              //弧线所需的角度变换

                rotate01.Name = "rotate01";
                commands.Add(rotate01);
                TCset speedup01 = new TCset(150, 210, "speedup01");            //停顿30帧后进入加速阶段

                commands.Add(speedup01);
                TCset rotate02 = new TCset(180, 280, "rotate02");             //反向弧度旋转,最终呈正向运动

                rotate02.Name = "rotate02";
                commands.Add(rotate02);
            }
Пример #3
0
            List <TCset> commands = new List <TCset>(); //命令列表
            public Controler03_02(EnemyData edt)
            {
                enemydata       = edt;
                enemydata.Speed = 100;
                direction       = enemydata.Direction;
                position        = enemydata.Position;
                direction.X     = 0;
                direction.Y     = -1;

                TCset speeddown = new TCset(60, 160, "speeddown");              //速度逐渐衰减

                speeddown.Name = "speeddown";
                commands.Add(speeddown);
                TCset speedup01 = new TCset(480, 600, "speedup");            //进入加速阶段

                commands.Add(speedup01);
            }
Пример #4
0
            void AddCommands()
            {
                //back
                TCset ShowAlpha = new TCset(150, 200, "ShowAlpha", false, true);

                Commands.Add(ShowAlpha);
                TCset LeaveALpha = new TCset(600, 650, "LeaveALpha", false, true);

                Commands.Add(LeaveALpha);
                TCset ShowMove = new TCset(150, 200, "ShowMove", false, true);

                Commands.Add(ShowMove);
                TCset LeaveMove = new TCset(600, 650, "LeaveMove", false, true);

                Commands.Add(LeaveMove);

                //Stop
                TCset Stop = new TCset(700, 700, "Stop", false, false);

                Commands.Add(Stop);
            }
Пример #5
0
            void AddCommands()
            {
                //back
                TCset Back_AlphaChange = new TCset(150, 200, "Back_AlphaChange", false, true);

                Commands.Add(Back_AlphaChange);
                TCset Back_HeightChange = new TCset(150, 200, "Back_HeightChange", false, true);

                Commands.Add(Back_HeightChange);

                TCset Back_AlphaLeave = new TCset(400, 450, "Back_AlphaLeave", false, true);

                Commands.Add(Back_AlphaLeave);
                TCset Back_HeightLeave = new TCset(400, 450, "Back_HeightLeave", false, true);

                Commands.Add(Back_HeightLeave);

                //front
                TCset Text_AlphaChange = new TCset(100, 200, "Text_AlphaChange", false, true);

                Commands.Add(Text_AlphaChange);
                TCset Text_OffsetChange = new TCset(100, 150, "Text_OffsetChange", false, true);

                Commands.Add(Text_OffsetChange);

                TCset Text_AlphaLeave = new TCset(400, 450, "Text_AlphaLeave", false, true);

                Commands.Add(Text_AlphaLeave);
                TCset Text_OffsetLeave = new TCset(400, 450, "Text_OffsetLeave", false, true);

                Commands.Add(Text_OffsetLeave);

                //Stop
                TCset Stop = new TCset(501, 501, "Stop", false, false);

                Commands.Add(Stop);
            }
Пример #6
0
            Particle.BreakPointsParticles breakParticle; //击破后的溅射粒子

            public Enemy02_2(TextureManager _texturemanager, float x, float y, bool _turnleft = false)
            {
                name = "Stage1Enemy02_2";
                texturemanager = _texturemanager;
                Position.X = x; Position.Y = y;
                enemybody = new DarkBlueLittleSprite(texturemanager);   //皮肤选择为DarkBlueLittleSprite
                enemybody.multiSprite.State = 0;                        //一开始先重置为一般状态
                hp = 1500;
                enemydata = new EnemyData(Position, Direction, Scale, 100);    //建立一个敌人数据,用于传递给行为控制器使用
                turnleft = _turnleft;

                /////添加控制器处//////
                controler = new Stage1.Controler02_02(enemydata,_turnleft);       //建立一个专属的行为控制器
                renderlevel = 0;                                 //在敌人列表中置于最底层
                /////添加动画爆炸处////
                Break_ani = new BreakOut_Blue(_texturemanager, Position, 20, 16, 64);       //爆炸动画
                breakParticle = new Particle.BreakPointsParticles(_texturemanager, 0);   //溅射粒子
                breakParticle.EnableVisibleLenth(true, 5);

                TCset fire01 = new TCset(1, 51);              //200-500帧第一阶段释放子弹
                fire01.Name = "fire01";
                commands.Add(fire01);
            }
Пример #7
0
            void AddCommands()
            {
                //back
                TCset ShowAlpha = new TCset(150, 200, "ShowAlpha", false, true);
                Commands.Add(ShowAlpha);
                TCset LeaveALpha = new TCset(600, 650, "LeaveALpha", false, true);
                Commands.Add(LeaveALpha);
                TCset ShowMove = new TCset(150, 200, "ShowMove", false, true);
                Commands.Add(ShowMove);
                TCset LeaveMove = new TCset(600, 650, "LeaveMove", false, true);
                Commands.Add(LeaveMove);

                //Stop
                TCset Stop = new TCset(700, 700, "Stop", false, false);
                Commands.Add(Stop);
            }
Пример #8
0
            void AddCommands()
            {
                //back
                TCset Back_AlphaChange = new TCset(150, 200, "Back_AlphaChange", false, true);
                Commands.Add(Back_AlphaChange);
                TCset Back_HeightChange = new TCset(150, 200, "Back_HeightChange", false, true);
                Commands.Add(Back_HeightChange);

                TCset Back_AlphaLeave = new TCset(400, 450, "Back_AlphaLeave", false, true);
                Commands.Add(Back_AlphaLeave);
                TCset Back_HeightLeave = new TCset(400, 450, "Back_HeightLeave", false, true);
                Commands.Add(Back_HeightLeave);

                //front
                TCset Text_AlphaChange = new TCset(100, 200, "Text_AlphaChange", false, true);
                Commands.Add(Text_AlphaChange);
                TCset Text_OffsetChange = new TCset(100, 150, "Text_OffsetChange", false, true);
                Commands.Add(Text_OffsetChange);

                TCset Text_AlphaLeave = new TCset(400, 450, "Text_AlphaLeave", false, true);
                Commands.Add(Text_AlphaLeave);
                TCset Text_OffsetLeave = new TCset(400, 450, "Text_OffsetLeave", false, true);
                Commands.Add(Text_OffsetLeave);

                //Stop
                TCset Stop = new TCset(501, 501, "Stop", false, false);
                Commands.Add(Stop);
            }
Пример #9
0
            List<TCset> commands = new List<TCset>(); //命令列表

            public Controler03_02(EnemyData edt)
            {
                enemydata = edt;
                enemydata.Speed = 100;
                direction = enemydata.Direction;
                position = enemydata.Position;
                direction.X = 0;
                direction.Y = -1;

                TCset speeddown = new TCset(60, 160, "speeddown");              //速度逐渐衰减
                speeddown.Name = "speeddown";
                commands.Add(speeddown);
                TCset speedup01 = new TCset(480, 600, "speedup");            //进入加速阶段
                commands.Add(speedup01);
            }
Пример #10
0
            public Controler02_02(EnemyData edt, bool _left = false)
            {
                showleft = _left;
                enemydata = edt;
                enemydata.Speed = 150;
                direction = enemydata.Direction;
                position = enemydata.Position;
                //此控制器中控制运动轨迹的是额外的Direction,而非原组件(原组件的direction用来控制自身旋转等操作)
                if (_left)
                {
                    position.X = -200;
                    position.Y = 350;
                    direction.X = 1;
                    direction.Y = 0;
                }
                else
                {
                    position.X = 200;
                    position.Y = 350;
                    direction.X = -1;
                    direction.Y = 0;
                }

                TCset rotate1 = new TCset(0, 130,"rotate1");
                commands.Add(rotate1);
            }
Пример #11
0
            public Controler01(EnemyData edt, bool _left = false)
            {
                showleft = _left;
                enemydata = edt;
                enemydata.Speed = 100;
                direction = enemydata.Direction;
                position = enemydata.Position;
                direction.X = 0;
                direction.Y = -1;

                TCset speeddown = new TCset(0, 120);              //0-120帧行走直线切弧线行走(速度逐渐衰减)
                speeddown.Name = "speeddown";
                commands.Add(speeddown);
                TCset rotate01 = new TCset(60, 120);              //弧线所需的角度变换
                rotate01.Name = "rotate01";
                commands.Add(rotate01);
                TCset speedup01 = new TCset(150, 210, "speedup01");            //停顿30帧后进入加速阶段
                commands.Add(speedup01);
                TCset rotate02 = new TCset(180, 280, "rotate02");             //反向弧度旋转,最终呈正向运动
                rotate02.Name = "rotate02";
                commands.Add(rotate02);
            }