/// <summary>
        /// Draws the Icon Background Texture
        /// </summary>
        /// <param name="InitSprite">Indicates whether to initialize the Sprite object or not (if it's already initialized)</param>
        /// <param name="Size">Size of the destination rectangle</param>
        /// <param name="Center">Point of the center of the background</param>
        public void DrawIconBg(bool InitSprite, Size Size, Point Center)
        {
            try
            {
                if (Global.Configuration.Images.IconBackgroundImagePath != "" && IconBg != null)
                {
                    if (InitSprite)
                    {
                        SpritePainter.Begin(SpriteFlags.AlphaBlend);
                    }

                    SpritePainter.Draw2D(IconBg.Texture,
                                         Rectangle.Empty,
                                         //new Size(IconBgDesc.Width,IconBgDesc.Height),
                                         new SizeF(Size.Width, Size.Height),
                                         new Point(Center.X - Size.Width / 2, Center.Y - Size.Height / 2),
                                         Color.FromArgb(Global.Configuration.Appearance.IconBackgroundAlpha, Color.White).ToArgb());

                    if (InitSprite)
                    {
                        SpritePainter.End();
                    }
                }
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine(ex.Message + "\n" + ex.StackTrace);
                if (InitSprite)
                {
                    SpritePainter.End();
                }
            }
        }
Example #2
0
 void XTimer_Tick(object sender, EventArgs e)
 {
     XDevice.BeginScene();
     XSprite.Begin(SpriteFlags.AlphaBlend);
     if (FadeState == 0)
     {
         XSprite.Draw2D(FadeTexture, new Rectangle(0, 0, 1, 1), new SizeF(XDevice.DisplayMode.Width, XDevice.DisplayMode.Height), Point.Empty, FadeColor);
         Particle.DrawParticles();
     }
     else
     {
         Particle.DrawParticles();
         XSprite.Draw2D(FadeTexture, new Rectangle(0, 0, 1, 1), new SizeF(XDevice.DisplayMode.Width, XDevice.DisplayMode.Height), Point.Empty, Color.FromArgb(FadeState, Color.Black));
         if (FadeState == 255)
         {
             Particle.ClearParticles();
             Particle.AddControlPoints(Settings.Default.ParticleControlCount);
             Particle.AddParticles(Settings.Default.ParticleCount);
             FadeState = 0;
             FadeTimer.Start();
         }
         else
         {
             FadeState += FADE_STEP;
             if (FadeState > 255)
             {
                 FadeState = 255;
             }
         }
     }
     XSprite.End();
     IH.Draw();
     XDevice.EndScene();
     XDevice.Present();
 }
Example #3
0
        public void Present()
        {
            // device.Clear(ClearFlags.Target, Color.Black, 0.0f, 0);
            device.BeginScene();
            sprite.Begin(SpriteFlags.None);
            device.SetSamplerState(0, SamplerStageStates.MagFilter, true);
            device.SetSamplerState(0, SamplerStageStates.MinFilter, true);
            sprite.Draw2D(offScreenImage, new Rectangle(0, 0, Mafia.SCREEN_WIDTH, Mafia.SCREEN_HEIGHT), new Size(Mafia.SCREEN_WIDTH * 2, Mafia.SCREEN_HEIGHT * 2), new Point(0, 0), Color.White);
            sprite.End();
            device.EndScene();
            device.Present();

            // 描画が重いとき再現用。
            // System.Threading.Thread.Sleep(100);
        }
        protected override void OnPaint(PaintEventArgs pe)
        {
            if ((this.m_FormRenderFrame.Device != null) && (this.m_FormRenderFrame.Texture != null) && (this.Visible) && (this.WindowState != FormWindowState.Minimized))
            {
                try {
                    this.m_FormRenderFrame.Device.Clear(ClearFlags.Target | ClearFlags.ZBuffer, Color.Black, 1F, 0);

                    SurfaceDescription surfaceDescription = this.m_FormRenderFrame.Texture.GetLevelDescription(0);
                    Size size = new Size(surfaceDescription.Width, surfaceDescription.Height);

                    Size targetSize = new Size(Math.Max(1, (Int32)((Single)size.Width * this.m_ZoomFactor)), Math.Max(1, (Int32)((Single)size.Height * this.m_ZoomFactor)));
                    if (this.Size != targetSize)
                    {
                        this.Size = targetSize;
                    }

                    this.m_FormRenderFrame.Device.BeginScene();

                    Sprite sprite = new Sprite(this.m_FormRenderFrame.Device);
                    sprite.Begin(SpriteFlags.None);
                    sprite.Draw2D(this.m_FormRenderFrame.Texture, new Rectangle(new Point(0, 0), size), new SizeF(((Single)size.Width * this.m_ZoomFactor), ((Single)size.Height * this.m_ZoomFactor)), new PointF(0F, 0F), Color.FromArgb(255, 255, 255, 255));
                    sprite.End();
                    sprite.Dispose();

                    this.m_FormRenderFrame.Device.EndScene();
                    this.m_FormRenderFrame.Device.Present();
                } catch {
                }
            }
        }
Example #5
0
        private void RenderSprite(
            Sprite sprite,
            Texture texture,
            Size srcSize,
            RectangleF dstRect,
            bool antiAlias)
        {
            var srcRect = new Rectangle(
                0,
                0,
                srcSize.Width,
                srcSize.Height);

            sprite.Begin(SpriteFlags.None);
            try
            {
                if (!antiAlias)
                {
                    Allocator.Device.SetSamplerState(0, SamplerStageStates.MinFilter, (int)TextureFilter.Point);
                    Allocator.Device.SetSamplerState(0, SamplerStageStates.MagFilter, (int)TextureFilter.Point);
                    Allocator.Device.SetSamplerState(0, SamplerStageStates.MipFilter, (int)TextureFilter.Point);
                }
                sprite.Draw2D(
                    texture,
                    srcRect,
                    dstRect.Size,
                    dstRect.Location,
                    -1);
            }
            finally
            {
                sprite.End();
            }
        }
Example #6
0
        /// <summary>
        /// Renders the Screenshot
        /// </summary>
        /// <param name="InitSprite">Tells the render method if it should Begin() the Sprite object or not</param>
        public void Render(bool InitSprite)
        {
            try
            {
                // only draw if ready
                if (CanDraw)
                {
                    // init if needed
                    if (InitSprite)
                    {
                        SpritePainter.Begin(SpriteFlags.AlphaBlend);
                    }

                    // draw
                    SpritePainter.Draw2D(ScreenCapture.Texture,
                                         Rectangle.Empty,
                                         new SizeF(ScreenCapture.Description.Width, ScreenCapture.Description.Height),
                                         new Point(0, 0),
                                         Color.FromArgb(Alpha, Color.White));

                    // stop if needed
                    if (InitSprite)
                    {
                        SpritePainter.End();
                    }
                }
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine(ex.Message + "\n" + ex.StackTrace);
            }
        }
        protected override void OnPaint(PaintEventArgs pe)
        {
            if ((this.m_FormRenderFrame.Device != null) && (this.m_FormRenderFrame.Texture != null) && (this.Visible) && (this.WindowState != FormWindowState.Minimized)) {
            try {
              this.m_FormRenderFrame.Device.Clear(ClearFlags.Target | ClearFlags.ZBuffer, Color.Black, 1F, 0);

              SurfaceDescription surfaceDescription = this.m_FormRenderFrame.Texture.GetLevelDescription(0);
              Size size = new Size(surfaceDescription.Width, surfaceDescription.Height);

              Size targetSize = new Size(Math.Max(1, (Int32)((Single)size.Width * this.m_ZoomFactor)), Math.Max(1, (Int32)((Single)size.Height * this.m_ZoomFactor)));
              if (this.Size != targetSize) {
            this.Size = targetSize;
              }

              this.m_FormRenderFrame.Device.BeginScene();

              Sprite sprite = new Sprite(this.m_FormRenderFrame.Device);
              sprite.Begin(SpriteFlags.None);
              sprite.Draw2D(this.m_FormRenderFrame.Texture, new Rectangle(new Point(0, 0), size), new SizeF(((Single)size.Width * this.m_ZoomFactor), ((Single)size.Height * this.m_ZoomFactor)), new PointF(0F, 0F), Color.FromArgb(255, 255, 255, 255));
              sprite.End();
              sprite.Dispose();

              this.m_FormRenderFrame.Device.EndScene();
              this.m_FormRenderFrame.Device.Present();
            } catch {
            }
              }
        }
Example #8
0
 private void DrawImage(Device gd, Sprite s, Texture t, int X, int Y)
 {
     position.X = X;
     position.Y = Y;
     s.Begin(SpriteFlags.AlphaBlend);
     s.Draw2D(t, rotationPoint, 0f, position, Color.White);
     s.End();
 }
 public void Draw(Device dev)
 {
     m_Sprite.Begin(SpriteFlags.AlphaBlend);
     {
         m_Sprite.Draw2D(m_Texture, new Rectangle(0, 0, m_TexWidth, m_TexHeight), m_Size, new PointF(m_X, m_Y), m_Color);
     }
     m_Sprite.End();
 }
 public void Draw(Device dev)
 {
     m_Sprite.Begin(SpriteFlags.AlphaBlend);
     {
         m_Sprite.Draw2D(m_Texture, new Rectangle(0, 0, m_TexWidth, m_TexHeight), m_SizeScaled, m_RotationCenter, m_Rotation,
                         new PointF(m_X + m_SizeScaled.Width / 2, m_Y + m_SizeScaled.Height / 2), m_Color);
     }
     m_Sprite.End();
 }
 public void Draw(Sprite sprite, int grid_size)
 {
     if (m_file_texture != null)
     {
         sprite.Begin(SpriteFlags.AlphaBlend);
         sprite.Draw2D(m_file_texture, m_source, new Rectangle(0, 0, grid_size, grid_size), new Point((int)((float)m_location.X * ((float)grid_size / ((float)grid_size / (float)m_source.Width))),
                                                                                                      (int)(float)(m_location.Y * ((float)grid_size / ((float)grid_size / (float)m_source.Height)))), Color.White);
         sprite.End();
     }
 }
        //public ControlElement(Device device, string text, Point position, Size size,
        //    Texture textureNormal, Texture textureHover, Texture textureClick)
        //{
        //    this.device = device;
        //    this.elementSprite = new Sprite(device);
        //    this.text = text;
        //    this.position = position;
        //    this.size = size;
        //    this.textureNormal = textureNormal;
        //    this.textureHover = textureHover;
        //    this.textureClick = textureClick;

        //    this.textureCurrent = this.textureNormal;
        //}

        public virtual void Draw()
        {
            if (this.textureCurrent != null)
            {
                elementSprite.Begin(SpriteFlags.AlphaBlend);
                elementSprite.Draw2D(textureCurrent, Rectangle.Empty, this.size, (PointF)this.position, Color.White.ToArgb());
                this.font.DrawText(elementSprite, this.text, textPosition, textColor);
                elementSprite.End();
            }
        }
Example #13
0
        public void RenderHUDLogos()
        {
            var d3dDevice = D3DDevice.Instance.Device;
            //TgcTexture textura;
            var sprite = new Sprite(d3dDevice);

            sprite.Begin(SpriteFlags.AlphaBlend);
            sprite.Draw2D(texturaLogo, Rectangle.Empty, new SizeF(80, 80), new PointF(D3DDevice.Instance.Width - 155, D3DDevice.Instance.Height - 90), Color.Blue);
            sprite.End();
        }
Example #14
0
 private void Render()
 {
     device.Clear(ClearFlags.Target, Color.CornflowerBlue, 0, 1);
     device.BeginScene();
     using (Sprite s = new Sprite(device))
     {
         s.Begin(SpriteFlags.AlphaBlend);
         s.Draw2D(texture_background, new Rectangle(0, 0, 0, 0), new Rectangle(0, 0, device.Viewport.Width, device.Viewport.Height), new Point(0, 0), 0f, new Point(0, 0), Color.White);
         s.Draw2D(texture_score, new Rectangle(0, 0, 0, 0), new Rectangle(0, 0, 200, 200), new Point(0, 0), 0f, new Point(45, -30), Color.White);
         font.DrawText(s, "Level ", new Point(100, 60), Color.Black);
         font.DrawText(s, "Hits ", new Point(100, 90), Color.Black);
         font.DrawText(s, "Score ", new Point(100, 120), Color.Black);
         foreach (Characters c in ch)
         {
             if (c.type == 0)
             {
                 s.Draw2D(texture_cat, new Rectangle(0, 0, 0, 0), new Rectangle(0, 0, 200, 200), new Point(0, 0), 0f, new Point((int)(c.CharacterCoordinates.X), (int)c.CharacterCoordinates.Y), Color.White);
             }
             if (c.type == 1)
             {
                 s.Draw2D(texture_bird, new Rectangle(0, 0, 0, 0), new Rectangle(0, 0, 200, 200), new Point(0, 0), 0f, new Point((int)(c.CharacterCoordinates.X + (int)(0.2)), (int)c.CharacterCoordinates.Y + (int)(0.2)), Color.White);
             }
             if (c.type == 2)
             {
                 s.Draw2D(texture_snake, new Rectangle(0, 0, 0, 0), new Rectangle(0, 0, 200, 200), new Point(0, 0), 0f, new Point((int)(c.CharacterCoordinates.X + (int)(0.8)), (int)c.CharacterCoordinates.Y + (int)(0.8)), Color.White);
             }
         }
         s.Draw2D(texture_milk, new Rectangle(0, 0, 0, 0), new Rectangle(0, 0, 200, 200), new Point(0, 0), 0f, new Point((int)x2, (int)y2), Color.White);
         s.End();
     }
     device.EndScene();
     device.Present();
 }
 void Render()
 {
     if (d3dDevice != null)
     {
         d3dDevice.Clear(ClearFlags.Target | ClearFlags.ZBuffer, splitContainer1.Panel2.BackColor, 1.0f, 0);
         d3dDevice.BeginScene();
         sprite.Begin(SpriteFlags.AlphaBlend);
         d3dDevice.SamplerState[0].AddressU = TextureAddress.Wrap;
         d3dDevice.SamplerState[0].AddressV = TextureAddress.Wrap;
         sprite.Draw2D(gridTexture, gridRect, grideSize, gridIndex, Color.Green);
         sprite.Flush();
         d3dDevice.SetTransform(TransformType.World, Matrix.Transformation2D(new Vector2(centerPoint.X, centerPoint.Y), 0, world_scale, Vector2.Empty, 0, world_trans));
         if (selectedFrame != null)
         {
             sprite.Draw2D(selectedFrame.texture, selectedFrame.centerPoint, 0, centerPoint, Color.White);
         }
         sprite.Draw2D(centerPointTexture, centerPointCP, centerPointTextureRotation, centerPoint, centerPointTextureColor);
         sprite.End();
         d3dDevice.EndScene();
         d3dDevice.Present();
     }
 }
Example #16
0
        public void RenderHUD()
        {
            var d3dDevice = D3DDevice.Instance.Device;
            //TgcTexture textura;
            var sprite = new Sprite(d3dDevice);

            sprite.Begin(SpriteFlags.AlphaBlend);
            for (var i = 0; i < Env.Personaje.vidas; i++)
            {
                sprite.Draw2D(texturaVida, Rectangle.Empty, new SizeF(32, 32), new PointF(20 + 32 * i, 650), Color.Red);
            }
            sprite.End();
        }
Example #17
0
 /// <summary>
 /// This method uses Draw2D to easily draw the sprite to screen space.
 /// </summary>
 public void Draw(Sprite sprite)
 {
     sprite.Draw2D(tex, srcRect,
                   //The destination size
                   new SizeF(spriteWidth, spriteHeight),
                   //The center point (For Draw2D, this value is relative to the source image, not the scaled end image)
                   new PointF(srcRect.Width / 2f, srcRect.Height / 2f),
                   //The angle of rotation is simply the direction of the sprite
                   direction,
                   //the position is calculated from the center of the sprite
                   new PointF(position.X, position.Y),
                   Color.White);
 }
Example #18
0
        /// <summary>
        /// Funkce zajisti vykreslovani konzole
        /// </summary>
        public static void RenderConsole()
        {
            console.Begin(SpriteFlags.AlphaBlend);
            console.Draw2D(background, srcRectangle, size, new System.Drawing.PointF(), Color.FromArgb(170, 255, 255, 255));

            for (int t = 0; t < consoleTexts.Count; t++)
            {
                f.DrawText(console, consoleTexts[t], 15, t * (int)(3f / 2f * (float)fontsize) + 8, Color.White);
            }

            f.DrawText(console, "> " + command + "_", 15, (int)(size.Height - 3f / 2f * (float)fontsize), Color.White);

            console.End();
        }
Example #19
0
        } //take any texture image as bg.

        private void Render()
        {
            device.Clear(ClearFlags.Target, Color.CornflowerBlue, 0, 1);
            device.BeginScene();
            using (Sprite s = new Sprite(device))
            {
                s.Begin(SpriteFlags.AlphaBlend);
                s.Draw2D(texture, new Rectangle(0, 0, 0, 0), new Rectangle(0, 0,
                                                                           device.Viewport.Width, device.Viewport.Height), new Point(0, 0), 0f, new
                         Point(0, 0), Color.DarkSlateGray);
                font.DrawText(s, "TYCS-6070", new Point(0, 0), Color.White);
                s.End();
            }
            device.EndScene();
            device.Present();
        }
Example #20
0
        public void Draw(Device gd, Sprite s, Texture t)
        {
            if (Current_BullStatus == status_BullStatus.miss)
            {
                return;
            }
            RiseCount++;
            X = BX + (int)(RiseCount * (step * 4 / Distance) * DX);
            Y = Y + (int)(RiseCount * (step / 32 / Distance) * DY);

            position.X = X;
            position.Y = Y;

            s.Begin(SpriteFlags.AlphaBlend);
            for (int j = 0; j < 16; j++)
            {
                for (int i = 0; i < bullcount; i++)
                {
                    if (i <= bullcount / 2 - 1)
                    {//(bullcount/2 - i) *
                        position.X = X - (bullcount / 2 - i) * RiseCount;
                        position.Y = Y - (bullcount / 2 - i) * (bullcount / 2 - i) * RiseCount / 30 + 30;
                    }
                    else if (i >= bullcount / 2 + 1)
                    {//(i - bullcount/2) *
                        position.X = X + (i - bullcount / 2) * RiseCount;
                        position.Y = Y - (i - bullcount / 2) * (i - bullcount / 2) * RiseCount / 30 + 30;
                    }
                    else
                    {
                        position.X = X;
                        position.Y = Y + 30;
                    }

                    s.Draw2D(t, rotationPoint, j * 0.4f, position, Color.White);
                }
            }

            /*position.X = X + RiseCount * RiseCount;
             * position.Y = Y;
             * s.Draw2D(t, rotationPoint, 0, position, Color.White);*/
            s.End();
            if (Y > 600)
            {
                Current_BullStatus = status_BullStatus.miss;
            }
        }
Example #21
0
        private void DrawImage(Device gd, Sprite s_boom, List <Texture> showPicture, int X, int Y)
        {
            if (currentFrame >= frameCount - 1)
            {
                currentFrame = 0;
            }
            else
            {
                currentFrame++;
            }

            position.X = X;
            position.Y = Y;
            s_boom.Begin(SpriteFlags.AlphaBlend);
            s_boom.Draw2D(showPicture[currentFrame], rotationPoint, 0f, position, Color.White);
            s_boom.End();
        }
Example #22
0
        public virtual void Render()
        {
            try
            {
                var device = GameAppFramework.GetGameAppFramework().Device;
                device.Clear(ClearFlags.Target, Color.HotPink, 0, 1);
                device.BeginScene();
                using (Sprite MenuSprite = new Sprite(device))
                {
                    MenuSprite.Begin(SpriteFlags.AlphaBlend);
                    MenuSprite.Draw2D(background, new Rectangle(0, 0, 0, 0), new Rectangle(0, 0, device.Viewport.Width, device.Viewport.Height), new Point(0, 0), 0f, new Point(0, 0), Color.White);
                    font.DrawText(MenuSprite, "EXITING................", new Point((device.Viewport.Width / 2) - 200, device.Viewport.Height / 2), Color.White);
                    MenuSprite.End();
                }

                device.EndScene();
                device.Present();
            }
            catch (Exception e) { };
        }
Example #23
0
        /////////////////////////////////////////////////////////////////////////
        ////////////////////////////////RENDER///////////////////////////////////
        /////////////////////////////////////////////////////////////////////////

        public void render(float deltaTime, TgcFrustum frustum)
        {
            foreach (var mesh in objectsInFront)
            {
                if (!librosAgarrados.Contains(mesh))
                {
                    var resultadoColisionFrustum = TgcCollisionUtils.classifyFrustumAABB(frustum, mesh.BoundingBox);
                    if (resultadoColisionFrustum != TgcCollisionUtils.FrustumResult.OUTSIDE)
                    {
                        mesh.Render();
                    }
                }
            }

            efectoOlas.SetValue("time", tiempoOlas);

            personajePrincipal.animateAndRender(deltaTime);

            HUD.Begin(SpriteFlags.AlphaBlend | SpriteFlags.SortDepthFrontToBack);

            posVidas = D3DDevice.Instance.Device.Viewport.Width - vida.Width;

            for (int i = 0; i < cantVidas; i++)
            {
                HUD.Transform = TGCMatrix.Translation(new TGCVector3(posVidas, 0, 0));
                HUD.Draw(vida.D3dTexture, Rectangle.Empty, Vector3.Empty, Vector3.Empty, Color.OrangeRed);
                posVidas -= vida.Width;
            }

            librosAdquiridos.cambiarTexto(cantidadLibrosAdquiridos.ToString());
            librosAdquiridos.cambiarTamañoLetra(28);
            librosAdquiridos.cambiarColor(Color.BlueViolet);
            librosAdquiridos.Render();

            HUD.Draw2D(fisicaLib.D3dTexture, Rectangle.Empty, new SizeF(90, 90), new PointF(D3DDevice.Instance.Width - 95, D3DDevice.Instance.Height - 145), Color.White);
            HUD.End();

            emisorDeParticulas1.render(deltaTime);
            emisorDeParticulas2.render(deltaTime);
            emisorDeParticulas3.render(deltaTime);
        }
        void DoDraw(Device dev)
        {
            if (m_RogueForm == null)
            {
                return;
            }

            ///////////////////////////////////
            // Render the scene to the texture
            ///////////////////////////////////
            m_RenderToSurface.BeginScene(m_RenderSurface);
            {
                /////////
                // Clear
                /////////
                dev.Clear(ClearFlags.Target, m_ClearColor, 1.0f, 0);

                ///////////////////
                // Render each gfx
                ///////////////////
                foreach (IGfx gfx in m_Gfxs)
                {
                    gfx.Draw(dev);
                }
            }
            m_RenderToSurface.EndScene(Filter.None);

            //////////////////////////////////////////////////////
            // Then draw scene texture scaled to fit whole canvas
            //////////////////////////////////////////////////////
            m_Device.BeginScene();
            {
                m_Sprite.Begin(SpriteFlags.None);
                {
                    m_Sprite.Draw2D(m_RenderTexture, new Rectangle(0, 0, RogueGame.CANVAS_WIDTH, RogueGame.CANVAS_HEIGHT),
                                    new SizeF(m_RogueForm.ClientRectangle.Width, m_RogueForm.ClientRectangle.Height), PointF.Empty, Color.White);
                }
                m_Sprite.End();
            }
            m_Device.EndScene();
        }
Example #25
0
        public void Render()
        {
            try
            {
                Microsoft.DirectX.Direct3D.Device device = GameAppFramework.GetGameAppFramework().Device;
                device.Clear(ClearFlags.Target, Color.HotPink, 0, 1);
                device.BeginScene();
                using (Sprite MenuSprite = new Sprite(device))
                {
                    MenuSprite.Begin(SpriteFlags.AlphaBlend);
                    MenuSprite.Draw2D(background, new Rectangle(0, 0, 0, 0), new Rectangle(0, 0, device.Viewport.Width, device.Viewport.Height), new Point(0, 0), 0f, new Point(0, 0), Color.White);
                    font.DrawText(MenuSprite, "Press Space to START", new Point((device.Viewport.Width / 2) - 200, device.Viewport.Height / 2), Color.White);
                    font.DrawText(MenuSprite, "Press Escape to END", new Point((device.Viewport.Width / 2) - 200, (device.Viewport.Height / 2) + 100), Color.White);
                    MenuSprite.End();
                }

                device.EndScene();
                device.Present();
            }
            catch (Exception e) { };
        }
Example #26
0
        public void Draw(Device gd, Sprite s, Texture t)
        {
            if (Current_BullStatus == status_BullStatus.miss)
            {
                return;
            }
            RiseCount++;
            X = BX + (int)(RiseCount * (step * 4 / Distance) * DX);
            Y = Y + (int)(RiseCount * (step / 32 / Distance) * DY);


            position.X = X;
            position.Y = Y;
            s.Begin(SpriteFlags.AlphaBlend);
            s.Draw2D(t, rotationPoint, 0f, position, Color.White);
            s.End();
            if (Y > 600)
            {
                Current_BullStatus = status_BullStatus.miss;
            }
        }
Example #27
0
        private void Form1_MouseClick_1(object sender, MouseEventArgs e)
        {
            device.Clear(ClearFlags.Target, Color.CornflowerBlue, 0, 1);
            device.BeginScene();
            using (Sprite s = new Sprite(device))
            {
                s.Begin(SpriteFlags.AlphaBlend);
                s.Draw2D(texture_blood, new Rectangle(0, 0, 200, 200), new Rectangle(0, 0, 0, 0), new Point(0, 0), 0f, new Point(e.X - 100, e.Y - 100), Color.White);
                s.End();
            }
            device.EndScene();
            device.Present();
            int toDel = -1;

            for (int i = 0; i < ch.Count; i++)
            {
                Characters cat = ch[i];
                if ((e.X >= cat.CharacterCoordinates.X && e.X <= cat.CharacterCoordinates.X + 150) &&
                    (e.Y >= cat.CharacterCoordinates.Y && e.Y <= cat.CharacterCoordinates.Y + 150))
                {
                    using (soundPlayer4 = new SoundPlayer(@"C:\Users\андрей\Documents\Visual Studio 2015\Projects\NewGame\NewGame\bin\Debug\Gun.wav"))
                    {
                        soundPlayer4.Play();
                    }
                    toDel = i;
                    newHit();
                    newScore(50);
                    break;
                }
                if (hits % 5 == 0)
                {
                    // newLevel(1);
                }
            }

            if (toDel != -1)
            {
                ch.Remove(ch[toDel]);
            }
        }
Example #28
0
        public void DrawFrame()
        {
            // Drawing vertices
            sprite.Begin(SpriteFlags.None);
            foreach (Vertex vertex in vertices)
            {
                vertex.Update();
                if (vertex.marked)
                {
                    vertices.Remove(vertex);
                    break;
                }
                sprite.Draw2D(Vertex.img, Rectangle.Empty, Rectangle.Empty,
                              Vertex.center, 0f, vertex.position, vertex.color);
            }
            sprite.End();

            // Drawing edges
            line.Begin();
            foreach (Edge edge in edges)
            {
                edge.Update();
                if (!vertices.Contains(edge.start) || !vertices.Contains(edge.end))
                {
                    edges.Remove(edge);
                    break;
                }
                if (edge.marked)
                {
                    edges.Remove(edge);
                    break;
                }
                Vector2[] coords = { edge.start.toVector2(), edge.end.toVector2() };
                line.Draw(coords, edge.color);
            }
            line.End();
        }
Example #29
0
        public void Draw(Device gd, Sprite s, Texture t)
        {
            if (Current_Status != status.active)
            {
                return;
            }

            MovingCount++;
            X = BX + (int)(MovingCount * (step / Distance) * DX);
            Y = (int)(MovingCount * (step / Distance) * DY);

            //G.DrawImage(BmpBeeList[0], X, Y);

            position.X = X;
            position.Y = Y;
            s.Begin(SpriteFlags.AlphaBlend);
            s.Draw2D(t, rotationPoint, 0f, position, Color.White);
            s.End();

            if (Y > 600)
            {
                Current_Status = status.pass;
            }
        }
Example #30
0
        /// <summary>
        /// Animate and draw
        /// </summary>
        /// <param name="sprite"></param>
        public override void Draw(Sprite sprite)
        {
            // move knob if the mouse is down
            if (movement != 0)
            {
                state += movement * Scene.ElapsedTime * 0.5f;
                if (state < 0)
                    state = 0;
                else if (state > 1)
                    state = 1;
                if (OnChange != null)											// IF there's at least one handler hooked in
                    OnChange(this, state);										// trigger an OnChange event
            }

            // calc angle from switch position
            float angle = ((float)state - 0.5f) * (halfAngle * 2.0f);

            // Draw the rotated DECAL (frame0)...
            // rotating form of Draw2D() positions the CENTRE at xy instead of the top-left pixel,
            // So I must calculate the centre position from the top-left posn (in destination coordinates)
            PointF destCentre = ToScreenOffset(centre);
            PointF posn = new PointF(destPosn.X + destCentre.X, destPosn.Y + destCentre.Y);
            sprite.Draw2D(texture, srcRect, destSize, centre, angle, posn, Color.White);

            // Draw the LUMINOSITY image (frame 1)...
            Rectangle lumRect = new Rectangle(baseWidth, 0, baseWidth, baseHeight);
            sprite.Draw2D(texture, lumRect, destSize, destPosn, Color.White);
        }
Example #31
0
        public static void DrawParticles()
        {
            double  acc, accAngle;
            Vector2 diff;

            foreach (Vector2 CP in ControlPoints)
            {
                foreach (Particle P in Particles)
                {
                    diff = CP - P.Position;

                    acc = GRAVITY / (Math.Pow(diff.X, 2) + Math.Pow(diff.Y, 2));
                    if (acc > MAX_ACC)
                    {
                        acc = MAX_ACC;
                    }

                    accAngle = Math.Atan(diff.Y / diff.X);
                    if (double.IsNaN(accAngle))
                    {
                        accAngle = 0;
                    }
                    if (diff.X < 0)
                    {
                        accAngle += Math.PI;
                    }

                    P.Velocity.X += (float)(Math.Cos(accAngle) * acc);
                    P.Velocity.Y += (float)(Math.Sin(accAngle) * acc);
                }
            }

            float clipX1 = -CLIP;
            float clipY1 = -CLIP;
            float clipX2 = XDevice.DisplayMode.Width + CLIP;
            float clipY2 = XDevice.DisplayMode.Height + CLIP;

            XSprite.Begin(SpriteFlags.AlphaBlend);
            foreach (Particle P in Particles)
            {
                P.Position += P.Velocity;

                XSprite.Draw2D(P.Texture, PointF.Empty, 0, new PointF(P.Position.X, P.Position.Y), Color.White);
                if (P.Position.X < clipX1)
                {
                    P.Position.X = clipX1;
                }
                if (P.Position.Y < clipY1)
                {
                    P.Position.Y = clipY1;
                }
                if (P.Position.X > clipX2)
                {
                    P.Position.X = clipX2;
                }
                if (P.Position.Y > clipY2)
                {
                    P.Position.Y = clipY2;
                }
            }
            XSprite.End();
        }
Example #32
0
        /// <summary>
        /// Draws the given texture to the given point on the screen.
        /// </summary>
        /// <param name="texture">The texture to draw.</param>
        /// <param name="point">Where to display the texture on the screen.</param>
        /// <param name="scale">The amount to scale the x value of the Sprite.</param>
        public void drawHealth(Texture texture, Point point, float scale)
        {
            Size healthSize = new Size((int)((this.width * 0.288f) * scale),
                (int)(this.height * 0.060));
            this.healthBarSize = new Size((int)(this.width * 0.530f),
                (int)(this.height * 0.24));

            using (Sprite s = new Sprite(device))
            {
                Point newPoint = new Point((int)(this.width * 0.0344) + point.X,
                        (int)(this.height * 0.0736) + point.Y);
                Size healthBack = new Size((int)(this.width-(this.width-newPoint.X+30)),
                (int)(this.height * 0.120));

                s.Begin(SpriteFlags.AlphaBlend);
                s.Draw2D(ContentLoader.GUIBack, Rectangle.Empty,
                    healthBack, new Point(newPoint.X-30, 0), Color.White);
                s.Draw2D(healthTexture, new Rectangle(point, healthSize),
                    healthSize, newPoint, Color.Red);
                s.Draw2D(texture, Rectangle.Empty, healthBarSize, point, Color.Black);
                s.End();
            }
        }
Example #33
0
        /// <summary>
        /// Draws the radar.
        /// </summary>
        public void drawRadar()
        {
            using (Sprite s = new Sprite(device))
            {
                s.Begin(SpriteFlags.AlphaBlend);

                Point playerP = new Point((int)player.Location.X + radarPoint.X,
                    (int)player.Location.Z + radarPoint.Y);

                s.Draw2D(ContentLoader.Radar, Rectangle.Empty, new Size((int)(playerP.X * 2), (int)((this.height-playerP.Y) * 2)),
                    new Point(0, (int)(this.height - (this.height - playerP.Y) * 2)), Color.White);

                s.Draw2D(this.radarEnemyTexture, Rectangle.Empty,
                    this.enemySize, playerP, Color.LightSkyBlue);

                s.Draw2D(ContentLoader.GUIBack, Rectangle.Empty, new Size((int)(this.width * 0.15f), 120),
                    new Point(0, 0), Color.White);

                foreach (Enemy e in enemies)
                {
                    Point point = new Point(
                        (int)(radarPoint.X + e.Location.X * Math.Cos(player.Head.Rotation.X) - e.Location.Z * Math.Sin(player.Head.Rotation.X)),
                        (int)(radarPoint.Y - e.Location.X * Math.Sin(player.Head.Rotation.X) - e.Location.Z * Math.Cos(player.Head.Rotation.X)));

                    s.Draw2D(this.radarEnemyTexture, Rectangle.Empty,
                        this.enemySize, point, Color.Red);
                }
                s.End();
            }
        }
 public void Draw( Sprite sprite, int grid_size )
 {
     if (m_file_texture != null)
     {
         sprite.Begin(SpriteFlags.AlphaBlend);
         sprite.Draw2D(m_file_texture, m_source, new Rectangle(0, 0, grid_size, grid_size), new Point((int)((float)m_location.X * ((float)grid_size / ((float)grid_size / (float)m_source.Width))),
                                                                                                         (int)(float)(m_location.Y * ((float)grid_size / ((float)grid_size / (float)m_source.Height)))), Color.White);
         sprite.End();
     }
 }
Example #35
0
        /// <summary>
        /// Draw this gauge as a sprite (using current animation frame).
        /// Called every video frame
        /// </summary>
        /// <param name="sprite"></param>
        public override void Draw(Sprite sprite)
        {
            if (enabled)
            {
                // Draw the background texture
                sprite.Draw2D(texture, srcRect, destSize, destPosn, Color.White);

                // Draw our children on top
                foreach (Widget w in widgetList)
                {
                    w.Draw(sprite);
                }

            }
        }
Example #36
0
        public void Render()
        {
            device.VertexShader = null;
            device.PixelShader  = null;

            Camera cam = Camera.GetCameraInstance();

            device.Transform.View       = cam.GetMatrixView();
            device.Transform.Projection = cam.GetMatrixProjection();

            sprite.Begin(SpriteFlags.AlphaBlend);

            sprite.Draw2D(empty, srcRectangle, size, liveEmpty, Color.FromArgb(255, 255, 255, 255));
            sprite.Draw2D(live, liveRectangle, liveSize, livePoint, Color.FromArgb(255, 255, 255, 255));

            sprite.Draw2D(empty, srcRectangle, size, manaEmpty, Color.FromArgb(255, 255, 255, 255));
            sprite.Draw2D(mana, manaRectangle, manaSize, manaPoint, Color.FromArgb(255, 255, 255, 255));

            sprite.Draw2D(empty, srcRectangle, size, energyEmpty, Color.FromArgb(255, 255, 255, 255));
            sprite.Draw2D(energy, energyRectangle, energySize, energyPoint, Color.FromArgb(255, 255, 255, 255));

            sprite.End();

            RenderText();


            //for (int t = 0; t < sentences.Count; t++)
            //{
            //    Matrix m = Matrix.Identity;
            //    m *= Matrix.RotationX((float)Math.PI);
            //    m *= Matrix.Translation(sentences[t].position) * Matrix.Translation(0, 40, 0);
            //    sprite3d.SetWorldViewLH(m, device.Transform.View);
            //    sprite3d.Begin(SpriteFlags.ObjectSpace | SpriteFlags.Billboard | SpriteFlags.AlphaBlend);
            //    sprite3d.Draw2D(sentences[t].texture, new PointF(0,2),
            //        (float)Math.PI, new PointF(-sentences[t].rect.Width / 2, -16), Color.FromArgb(255, 255, 255, 255));
            //    sprite3d.End();
            //}

            device.Transform.Projection = cam.GetMatrixProjection();
            sprite3d.Transform          = Matrix.Identity;

            if (canRenderNpcInfo)
            {
                NpcInfo = form.Game.GetAllNpcInfo();

                for (int i = 0; i < NpcInfo.Count; i++)
                {
                    if (NpcInfo[i].Character.name == "Player")
                    {
                        setEnergy((int)NpcInfo[i].Status.energy);
                        setLive((int)(100 * NpcInfo[i].Status.hp / (float)(NpcInfo[i].Character.hp)));
                        setMana((int)(100 * NpcInfo[i].Status.mana / (float)(NpcInfo[i].Character.mana)));
                        continue;
                    }

                    StringFormat stringFormat = new StringFormat();
                    stringFormat.FormatFlags = StringFormatFlags.NoClip;

                    double percents = (1 - ((double)NpcInfo[i].Status.hp / (double)NpcInfo[i].Character.hp)) * 64;

                    npcRectange.X = (int)percents;

                    GeneralObject npcGeneral = getNpcGeneralObjectByName(NpcInfo[i].Character.name);
                    Matrix        world      = npcGeneral.GetMatrixWorld();

                    Vector3 min = npcGeneral.GetBoundingBoxRelativeMinimum();
                    Vector3 max = npcGeneral.GetBoundingBoxRelativeMaximum();
                    min = Vector3.TransformCoordinate(min, npcGeneral.GetMatrixWorldBoundingBoxMesh());
                    max = Vector3.TransformCoordinate(max, npcGeneral.GetMatrixWorldBoundingBoxMesh());
                    Vector3 delta = max - min;


                    world *= Matrix.Translation(0, delta.Y, 0);

                    device.Transform.World = world;

                    sprite3d.SetWorldViewLH(device.Transform.World, device.Transform.View);

                    sprite3d.Begin(SpriteFlags.ObjectSpace | SpriteFlags.Billboard | SpriteFlags.AlphaBlend);

                    sprite3d.Draw(empty2, npcScrRectange, center, new Vector3(0, 0, 0), Color.White);
                    sprite3d.Draw(live2, npcRectange, center, new Vector3(0, 0, 0), Color.White);
                    sprite3d.End();

                    Matrix current = Matrix.Identity;
                    Matrix hh      = cam.GetMatrixView();

                    Vector3 vect1 = new Vector3(world.M41 / world.M44, 0, world.M43 / world.M44);
                    Vector3 vect2 = new Vector3(hh.M41 / hh.M44, 0, hh.M43 / hh.M44);

                    Vector3 direction = vect2 - vect1;
                    vect1.Normalize();
                    vect2.Normalize();

                    float  vect3  = Vector3.Dot(vect1, vect2);
                    double number = vect3;
                    double angle  = Math.Acos(number);


                    if (direction.X > 0 && direction.Z > 0)
                    {
                        angle *= -1;
                    }
                    if (direction.X < 0 && direction.Z > 0)
                    {
                        angle *= -1;
                    }
                    current *= Matrix.Scaling(0.5f, 0.5f, 0.5f);
                    current *= Matrix.RotationZ((float)Math.PI);
                    current *= Matrix.RotationY((float)angle);

                    current.M41 = world.M41;
                    current.M42 = world.M42;
                    current.M43 = world.M43;
                    current.M44 = world.M44;

                    current *= Matrix.Translation(0, 15f, 0);

                    sprite3d.SetWorldViewLH(current, device.Transform.View);
                    device.Transform.World = current;

                    sprite3d.Begin(SpriteFlags.ObjectSpace | SpriteFlags.AlphaBlend);
                    Rectangle textRect = f.MeasureString(s, NpcInfo[i].Character.name, DrawTextFormat.Left, Color.DarkRed);
                    textRect.X -= (int)((float)textRect.Width * 0.5f);

                    Color textColor = Color.DarkRed;

                    if (NpcInfo[i].Character.type == WiccanRede.AI.NPCType.villager)
                    {
                        textColor = Color.DarkGreen;
                    }

                    f.DrawText(sprite3d, NpcInfo[i].Character.name, textRect, DrawTextFormat.Left, textColor);

                    sprite3d.End();
                }
            }
        }
Example #37
0
 /// <summary>
 /// Draw this gauge as a sprite (using current animation frame).
 /// Called every video frame
 /// Subclasses should override this to do any animation, then call this base method to draw the result
 /// </summary>
 /// <param name="sprite"></param>
 public virtual void Draw(Sprite sprite)
 {
     // By default we use an UNROTATED sprite draw command. Widget classes should use a different
     // form of Draw2D() if they need a certain rotation (e.g. rotating knobs)
     // NOTE: Could change the colour here for FX such as flashes
     if (enabled)
         sprite.Draw2D(texture, srcRect, destSize, destPosn, Color.White);
 }
Example #38
0
        /// <summary>
        /// Animate and draw
        /// </summary>
        /// <param name="sprite"></param>
        public override void Draw(Sprite sprite)
        {
            // calc angle from switch position
            float angle = ((float)state - midState) * increment;

            // Draw the rotated DECAL (frame0)...
            // rotating form of Draw2D() positions the CENTRE at xy instead of the top-left pixel,
            // So I must calculate the centre position from the top-left posn (in destination coordinates)
            PointF destCentre = ToScreenOffset(centre);
            PointF posn = new PointF(destPosn.X + destCentre.X, destPosn.Y + destCentre.Y);
            sprite.Draw2D(texture, srcRect, destSize, centre, angle, posn, Color.White);

            // Draw the LUMINOSITY image (frame 1)...
            Rectangle lumRect = new Rectangle(baseWidth, 0, baseWidth, baseHeight);
            sprite.Draw2D(texture, lumRect, destSize, destPosn, Color.White);
        }
Example #39
0
        /// <summary>
        /// Animate and draw
        /// </summary>
        /// <param name="sprite"></param>
        public override void Draw(Sprite sprite)
        {
            // move knob if the mouse is down
            if (movement != 0)
            {
                float oldState = state;
                state += movement * Scene.ElapsedTime * 1f;
                delta = state - oldState;										// we return the delta
                state %= (float)Math.PI * 2;									// keep orientation in range +/-2PI
                if (OnChange != null)											// IF there's at least one handler hooked in
                    OnChange(this, delta);										// trigger an OnChange event
            }

            // Draw the rotated DECAL (frame0)...
            // rotating form of Draw2D() positions the CENTRE at xy instead of the top-left pixel,
            // So I must calculate the centre position from the top-left posn (in destination coordinates)
            PointF destCentre = ToScreenOffset(centre);
            PointF posn = new PointF(destPosn.X + destCentre.X, destPosn.Y + destCentre.Y);
            sprite.Draw2D(texture, srcRect, destSize, centre, state, posn, Color.White);

            // Draw the LUMINOSITY image (frame 1)...
            Rectangle lumRect = new Rectangle(baseWidth, 0, baseWidth, baseHeight);
            sprite.Draw2D(texture, lumRect, destSize, destPosn, Color.White);
        }
Example #40
0
        /// <summary>
        /// Animate and draw
        /// </summary>
        /// <param name="sprite"></param>
        public override void Draw(Sprite sprite)
        {
            // update state towards target
            if (slew)
                state = (state * 7 + target) / 8;
            else
                state = target;

            // calc angle from state
            float angle = ((float)state - 0.5f) * (halfAngle * 2.0f);

            // If there's a shadow, draw that first
            if (shadowOffsetBase.X != 0)
            {
                PointF shadow = new PointF(destPosn.X + shadowOffsetDest.X + destSize.Width / 2, destPosn.Y + shadowOffsetDest.Y + destSize.Height / 2);
                sprite.Draw2D(texture, shadowSrcRect, destSize, centre, angle, shadow, Color.White);
            }

            // rotating form of Draw2D() positions the CENTRE at xy instead of the top-left pixel,
            // So I must calculate the centre position from the top-left posn (in destination coordinates)
            PointF posn = new PointF(destPosn.X + destSize.Width / 2, destPosn.Y + destSize.Height / 2);

            // Need to call a different Draw2D() so that we can rotate the sprite
            sprite.Draw2D(texture, srcRect, destSize, centre, angle, posn, Color.White);
        }