public virtual void Render(Renderer renderer, Vector2D Pos) { sprite.SetPosition(Pos.X, Pos.Y); renderer.DrawSprite(sprite); foreach (CollisionComponent c in AttackComponents) { c.Render(renderer); } }
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); }
public RedButterfly(TextureManager texturemanager, float orix, float oriy, float speed = 180) { this.speed = speed; max_distance = speed * max_percent; min_distance = speed * min_percent; sprites = new Sprite[bodycount]; positions = new Vector2D[bodycount]; multiSprites = new MultiSprite[2]; speeds = new float[bodycount]; Texture texture = texturemanager.Get("enemys1"); float percent = 1; for (int i = 0; i < bodycount; i++) { percent = (float)i / (bodycount - 1); speeds[i] = speed - percent * speed * divide_percent; percent = 1 - percent; percent *= percent; sprites[i] = new Sprite(); sprites[i].Texture = texture; sprites[i].SetWidth(percent * 32); sprites[i].SetHeight(percent * 32); sprites[i].SetUVs(0, 0, 0, 0); sprites[i].SetPosition(orix, oriy); positions[i] = new Vector2D(orix, oriy); } sprite = new Sprite(); sprite.Texture = texture; sprite.SetWidth(32); sprite.SetHeight(32); sprite.SetPosition(orix, oriy); multiSprites[1] = new MultiSprite(sprites); //身体(球),导入整个数组进入 multiSprites[1].changeinterval = 0.15f; multiSprites[0] = new MultiSprite(sprite); //头部(蝴蝶) multiSprites[0].changeinterval = 0.05f; multiSprite = multiSprites[0]; RecTangleF[] rects = new RecTangleF[4]; for (int i = 0; i < 4; i++) { rects[i] = new RecTangleF(16 * per_512 + i * per_512 * 4, 20 * per_512, 16 * per_512 + (i + 1) * 4 * per_512, 24 * per_512); } multiSprites[0].RegeditState(0, rects); rects = new RecTangleF[4]; for (int i = 0; i < 4; i++) { rects[i] = new RecTangleF(32 * per_512 + i * per_512 * 4, 20 * per_512, 32 * per_512 + (i + 1) * 4 * per_512, 24 * per_512); } multiSprites[1].RegeditState(0, rects); effect = new StartEffect_Red(Stage1State._textureManager); }
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); }
public AboutLura(TextureManager textureManager, SoundManagerEx sd) { _textureManager = textureManager; soundmanager = sd; _testSprite.Texture = _textureManager.Get("lura1"); _testSprite.SetWidth(512); _testSprite.SetHeight(512); _testSprite.SetPosition(new Vector(0, 0, 0)); // soundmanager.Play("rj"); }
// 坐标,文字,宽度, 透明值,间距,行数,每行长度 //从右到左(例如“ 1”,“ 11”,“ 111”,“ 1111”,“11111” ) public void DrawText2D2(Point position, string text, int width = 14, float Alpha = 1, int dw = 9, int rows = 1, int length = 20) { int len = text.Length; Sprite spr; for (int i = 0; i < len; i++) { spr = _textFont.GetAci(text.Substring(i, 1)); spr.SetWidth(width); spr.SetHeight(width); spr.SetPosition(new Vector(position.X - width / 2 - (len-1-i)* dw, position.Y - width / 2, 0)); spr.SetColor(new Color(1, 1, 1, Alpha)); _renderer.DrawSprite(spr); } }
public override void Render() { if (!disposing) { bulletbody.sprite.SetPosition(Position.X, Position.Y); Stage1State._renderer.DrawSprite(bulletbody.sprite, (float)Position.X, (float)Position.Y, 90); } else { RedEsc.SetPosition(Position.X, Position.Y); RedEsc.SetColor(new Color(1, 1, 1, _alpha * 0.5f)); Stage1State._renderer.DrawSprite(RedEsc, (float)Position.X, (float)Position.Y, angle + 90); } }
//从右到左(例如“ 1”,“ 11”,“ 111”,“ 1111”,“11111” ) public void DrawText2D2(Point position, string text, int width = 14, float Alpha = 1, int dw = 9, int rows = 1, int length = 20) // 坐标,文字,宽度, 透明值,间距,行数,每行长度 { int len = text.Length; Sprite spr; for (int i = 0; i < len; i++) { spr = _textFont.GetAci(text.Substring(i, 1)); spr.SetWidth(width); spr.SetHeight(width); spr.SetPosition(new Vector(position.X - width / 2 - (len - 1 - i) * dw, position.Y - width / 2, 0)); spr.SetColor(new Color(1, 1, 1, Alpha)); _renderer.DrawSprite(spr); } }
public void Update(double elapsedTime) { time_caculate += elapsedTime; double rdiu = (time_caculate / 1) * angle_speed; //每秒转动角度: angle_speed _testSprite2.SetPosition(0 + rd * Math.Cos((rdiu / 180) * PI), 0 + rd * Math.Sin((rdiu / 180) * PI)); _testSprite3.SetPosition(0 + rd * 1.5 * Math.Cos((rdiu / 180) * PI), 0 + rd * 1.5 * Math.Sin((rdiu / 180) * PI)); _testSprite4.SetPosition(0 + rd * 2 * Math.Cos((rdiu / 180) * PI), 0 + rd * 2 * Math.Sin((rdiu / 180) * PI)); _testSprite5.SetPosition(0 + rd * 3 * Math.Cos((rdiu / 180) * PI), 0 + rd * 3 * Math.Sin((rdiu / 180) * PI)); }
/// <summary> /// 提供一个分数参数,将其画下来 /// </summary> /// <param name="isc">Score参数</param> /// <param name="distance">数字间的距离</param> public void DrawNumber(Renderer _renderer, IScore isc, float distance) { float alpha = isc.alpha; Vector2D vct = new Vector2D(isc.Position.X, isc.Position.Y); string num = isc.Score.ToString(); char[] arr = num.ToArray <char>(); int length = arr.Length; int len2 = length / 2; for (int i = 0; i < length; i++) { Sprite sp = score_number.GetNumber(arr[i].ToString()); sp.SetPosition(vct.X + (i - len2) * distance, vct.Y); //数字居中显示 sp.SetColor(new Color(1, 1, 1, alpha * 0.5f)); _renderer.DrawSprite(sp); } }
public override void Render() { if (working) { float ag = Direction.getcurve(); bulletbody.sprite.SetPosition(Position.X, Position.Y); bulletbody.sprite.SetColor(new Color(1, 1, 1, 0.3f)); Stage1State._renderer.DrawSprite(bulletbody.sprite, (float)Position.X, (float)Position.Y, ag + 90); } else if (disposing) { BlueEsc.SetWidth(32 * (1 * (1 - _alpha) + 1)); BlueEsc.SetHeight(32 * (1 * (1 - _alpha) + 1)); BlueEsc.SetColor(new Color(1, 1, 1, _alpha * 0.6f)); BlueEsc.SetPosition(Position.X, Position.Y); Stage1State._renderer.DrawSprite(BlueEsc, (float)Position.X, (float)Position.Y, angle + 90); } }
public Stage1State(StateSystem system, TextureManager texturemanager, SoundManagerEx soundmanager, Form1 form = null) { _system = system; _textureManager = texturemanager; _soundmanager = soundmanager; if (form != null) { this.form = form; } GamePlayer = new Player(); Datas.CurrentPlayer = GamePlayer; gameview = new GameView(texturemanager, soundmanager, 5, GamePlayer); //中间层着色,注册角色 GamePlayer.RegisteredRCharactors(Datas.Charactors[Datas.Fore_People_Select], Datas.Charactors[Datas.Fore_People_Select]); // Form1.Charactors[Datas.Back_People_Select]); GamePlayer.Position.Y = 30; GamePlayer.RenderSpeed = 0.075f; //人物帧动画渲染速度 foretable = new ForeTable(texturemanager, 10); //最前层着色 foretable.HighScores = 0; foretable.Power = 0; foretable.Graze = 0; foretable.CurrentPoint = 0; foretable.LevelPoint = 1550; foretable.CurrentTims = 0; foretable.TotleTims = 6400; foretable.GameLevel = 1; Logo = new Sprite(); Logo.Texture = texturemanager.Get("logo1"); Logo.SetWidth(192); Logo.SetHeight(192); Logo.SetPosition(210, -130); test = new Extra.VariableSprite(); test.BindSprite(Logo); test.SetAttribute(210, -130, 0, 192, 192); fonc = new FontAciHuaKang(texturemanager); TextWriter = new FontWriterTool(fonc); }
StateSystem _system; // 状态机 #endregion Fields #region Constructors public Stage1State(StateSystem system , TextureManager texturemanager , SoundManagerEx soundmanager ,Form1 form = null) { _system = system; _textureManager = texturemanager; _soundmanager = soundmanager; if(form != null) this.form = form; GamePlayer = new Player(); Datas.CurrentPlayer = GamePlayer; gameview = new GameView(texturemanager, soundmanager, 5 , GamePlayer); //中间层着色,注册角色 GamePlayer.RegisteredRCharactors(Datas.Charactors[Datas.Fore_People_Select], Datas.Charactors[Datas.Fore_People_Select]);// Form1.Charactors[Datas.Back_People_Select]); GamePlayer.Position.Y = 30; GamePlayer.RenderSpeed = 0.075f; //人物帧动画渲染速度 foretable = new ForeTable(texturemanager, 10); //最前层着色 foretable.HighScores = 0; foretable.Power = 0; foretable.Graze = 0; foretable.CurrentPoint = 0; foretable.LevelPoint = 1550; foretable.CurrentTims = 0; foretable.TotleTims = 6400; foretable.GameLevel = 1; Logo = new Sprite(); Logo.Texture = texturemanager.Get("logo1"); Logo.SetWidth(192); Logo.SetHeight(192); Logo.SetPosition(210, -130); test = new Extra.VariableSprite(); test.BindSprite(Logo); test.SetAttribute(210, -130, 0, 192, 192); fonc = new FontAciHuaKang(texturemanager); TextWriter = new FontWriterTool(fonc); }
public RedButterfly(TextureManager texturemanager , float orix , float oriy, float speed =180) { this.speed = speed; max_distance = speed * max_percent; min_distance = speed * min_percent; sprites = new Sprite[bodycount]; positions = new Vector2D[bodycount]; multiSprites = new MultiSprite[2]; speeds = new float[bodycount]; Texture texture = texturemanager.Get("enemys1"); float percent = 1; for (int i = 0; i < bodycount; i++) { percent = (float)i / (bodycount-1); speeds[i] = speed - percent * speed * divide_percent; percent = 1 - percent; percent *= percent; sprites[i] = new Sprite(); sprites[i].Texture = texture; sprites[i].SetWidth(percent *32); sprites[i].SetHeight(percent * 32); sprites[i].SetUVs(0, 0, 0, 0); sprites[i].SetPosition(orix, oriy); positions[i] = new Vector2D(orix, oriy); } sprite = new Sprite(); sprite.Texture = texture; sprite.SetWidth(32); sprite.SetHeight(32); sprite.SetPosition(orix, oriy); multiSprites[1] = new MultiSprite(sprites); //身体(球),导入整个数组进入 multiSprites[1].changeinterval = 0.15f; multiSprites[0] = new MultiSprite(sprite); //头部(蝴蝶) multiSprites[0].changeinterval = 0.05f; multiSprite = multiSprites[0]; RecTangleF[] rects = new RecTangleF[4]; for (int i = 0; i < 4; i++) { rects[i] = new RecTangleF(16*per_512+ i * per_512 * 4, 20*per_512, 16 * per_512 + (i + 1) * 4 * per_512, 24 * per_512); } multiSprites[0].RegeditState(0, rects); rects = new RecTangleF[4]; for (int i = 0; i < 4; i++) { rects[i] = new RecTangleF(32 * per_512 + i * per_512 * 4, 20 * per_512, 32 * per_512 + (i + 1) * 4 * per_512, 24 * per_512); } multiSprites[1].RegeditState(0, rects); effect = new StartEffect_Red(Stage1State._textureManager); }