Vector2D vct; //用于存放指向敌人的主方向 #endregion Fields #region Constructors public Stage01_E01(TextureManager _texturemanager, float x, float y,bool _turnleft = false) { name = "Stage01_E01"; 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 Stage01_E01c(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(50, 250); //200-500帧第一阶段释放子弹 fire01.Name = "fire01"; commands.Add(fire01); //添加进任务队列 TCset fire02 = new TCset(250, 400); //500-580帧时进行旋转,并且进行加速 fire02.Name = "fire02"; commands.Add(fire02); TCset stop01 = new TCset(320, 340); //中间过程停止发射(stop要置于fire等命令的后面) stop01.Name = "stop01"; commands.Add(stop01); }
public void Start() { _soundmanager.Play("rj"); _particles = new Particle.FlyingFlowersParticles(_textureManager); _breakParticles = new Particle.BreakPointsParticles(_textureManager); background = new BackGround(_textureManager, 0, _particles); //着色等级为0级(顶层着色) background.BindParticle(_breakParticles); //绑定粒子 background.Start(); foretable.Start(); gameview.Start(); GamePlayer.Start(); Hp = Datas.Hp_Start; Datas.Hp = Hp; Booms = Datas.booms; Datas.CurrentEnemys = Enemys; //将全局的CurrentEnemys指向此场景上(便于) Datas.CurrentItemAdd = Items_toAdd; //将全局道具列表切换到此状态 Datas.CurrentPlayer = GamePlayer; //当前玩家 GameTime = 0; //初始化游戏时间 //重播模式 if (Datas.ReFre) { #region Datas.ReadData(); commands.Clear(); foreach (string str in Datas.Commands) { char[] arr = str.ToCharArray(); int st = 0, ct = 0; for (int i = 0; i < arr.Length; i++) { if (arr[i] == '$') { st = i; } if (arr[i] == '#') { ct = i; } } string name = str.Substring(st + 1, ct - st - 1); string value = str.Substring(ct + 1); double time = Convert.ToDouble(value); switch (name) { case "Seed": int seed = (int)time; Datas.GameRandom = new GRandom(seed); break; case "LeftDown": TCset tcset = new TCset(); tcset.Name = "LeftDown"; tcset.caculateTime = time; commands.Add(tcset); break; case "LeftUp": tcset = new TCset(); tcset.Name = "LeftUp"; tcset.caculateTime = time; commands.Add(tcset); break; case "RightDown": tcset = new TCset(); tcset.Name = "RightDown"; tcset.caculateTime = time; commands.Add(tcset); break; case "RightUp": tcset = new TCset(); tcset.Name = "RightUp"; tcset.caculateTime = time; commands.Add(tcset); break; case "UpUp": tcset = new TCset(); tcset.Name = "UpUp"; tcset.caculateTime = time; commands.Add(tcset); break; case "UpDown": tcset = new TCset(); tcset.Name = "UpDown"; tcset.caculateTime = time; commands.Add(tcset); break; case "DownDown": tcset = new TCset(); tcset.Name = "DownDown"; tcset.caculateTime = time; commands.Add(tcset); break; case "DownUp": tcset = new TCset(); tcset.Name = "DownUp"; tcset.caculateTime = time; commands.Add(tcset); break; case "ShiftUp": tcset = new TCset(); tcset.Name = "ShiftUp"; tcset.caculateTime = time; commands.Add(tcset); break; case "ShiftDown": tcset = new TCset(); tcset.Name = "ShiftDown"; tcset.caculateTime = time; commands.Add(tcset); break; case "ZDown": tcset = new TCset(); tcset.Name = "ZDown"; tcset.caculateTime = time; commands.Add(tcset); break; case "ZUp": tcset = new TCset(); tcset.Name = "ZUp"; tcset.caculateTime = time; commands.Add(tcset); break; } #endregion } } //非重播模式 else { Datas.GameRandom = new GRandom(); Datas.Commands = new List <string>(); Datas.Commands.Add("$Seed#" + Datas.GameRandom.Seed.ToString()); } GameTime = 0; Stage1_SystemCommands.Clear(); AddCommands(); //添加按键命令 background.SpeedY = 0.01f; //初始速度 gameview.BeginStart(); //开始执行 //gameview.ShowBGM("BGM:Silent Story(發熱巫女~ず)", 0.4f); //显示BGM, 字体倍率为0.5f _soundmanager.SetVolumChannel("Graze", 0.2f); }
public void Start() { _soundmanager.Play("rj"); _particles = new Particle.FlyingFlowersParticles(_textureManager); _breakParticles = new Particle.BreakPointsParticles(_textureManager); background = new BackGround(_textureManager, 0, _particles); //着色等级为0级(顶层着色) background.BindParticle(_breakParticles); //绑定粒子 background.Start(); foretable.Start(); gameview.Start(); GamePlayer.Start(); Hp = Datas.Hp_Start; Datas.Hp = Hp; Booms = Datas.booms; Datas.CurrentEnemys = Enemys; //将全局的CurrentEnemys指向此场景上(便于) Datas.CurrentItemAdd = Items_toAdd; //将全局道具列表切换到此状态 Datas.CurrentPlayer = GamePlayer; //当前玩家 GameTime = 0; //初始化游戏时间 //重播模式 if (Datas.ReFre) { #region Datas.ReadData(); commands.Clear(); foreach (string str in Datas.Commands) { char[] arr = str.ToCharArray(); int st =0, ct=0; for (int i = 0; i < arr.Length; i++) { if (arr[i] == '$') st = i; if (arr[i] == '#') ct = i; } string name = str.Substring(st+1, ct - st - 1); string value = str.Substring(ct + 1); double time = Convert.ToDouble(value); switch (name) { case "Seed": int seed = (int)time; Datas.GameRandom = new GRandom(seed); break; case "LeftDown" : TCset tcset = new TCset(); tcset.Name = "LeftDown"; tcset.caculateTime = time; commands.Add(tcset); break; case "LeftUp": tcset = new TCset(); tcset.Name = "LeftUp"; tcset.caculateTime = time; commands.Add(tcset); break; case "RightDown": tcset = new TCset(); tcset.Name = "RightDown"; tcset.caculateTime = time; commands.Add(tcset); break; case "RightUp": tcset = new TCset(); tcset.Name = "RightUp"; tcset.caculateTime = time; commands.Add(tcset); break; case "UpUp": tcset = new TCset(); tcset.Name = "UpUp"; tcset.caculateTime = time; commands.Add(tcset); break; case "UpDown": tcset = new TCset(); tcset.Name = "UpDown"; tcset.caculateTime = time; commands.Add(tcset); break; case "DownDown": tcset = new TCset(); tcset.Name = "DownDown"; tcset.caculateTime = time; commands.Add(tcset); break; case "DownUp": tcset = new TCset(); tcset.Name = "DownUp"; tcset.caculateTime = time; commands.Add(tcset); break; case "ShiftUp": tcset = new TCset(); tcset.Name = "ShiftUp"; tcset.caculateTime = time; commands.Add(tcset); break; case "ShiftDown": tcset = new TCset(); tcset.Name = "ShiftDown"; tcset.caculateTime = time; commands.Add(tcset); break; case "ZDown": tcset = new TCset(); tcset.Name = "ZDown"; tcset.caculateTime = time; commands.Add(tcset); break; case "ZUp": tcset = new TCset(); tcset.Name = "ZUp"; tcset.caculateTime = time; commands.Add(tcset); break; } #endregion } } //非重播模式 else { Datas.GameRandom = new GRandom(); Datas.Commands = new List<string>(); Datas.Commands.Add("$Seed#" + Datas.GameRandom.Seed.ToString()); } GameTime = 0; Stage1_SystemCommands.Clear(); AddCommands(); //添加按键命令 background.SpeedY = 0.01f; //初始速度 gameview.BeginStart(); //开始执行 //gameview.ShowBGM("BGM:Silent Story(發熱巫女~ず)", 0.4f); //显示BGM, 字体倍率为0.5f _soundmanager.SetVolumChannel("Graze", 0.2f); }