public void Draw(SpriteBatch batch) { batch.GraphicsDevice.SetRenderTarget(renderTarget); batch.Begin(SpriteSortMode.Deferred, null, null, null, null, null, camera.GetTransform()); background.Draw(batch, camera); batch.End(); batch.GraphicsDevice.SetRenderTarget(null); batch.Begin(SpriteSortMode.Deferred, null, null, null, null, effect, null); batch.Draw(renderTarget, Vector2.Zero, Color.White); batch.End(); batch.Begin(SpriteSortMode.Deferred, null, null, null, null, null, camera.GetTransform()); map.Draw(batch); BulletsEverywhere.Draw(batch); enemyHandler.Draw(batch); character.Draw(batch); batch.End(); }
private void DrawFocus() { Renderer_2D.Begin(Camera2D.GetTransform()); Vector2 imgSize = ResouceManager.GetTextureSize("Focus"); Rectangle rect = new Rectangle(0, 0, (int)imgSize.X, (int)imgSize.Y); Renderer_2D.DrawTexture("Focus", focus, Color.Yellow, 0.2f, rect, Vector2.One, 0, imgSize / 2); Renderer_2D.End(); }
public override void Draw() { Renderer_2D.Begin(Camera2D.GetTransform()); string name = energyBar.GetImgName(); Vector2 imgSize = ResouceManager.GetTextureSize(name); Rectangle rect = new Rectangle(0, 0, (int)(imgSize.X * energyBar.GetRate()), (int)imgSize.Y); Vector2 position = entity.transform.Position; while (entity.transform.Angle < 0) { entity.transform.Angle += 360; } float angle = entity.transform.Angle; if (angle % 180 == 0) { angle--; } float radian = MathHelper.ToRadians(angle); Vector2 direction = new Vector2((float)Math.Cos(radian), (float)Math.Sin(radian)); Vector2 offsetVert = Method.RightAngleMove(direction, 270); angle += 90; int area = (int)(angle / 90); radian = MathHelper.ToRadians(angle); direction = new Vector2((float)Math.Cos(radian), (float)Math.Sin(radian)); radian = MathHelper.ToRadians(entity.transform.Angle); Vector2 offsetHori = Vector2.Zero; if (area % 4 == 0 || area % 4 == 2) { offsetHori = Method.RightAngleMove(direction, 40); } else { offsetHori = Method.RightAngleMove(direction, -40); } Renderer_2D.DrawTexture( name, position + offsetVert + offsetHori, Color.LightGreen, alpha, rect, Vector2.One, radian, imgSize / 2 ); Renderer_2D.End(); }
public override void Draw() { Renderer_2D.Begin(Camera2D.GetTransform()); Vector2 imgSize = ResouceManager.GetTextureSize(name); Rectangle rect = new Rectangle(0, 0, (int)imgSize.X, (int)imgSize.Y); Renderer_2D.DrawTexture(name, position, alpha, rect, Vector2.One, 0, imgSize / 2); Renderer_2D.End(); }
public void Draw() { Renderer_2D.Begin(Camera2D.GetTransform()); Vector2 imgSize = ResouceManager.GetTextureSize("Mouse"); Rectangle rect = new Rectangle(0, 0, (int)imgSize.X, (int)imgSize.Y); Renderer_2D.DrawTexture("Mouse", GetPosition(), Color.LightBlue, Vector2.One); Renderer_2D.End(); }
protected virtual void DrawObject() { Renderer_2D.Begin(Camera2D.GetTransform()); Vector2 imgSize = ResouceManager.GetTextureSize(name); Rectangle rect = new Rectangle(0, 0, (int)imgSize.X, (int)imgSize.Y); Renderer_2D.DrawTexture(name, position, Color.White, 1, rect, Vector2.One, 0, imgSize / 2); Renderer_2D.End(); }
public void Draw() { Renderer_2D.Begin(Camera2D.GetTransform()); for (int i = 0; i < imgCount; i++) { string imageName = name + i; Renderer_2D.DrawTexture(imageName, layerPositions[i]); } Renderer_2D.End(); }
private void DrawWall() { Renderer_2D.Begin(Camera2D.GetTransform()); for (int i = 0; i < mapPointsList[eObjectType.Wall].Count; i += 2) { Renderer_2D.DrawLine( mapPointsList[eObjectType.Wall][i].Position, mapPointsList[eObjectType.Wall][i + 1].Position, Color.LightGreen ); } Renderer_2D.End(); }
public override void Draw() { Renderer_2D.Begin(Camera2D.GetTransform()); Vector2 position = entity.transform.Position + offset; Vector2 imgSize = ResouceManager.GetTextureSize(name); Rectangle rect = new Rectangle(0, 0, (int)imgSize.X, (int)imgSize.Y); Vector2 drawSize = new Vector2(size.X / imgSize.X, size.Y / imgSize.Y) * 2; Renderer_2D.DrawTexture(name, position, color, alpha, rect, drawSize, 0, imgSize / 2); Renderer_2D.End(); }
protected override void DrawObject() { Renderer_2D.Begin(Camera2D.GetTransform()); Color color = isSelected ? Color.Red : Color.White; Vector2 imgSize = ResouceManager.GetTextureSize(name); Rectangle rect = new Rectangle(0, 0, (int)imgSize.X, (int)imgSize.Y); Renderer_2D.DrawTexture(name, position, color, 1, rect, Vector2.One, 0, imgSize / 2); Renderer_2D.End(); }
protected virtual void DrawCollition() { Renderer_2D.Begin(Camera2D.GetTransform()); Color color = isMouseIn ? Color.Red : Color.Yellow; Vector2 imgSize = ResouceManager.GetTextureSize("CollisionArea"); Rectangle rect = new Rectangle(0, 0, (int)imgSize.X, (int)imgSize.Y); Vector2 drawSize = new Vector2(radius / imgSize.X, radius / imgSize.Y) * 2; Renderer_2D.DrawTexture("CollisionArea", position, color, 0.5f, rect, drawSize, 0, imgSize / 2); Renderer_2D.End(); }
public override void Draw() { actionTimer.Update(); CreatSecondCircle(); SkillAction(); Renderer_2D.Begin(Camera2D.GetTransform()); Vector2 position = entity.transform.Position - new Vector2(0, 130); Rectangle rect = new Rectangle(0, 0, (int)imgSize.X, (int)imgSize.Y); Renderer_2D.DrawTexture(name, position, alpha * 0.8f, rect, Vector2.One * nowSize, 0, imgSize / 2); Renderer_2D.End(); }
public override void Draw() { Renderer_2D.Begin(Camera2D.GetTransform()); for (int i = 0; i < linePoint.Count - 1; i++) { Renderer_2D.DrawLine( linePoint[i], linePoint[i + 1], Color.Yellow ); } Renderer_2D.End(); }
public override void Draw() { Renderer_2D.Begin(Camera2D.GetTransform()); if (scrollSpeed == 0) { DrawNoScoll(); } else { DrawScoll(); } Renderer_2D.End(); }
private void DrawBezierLine() { Renderer_2D.Begin(Camera2D.GetTransform()); for (int i = 0; i < bezierPositions.Count; i++) { for (int j = 0; j < bezierPositions[i].Count - 1; j++) { Renderer_2D.DrawLine( bezierPositions[i][j], bezierPositions[i][j + 1], Color.Yellow ); } } Renderer_2D.End(); }
public override void Draw() { locusPositions.Add(entity.transform.Position); if (locusPositions.Count > 100) { locusPositions.RemoveAt(0); } Renderer_2D.Begin(Camera2D.GetTransform()); locusPositions.ForEach(locus => Renderer_2D.DrawTexture(name, locus, 1, rect, Vector2.One, 0, imgSize / 2, depth) ); Renderer_2D.End(); }
public override void Update(GameTime gameTime) { KeyboardState kState = Keyboard.GetState(); MouseState mState = Mouse.GetState(); #region [Camera Update] if (kState.IsKeyDown(Keys.Q)) { Camera.Zoom += 0.1f; } else if (kState.IsKeyDown(Keys.E)) { Camera.Zoom -= 0.1f; } float ammount = 4f; if (kState.IsKeyDown(Keys.W)) { Camera.Position.Y -= ammount; } else if (kState.IsKeyDown(Keys.S)) { Camera.Position.Y += ammount; } if (kState.IsKeyDown(Keys.A)) { Camera.Position.X -= ammount; } else if (kState.IsKeyDown(Keys.D)) { Camera.Position.X += ammount; } Camera.GetTransform(Graphics.GraphicsDevice); #endregion foreach (Sprite s in enemies) { s.Update(gameTime); } }
protected override void DrawObject() { base.DrawObject(); Renderer_2D.Begin(Camera2D.GetTransform()); //Renderer_2D.DrawLine(leftTop.Position, rightBottom.Position, Color.LightBlue, false); Vector2 centre = (leftTop.Position + rightBottom.Position) / 2; Vector2 square = rightBottom.Position - leftTop.Position; Vector2 size = ResouceManager.GetTextureSize("UnitLine"); square.X /= size.X; square.Y /= size.Y; Rectangle rect = new Rectangle(0, 0, (int)size.X, (int)size.Y); Renderer_2D.DrawTexture("UnitLine", centre, 0.2f, rect, square, 0, size / 2); Renderer_2D.End(); }
public override void Draw() { if (!Parameter.IsDebug) { return; } Renderer_2D.Begin(Camera2D.GetTransform()); for (int i = 0; i < bezierPoints.Count; i++) { for (int j = 0; j < bezierPoints[i].Count - 1; j++) { Renderer_2D.DrawLine( bezierPoints[i][j], bezierPoints[i][j + 1], Color.Yellow ); } } Renderer_2D.End(); }
private void DrawBezierCurve() { if (bezierCurves.Count == 0) { return; } Renderer_2D.Begin(Camera2D.GetTransform()); Vector2 imgSize = ResouceManager.GetTextureSize("Point"); Rectangle rect = new Rectangle(0, 0, (int)imgSize.X, (int)imgSize.Y); for (int k = 0; k < bezierCurves.Count; k++) { for (int i = 0; i < bezierCurves[k].Count; i++) { for (int j = 0; j < bezierCurves[k][i].Count; j++) { Renderer_2D.DrawTexture("Point", bezierCurves[k][i][j], Color.LightGreen, 1, rect, Vector2.One * 0.3f, 0, imgSize / 2); } } } Renderer_2D.End(); }
public override void Draw() { if (!Parameter.IsDebug) { return; } if (inputState.IsDown(Keys.W)) { Camera2D.ZoomIn(); } if (inputState.IsDown(Keys.S)) { Camera2D.ZoomOut(); } Renderer_2D.Begin(); DrawTextMessage(); Renderer_2D.End(); Renderer_2D.Begin(Camera2D.GetTransform()); DrawEntityPosition(); Renderer_2D.End(); }
public override void Draw(SpriteBatch spriteBatch, GameTime gameTime) { if (GameSettings.gameState == GameState.Explore) { spriteBatch.Begin(SpriteSortMode.Deferred, null, SamplerState.PointClamp, null, null, null, cam.GetTransform()); //OBS!! Skriv bara här om ni vill att det som ritas ut ska vara beroende av kameran (allt utom tex healthbars eller poäng) world.Draw(spriteBatch); player.Draw(spriteBatch); spriteBatch.End(); spriteBatch.Begin(SpriteSortMode.Deferred, null, SamplerState.PointClamp, null, null, null, null); //OBS!! Skriv bara här om ni vill att det som ritas ut ska vara oberoende av kameran (tex healthbars eller poäng) hud.DrawExplore(spriteBatch); spriteBatch.End(); } else if (GameSettings.gameState == GameState.Battle) { spriteBatch.Begin(SpriteSortMode.Deferred, null, SamplerState.PointClamp, null, null, null, cam.GetTransform()); //OBS!! Skriv bara här om ni vill att det som ritas ut ska vara beroende av kameran (allt utom tex healthbars eller poäng) spriteBatch.End(); spriteBatch.Begin(SpriteSortMode.Deferred, null, SamplerState.PointClamp, null, null, null, null); //OBS!! Skriv bara här om ni vill att det som ritas ut ska vara oberoende av kameran (tex healthbars eller poäng) combat.Draw(spriteBatch, gameTime); spriteBatch.End(); } else if (GameSettings.gameState == GameState.Inventory) { spriteBatch.Begin(SpriteSortMode.Deferred, null, SamplerState.PointClamp, null, null, null, cam.GetTransform()); //OBS!! Skriv bara här om ni vill att det som ritas ut ska vara beroende av kameran (allt utom tex healthbars eller poäng) world.Draw(spriteBatch); player.Draw(spriteBatch); spriteBatch.End(); spriteBatch.Begin(SpriteSortMode.Deferred, null, SamplerState.PointClamp, null, null, null, null); hud.DrawExplore(spriteBatch); hud.statScreen.Draw(spriteBatch); if (hud.statScreen.showSummary == true) { hud.statScreen.DrawCombatSummary(spriteBatch); } spriteBatch.End(); } }
public override void Draw() { if (motion == null) { return; } float radian = MathHelper.ToRadians(entity.transform.Angle); Vector2 position = entity.transform.Position; Vector2 direction = new Vector2((float)Math.Cos(radian), (float)Math.Sin(radian)); if (isShaderOn) { shadeTimer.Update(); if (shadeTimer.IsTime) { effect.Parameters["theMask"].SetValue(ResouceManager.GetTexture("NoneMask")); } graphicsDevice.RasterizerState = RasterizerState.CullClockwise; effect.Parameters["Rate"].SetValue(shadeTimer.Rate()); Vector2 drawPosition = position + Camera2D.GetOffsetPosition() + Method.RightAngleMove(direction, animSpriteSize.Y / 2); Vector3 drawP3 = new Vector3(drawPosition, 0); VertexUpdate(drawP3); graphicsDevice.SetVertexBuffer(vertexBuffer); foreach (EffectPass pass in effect.CurrentTechnique.Passes) { pass.Apply(); graphicsDevice.DrawUserPrimitives <VertexPositionTexture>( PrimitiveType.TriangleStrip, vertexPositions, 0, 2 ); } if (shadeTimer.IsTime) { isShaderOn = false; } } else { motion.Update(); Renderer_2D.Begin(Camera2D.GetTransform()); while (entity.transform.Angle < 0) { entity.transform.Angle += 360; } int angle = (int)(entity.transform.Angle / 90); Renderer_2D.DrawTexture( nowAnim.AnimName, position + Method.RightAngleMove(direction, animSpriteSize.Y / 2), alpha, motion.DrawingRange(), Vector2.One * size, radian, animSpriteSize / 2, angle % 4 == 0 || angle % 4 == 3 ); Renderer_2D.End(); } }
public override void Update(GameTime gameTime) { KeyboardState kState = Keyboard.GetState(); MouseState mState = Mouse.GetState(); #region [Emitters Update] if (mState.LeftButton == ButtonState.Pressed) { Vector2 cursorScreenToWorldPosition = Camera.GetScreenToWorldPosition(new Vector2(mState.X, mState.Y)); Emitters[5].EmitterBox.X = cursorScreenToWorldPosition.X; Emitters[5].EmitterBox.Y = cursorScreenToWorldPosition.Y; Emitters[5].Activated = true; } else { Emitters[5].Activated = false; } if (mState.RightButton == ButtonState.Pressed) { Vector2 cursorScreenToWorldPosition = Camera.GetScreenToWorldPosition(new Vector2(mState.X, mState.Y)); Emitters[6].EmitterBox.X = cursorScreenToWorldPosition.X; Emitters[6].EmitterBox.Y = cursorScreenToWorldPosition.Y; Emitters[6].Activated = true; } else { Emitters[6].Activated = false; } foreach (ParticleEmitter Emitter in Emitters) { Emitter.Update(gameTime); } #endregion #region [Camera Update] if (kState.IsKeyDown(Keys.Q)) { Camera.Zoom += 0.1f; } else if (kState.IsKeyDown(Keys.E)) { Camera.Zoom -= 0.1f; } float ammount = 4f; if (kState.IsKeyDown(Keys.W)) { Camera.Position.Y -= ammount; } else if (kState.IsKeyDown(Keys.S)) { Camera.Position.Y += ammount; } if (kState.IsKeyDown(Keys.A)) { Camera.Position.X -= ammount; } else if (kState.IsKeyDown(Keys.D)) { Camera.Position.X += ammount; } Camera.GetTransform(Graphics.GraphicsDevice); #endregion }
public override void Update(GameTime gameTime) { /* * Input State refresh */ KeyboardState kState = Keyboard.GetState(); MouseState mState = Mouse.GetState(); if (kState.IsKeyDown(Keys.Q)) { player.StartBlinking(gameTime); } /* * Player Update */ player.UpdateMotion(gameTime, kState, level); /* * AI (lol) Update */ foreach (Sprite s in enemies) { if (s.Alive) { s.Update(gameTime); if (Physics.Overlap(s, player) && !player.IsBlinking) // when blinking, take no damage { player.ReceiveDamage(s.Damage); player.StartBlinking(gameTime); } } } foreach (Tile spike in spikesPointingDown) { if (Physics.Overlap(spike, player) && !player.IsBlinking) // when blinking, take no damage { player.ReceiveDamage(10); player.StartBlinking(gameTime); } } foreach (Tile spike in spikesPointingUp) { if (Physics.Overlap(spike, player) && !player.IsBlinking) // when blinking, take no damage { player.ReceiveDamage(10); player.StartBlinking(gameTime); } } /* * Projectiles */ foreach (Bullet b in player.Bullets) { if (b.Alive) { foreach (Tile t in level.CollidableTiles) { if (Physics.Overlap(b, t)) { b.Kill(); } } foreach (Sprite s in enemies) { if (s.Alive) { if (Physics.Overlap(b, s)) { b.Kill(); s.ReceiveDamage(b.Damage); s.StartBlinking(gameTime); // we should remove dead actors from the list } } } } } /* * UI Update */ energyBar.SetPercent((int)(player.Energy * 100f / player.MaxEnergy)); healthBar.SetPercent((int)(player.Health * 100f / player.MaxHealth)); camera.Position = new Vector2(player.Body.Position.X, 7 * 16); camera.GetTransform(Graphics.GraphicsDevice); /* * End Condition */ if (!player.Alive) { // show end game screen // now we will just restart this state StateManager.Instance.StartGameState("PlayState"); } }