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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }