public void Draw()
 {
     for (float i = 0; i < 100; i += 6f)
     {
         if (Confirm)
         {
             Redpoint.DrawSolidColor(1f, 0, 0);
         }
         else
         {
             Redpoint.DrawSolidColor(0, 0, 0);
         }
         Redpoint.position += 6f * Direction;
     }
 }
Example #2
0
 public void Draw()
 {
     //Draw the map
     for (int i = 0; i < Nodes.Length; i++)
     {
         sprite.position = new Vector2(Nodes[i].X, Nodes[i].Y);
         if (Nodes[i].Cost == 0)
         {
             sprite.DrawSolidColor(new Vector4(0, 0, 0, 1));
         }
         else
         {
             sprite.DrawSolidColor(new Vector4(1, 1, 1, 1));
         }
     }
 }
Example #3
0
        private void AnimationPanel_Paint_1(object sender, PaintEventArgs e)
        {
            if (window == null)
            {
                window = new Window(AnimationPanel.Width, AnimationPanel.Height, "Animation");
            }

            //  SetDesktopLocation(10, 10);
            //int x = AnimationPanel.Location.X - DesktopLocation.X;
            //int y = AnimationPanel.Location.Y + DesktopLocation.Y;
            //Point position  = new Point(x,y);
            //window.Position = ExtensionMethod.PointToVector(position);

            window.SetDefaultOrthographicSize(1);
            Sprite sprite = new Sprite(1, 1);

            while (window.IsOpened)
            {
                if (window.GetKey(KeyCode.Esc))
                {
                    window.Exit();
                }

                //Window Pos
                int   x        = AnimationPanel.Location.X - DesktopLocation.X;
                int   y        = AnimationPanel.Location.Y + DesktopLocation.Y;
                Point position = new Point(1 / x, y);
                window.Position = ExtensionMethod.PointToVector(position);



                sprite.DrawSolidColor(0f, 1f, 0f);
                window.Update();
            }
        }
Example #4
0
 public void Draw()
 {
     for (int y = 0; y < height; y++)
     {
         for (int x = 0; x < width; x++)
         {
             sprite.position = new Vector2(x, y);
             if (GetNode(x, y).Cost > 1)
             {
                 sprite.DrawSolidColor(0, 0, 0, 1);
             }
             else
             {
                 sprite.DrawSolidColor(Vector4.One);
             }
         }
     }
 }
Example #5
0
 // Disegna la mappa
 // le celle == 0 sono nere
 // altrimenti sono bianche
 public void Draw()
 {
     for (int y = 0; y < height; y++)
     {
         for (int x = 0; x < width; x++)
         {
             sprite.position = new OpenTK.Vector2(x, y);
             if (GetNode(x, y).Cost == int.MaxValue)
             {
                 sprite.DrawSolidColor(0, 0, 0);
             }
             else
             {
                 sprite.DrawSolidColor(255, 255, 255);
             }
         }
     }
 }
Example #6
0
        protected override void GameUpdate(Window window)
        {
            window.RenderTo(fakeScreenTexture);

            sprite.scale    = Vector2.One;
            sprite.position = window.TouchPosition;

            sprite.DrawSolidColor(0f, 1f, 1f, 1f);

            sprite.scale    = new Vector2(2, 2);
            sprite.position = Vector2.Zero;

            sprite.DrawTexture(alien);

            window.RenderTo(null);

            fakeScreen.scale    = Vector2.One;
            fakeScreen.position = Vector2.Zero;
            fakeScreen.DrawTexture(fakeScreenTexture);

            fakeScreen.scale    = new Vector2(0.25f, 0.25f);
            fakeScreen.position = new Vector2(window.Width - fakeScreenTexture.Width * 0.25f, window.Height - fakeScreenTexture.Height * 0.25f);
            fakeScreen.DrawTexture(fakeScreenTexture);
        }
Example #7
0
        protected override void GameUpdate(Window window)
        {
            if (window.IsTouching)
            {
                alien.position = window.TouchPosition;
                if ((sprite001.position - window.TouchPosition).Length < 100)
                {
                    window.Vibrate(1f);
                }
            }
            else
            {
                window.CancelVibration();
            }
            alien.DrawTexture(alienTexture);

            particleSystem001.Update(window);

            sprite001.position.X += 10f * window.deltaTime;
            sprite001.DrawSolidColor(1, 0, 0, 0.5f);

            lineDrawer.Point2 = window.TouchPosition;
            lineDrawer.DrawSolidColor(1f, 1f, 0f, 1f);
        }
Example #8
0
        static void Main(string[] args)
        {
            foreach (string device in AudioDevice.Devices)
            {
                Console.WriteLine(device);
            }

            foreach (string device in AudioDevice.CaptureDevices)
            {
                Console.WriteLine(device);
            }

            AudioDevice playerEar = new AudioDevice();


            Console.WriteLine(AudioDevice.CurrentDevice.Name);

            AudioClip clip = new AudioClip("Assets/jumping.ogg");

            AudioClip laser = new AudioClip("Assets/laser.wav");

            AudioClip backgroundMusic = new AudioClip("Assets/test_wikipedia_mono.ogg");

            Console.WriteLine(clip.Channels);
            Console.WriteLine(clip.Frequency);
            Console.WriteLine(clip.Samples);
            Console.WriteLine(clip.Duration);

            AudioSource source = new AudioSource();

            source.Play(clip);

            AudioCapture microphone = new AudioCapture(22050, 1, 5f);
            AudioBuffer  micBuffer  = new AudioBuffer();

            microphone.Start();

            AudioSource background = new AudioSource();


            Window window = new Window(1024, 576, "Aiv.Audio Example");

            background.Position          = new OpenTK.Vector3(window.Width / 2, window.Height / 2, 0);
            background.ReferenceDistance = 50;
            background.MaxDistance       = 100;
            background.RolloffFactor     = 1f;

            Sprite sprite = new Sprite(100, 100);

            while (window.opened)
            {
                background.Stream(backgroundMusic, window.deltaTime);

                if (window.GetKey(KeyCode.Space))
                {
                    source.Play(clip);
                }

                if (window.GetKey(KeyCode.Return))
                {
                    source.Play(laser);
                }

                if (window.GetKey(KeyCode.ShiftRight))
                {
                    microphone.Read(micBuffer);
                    source.Play(micBuffer);
                }

                if (window.GetKey(KeyCode.Right))
                {
                    sprite.position.X += 100 * window.deltaTime;
                }

                if (window.GetKey(KeyCode.Left))
                {
                    sprite.position.X -= 100 * window.deltaTime;
                }

                if (window.GetKey(KeyCode.Up))
                {
                    sprite.position.Y -= 100 * window.deltaTime;
                }

                if (window.GetKey(KeyCode.Down))
                {
                    sprite.position.Y += 100 * window.deltaTime;
                }

                playerEar.Position = new OpenTK.Vector3(sprite.position.X, sprite.position.Y, 0);
                source.Position    = playerEar.Position;

                sprite.DrawSolidColor(1f, 0, 0);

                window.Update();
            }
        }
Example #9
0
        static void Main(string[] args)
        {
            Window.SetObsoleteMode();
            Window windowFake = new Window(800, 600, "Fake");

            Texture texture = new Texture("Assets/circle.png");

            Sprite circle = new Sprite(texture.Width, texture.Height);

            Console.WriteLine(windowFake.Version);
            Console.WriteLine(windowFake.Vendor);
            Console.WriteLine(windowFake.SLVersion);
            Console.WriteLine(windowFake.Renderer);
            Console.WriteLine(windowFake.Extensions);

            foreach (string displayName in Window.Displays)
            {
                Console.WriteLine(displayName);
            }

            windowFake.SetDefaultOrthographicSize(7);
            windowFake.SetClearColor(1f, 0, 0);
            Mesh triangleFake = new Mesh();

            triangleFake.v = new float[]
            {
                2, 0,
                1, 2,
                3, 2
            };
            triangleFake.UpdateVertex();

            Mesh wireframeTriangle = new Mesh();

            wireframeTriangle.v = new float[]
            {
                4, 0,
                3, 1,
                5, 1
            };
            wireframeTriangle.UpdateVertex();

            Window window = new Window(1024, 576, "Units based example");

            window.SetClearColor(0f, 1f, 0f);
            window.SetDefaultOrthographicSize(10);

            Mesh triangle = new Mesh();

            triangle.v = new float[]
            {
                2, 0,
                1, 1,
                3, 1
            };
            triangle.UpdateVertex();
            triangle.pivot = new Vector2(2, 0.5f);

            Camera camera1      = new Camera();
            Camera camera2      = new Camera();
            Camera camera3      = new Camera();
            Camera movingCamera = new Camera();

            Sprite pointer = new Sprite(1, 1);



            while (window.opened && windowFake.opened)
            {
                window.SetCurrent();

                window.SetViewport(0, 0, 1024 / 2, 576 / 2, 5);
                window.SetScissorTest(window.CurrentViewportPosition.X, window.CurrentViewportPosition.Y, window.CurrentViewportSize.X, window.CurrentViewportSize.Y);
                window.SetClearColor(0.5f, 0.5f, 0.5f);
                window.ClearColor();
                window.SetCamera(movingCamera);
                triangle.scale    = new Vector2(1f, 1f);
                triangle.position = window.mousePosition;
                triangle.DrawColor(0f, 1f, 0f, 1f);

                triangle.position = new Vector2(2, 2);
                triangle.DrawColor(1f, 0f, 0f, 1f);

                circle.SetAdditiveTint(-1f, -1f, 1f, -0.5f);
                circle.scale = new Vector2(0.005f, 0.005f);
                circle.DrawTexture(texture);

                window.SetViewport(0, 576 / 2, 1024 / 2, 576 / 2, 5);
                window.SetScissorTest(window.CurrentViewportPosition.X, window.CurrentViewportPosition.Y, window.CurrentViewportSize.X, window.CurrentViewportSize.Y);
                window.SetClearColor(0.5f, 0.5f, 1f);
                window.ClearColor();
                window.SetCamera(camera1);
                triangle.scale    = new Vector2(1f, 1f);
                triangle.position = window.mousePosition;
                triangle.DrawColor(1f, 1f, 0f, 1f);

                window.SetViewport(1024 / 2, 0, 1024 / 2, 576 / 2, 5);
                window.SetScissorTest(window.CurrentViewportPosition.X, window.CurrentViewportPosition.Y, window.CurrentViewportSize.X, window.CurrentViewportSize.Y);
                window.SetClearColor(0.5f, 1f, 0.5f);
                window.ClearColor();
                window.SetCamera(camera3);
                triangle.scale    = new Vector2(1f, 1f);
                triangle.position = window.mousePosition;
                triangle.DrawColor(1f, 0f, 0f, 1f);

                triangle.position = new Vector2(2, 2);
                triangle.DrawColor(1f, 1f, 0f, 1f);

                window.SetViewport(1024 / 2, 576 / 2, 1024 / 2, 576 / 2, 5);
                window.SetScissorTest(window.CurrentViewportPosition.X, window.CurrentViewportPosition.Y, window.CurrentViewportSize.X, window.CurrentViewportSize.Y);
                window.SetClearColor(1f, 0.5f, 0.5f);
                window.ClearColor();
                window.SetCamera(camera2);
                triangle.scale    = new Vector2(1f, 1f);
                triangle.position = window.mousePosition;
                triangle.DrawColor(1f, 0f, 1f, 1f);

                if (window.GetKey(KeyCode.Esc))
                {
                    break;
                }

                if (window.GetKey(KeyCode.Right))
                {
                    movingCamera.position.X += window.deltaTime;
                }

                if (window.GetKey(KeyCode.Left))
                {
                    movingCamera.position.X -= window.deltaTime;
                }

                pointer.position = window.mousePosition;
                pointer.DrawSolidColor(1f, 0, 0, 1f);

                window.Update();

                windowFake.SetCurrent();

                triangleFake.position = windowFake.mousePosition;
                triangleFake.DrawColor(1f, 0f, 1f, 1f);

                wireframeTriangle.DrawWireframe(0f, 1f, 0f);

                windowFake.Update();
            }
        }
Example #10
0
            private void Update()
            {
                if (window.GetKey(KeyCode.Right))
                {
                    tileMap.position += new Vector2(1, 0) * window.deltaTime * 300;
                    ship2.FlipX       = false;
                }
                if (window.GetKey(KeyCode.Left))
                {
                    tileMap.position += new Vector2(-1, 0) * window.deltaTime * 300;
                    ship2.FlipX       = true;
                }
                if (window.GetKey(KeyCode.Up))
                {
                    tileMap.position += new Vector2(0, -1) * window.deltaTime * 300;
                }
                if (window.GetKey(KeyCode.Down))
                {
                    tileMap.position += new Vector2(0, 1) * window.deltaTime * 300;
                }

                if (window.GetKey(KeyCode.CtrlLeft))
                {
                    deltaTimeAccumulator += window.deltaTime;
                    window.SetSize(window.Width, (int)(300 * (1 + Math.Abs(Math.Sin(deltaTimeAccumulator)))));
                }

                tileMap.position += window.JoystickAxisRight(0) * window.deltaTime * 300;

                tileMap.Draw();

                for (int i = 0; i < tiles2.Instances; i++)
                {
                    tiles2.SetPosition(i, new Vector2(20 * i, 20 * i), true);
                    if (i % 2 == 0)
                    {
                        tiles2.SetAdditiveColor(i, new Vector4(1, -1, -1, 1), true);
                    }
                }
                tiles2.UpdatePositions();
                tiles2.UpdateAdditiveColors();



                ship.position.Y = 10;
                ship.position  += new Vector2(5f, 0) * window.deltaTime;

                ship.scale = new Vector2(1f, 1f);

                t += window.deltaTime;
                if (t > 1f / 24f)
                {
                    index++;
                    if (index >= 51)
                    {
                        index = 0;
                    }
                    t = 0;
                }
                int x = (index % 10) * (alien.Width / 10);
                int y = (index / 10) * height;


                ship.DrawTexture(alien, x, y, alien.Width / 10, height);


                square.DrawSolidColor(1f, 0, 0, 0.5f);

                window.SetClearColor(255, 0, 0);
                window.RenderTo(screen);

                logo.position.Y = 100;
                logo.position  += new Vector2(50f, 0) * window.deltaTime;
                logo.scale      = new Vector2(1f, 1f);
                logo.DrawTexture(logoAiv);



                if (window.GetKey(KeyCode.Esc))
                {
                    window.Exit();
                }

                if (window.GetKey(KeyCode.F))
                {
                    window.SetFullScreen(true);
                    window.SetResolution(1920, 1080);
                }

                if (window.GetKey(KeyCode.T))
                {
                    window.Title = string.Format("Counter = {0}", counter++);
                }

                if (window.GetKey(KeyCode.R))
                {
                    ship.SetAdditiveTint(1f, -1f, -1f, 0);
                    //ship.SetMultiplyTint(2f, 0, 0, 1);
                }

                if (window.GetKey(KeyCode.N))
                {
                    ship.SetAdditiveTint(0, 0, 0, 0);
                    //ship.SetMultiplyTint(2f, 0, 0, 1);
                }

                window.SetClearColor(100, 100, 100);
                window.RenderTo(null);


                monitor.DrawTexture(screen);



                Vector2 newPosition = tiles.GetPosition(2) - Vector2.One * 20f * window.deltaTime;

                tiles.SetPosition(2, newPosition);

                tiles.DrawSolidColor(0, 1, 1, 1);

                tiles2.position.X += 30 * window.deltaTime;
                tiles2.DrawSolidColor(1, 1, 0, 1);

                particleSystem.Update(window);

                //rope.SetDestination(window.mousePosition);
                rope.UpdatePhysics(window);
                rope.DrawSolidColor(1f, 0f, 1f, 1f);

                ship2.position = rope.position + rope.Point2;
                ship2.SetAdditiveTint(-1f, 1f, -1f, 0);
                ship2.DrawTexture(alien, x, y, alien.Width / 10, height);

                particleSystem2.position = ship2.position;
                particleSystem2.Update(window);



                farTriangles.position.Y = window.MouseWheel;
                farTriangles.DrawColor(0f, 0f, 1f, 1f);

                triangle.v[4] = window.mouseX;
                triangle.v[5] = window.mouseY;
                triangle.UpdateVertex();

                if (window.HasFocus)
                {
                    triangle.DrawTexture(alien);
                }
                else
                {
                    window.SetScissorTest(window.Width / 2 - 200, window.Height / 2 - 200, 400, 400);
                    triangle.DrawColor(1f, 0f, 1f, 1f);
                    window.SetScissorTest(false);
                }

                window.SetClearColor(0f, 0f, 0f, 0f);
                window.RenderTo(maskedAlien);

                maskedBackground.DrawTexture(alien2);
                window.SetMaskedBlending();
                spriteMask.scale    = Vector2.One;
                spriteMask.position = new Vector2(150, 100);
                spriteMask.DrawTexture(circleMask);

                spriteMask.scale    = new Vector2(2f, 2.7f);
                spriteMask.position = new Vector2(180, 280);
                spriteMask.DrawTexture(circleMask2);

                window.SetAlphaBlending();
                window.SetClearColor(0.5f, 0.5f, 0.5f);
                window.RenderTo(null);

                maskedObject.DrawTexture(maskedAlien);

                if (window.GetKey(KeyCode.Space))
                {
                    mainEffect.enabled = true;
                }

                if (window.GetKey(KeyCode.Return))
                {
                    mainEffect.enabled = false;
                }

                if (window.GetKey(KeyCode.Num1))
                {
                    window.SetDefaultOrthographicSize(window.CurrentOrthoGraphicSize + window.deltaTime * 100);
                }

                colouredTriangle.position = window.mousePosition;
                colouredTriangle.pivot    = new Vector2(500, 250);
                float triggerRight = window.JoystickTriggerRight(0);
                float triggerLeft  = window.JoystickTriggerLeft(0);

                colouredTriangle.scale = new Vector2(1 + triggerLeft, 1 + triggerRight);
                colouredTriangle.Draw();
            }
Example #11
0
 public void Draw()
 {
     box.DrawSolidColor(color);
 }
Example #12
0
 public virtual void Draw()
 {
     //A blue box
     sprite.DrawSolidColor(color);
 }
Example #13
0
        static void Main(string[] args)
        {
            Window window = new Window(800, 600, "Aiv.Fast2D.Example");
            window.SetLogger(new ExampleLogger());
            window.SetIcon("aiv_fast2d_example.Assets.2.ico");

            window.SetCursor(false);

            Texture logoAiv = new Texture("aiv_fast2d_example.Assets.LogoAIV.png");

            Texture alien = new Texture("aiv_fast2d_example.Assets.owl.png");

            Sprite logo = new Sprite(logoAiv.Width, logoAiv.Height);

            int height = 150;

            Sprite ship = new Sprite(alien.Width / 10, height);

            Sprite ship2 = new Sprite(alien.Width / 10, height);

            Sprite square = new Sprite(100, 100);

            InstancedSprite tiles = new InstancedSprite(100, 100, 3);
            tiles.SetPosition(0, new Vector2(150, 100));
            tiles.SetPosition(1, new Vector2(200, 200));
            tiles.SetPosition(2, new Vector2(500, 500));

            tiles.SetScale(0, new Vector2(0.5f, 0.5f));
            tiles.SetScale(1, new Vector2(1.5f, 1.5f));

            InstancedSprite tiles2 = new InstancedSprite(20, 20, 30);

            RenderTexture screen = new RenderTexture(800, 600);

            RenderTexture fake = new RenderTexture(1, 1);
            fake.Dispose();

            Sprite monitor = new Sprite(100, 100);
            monitor.position = new Vector2(400, 200);

            int index = 0;
            float t = 0;

            window.SetClearColor(100, 100, 100);

            int counter = 0;

            ParticleSystem particleSystem = new ParticleSystem(2, 2, 100);
            particleSystem.position = new Vector2(400, 200);

            Rope rope = new Rope(400, 3);
            rope.position = new Vector2(400, 200);
            rope.SetDestination(new Vector2(400, 400));

            ship2.pivot = new Vector2(alien.Width / 20, height / 2);

            ParticleSystem particleSystem2 = new ParticleSystem(1, 2, 50);

            Mesh triangle = new Mesh();
            triangle.v = new float[] { 100, 100, 50, 200, 150, 200 };
            triangle.UpdateVertex();
            triangle.uv = new float[] { 0.5f, 0.5f, 0, 0, 1, 0 };
            triangle.UpdateUV();

            Mesh farTriangles = new Mesh();
            farTriangles.v = new float[]
            {
                300, 100,
                200, 200,
                400, 200,

                400, 400,
                300, 500,
                500, 500
            };
            farTriangles.UpdateVertex();

            Mesh colouredTriangle = new Mesh();
            colouredTriangle.v = new float[]
            {
                500, 200,
                400, 300,
                600, 300
            };
            colouredTriangle.UpdateVertex();

            colouredTriangle.vc = new float[]
            {
                1, 0, 0, 0.5f,
                0, 1, 0, 0.5f,
                0, 0, 1, 0.5f
            };
            colouredTriangle.UpdateVertexColor();

            Texture alien2 = new Texture("aiv_fast2d_example.Assets.2.png");
            RenderTexture maskedAlien = new RenderTexture(alien2.Width, alien2.Height);
            Sprite spriteMask = new Sprite(50, 50);

            Texture circleMask = new Texture("aiv_fast2d_example.Assets.mask_circle.png");
            Texture circleMask2 = new Texture("aiv_fast2d_example.Assets.mask_circle2.png");

            Sprite maskedObject = new Sprite(alien2.Width, alien2.Height);
            maskedObject.position = new Vector2(200, 200);
            Sprite maskedBackground = new Sprite(alien2.Width, alien2.Height);

            PostProcessingEffect mainEffect = window.AddPostProcessingEffect(new GrayscaleEffect());
            mainEffect.enabled = false;

            window.AddPostProcessingEffect(new MaskEffect("aiv_fast2d_example.Assets.mask_circle.png"));

            window.AddPostProcessingEffect(new BlackBands());

            window.AddPostProcessingEffect(new RedBands());

            // insert a postprocessing effect at the specific position
            window.SetPostProcessingEffect(1, new WASDEffect());

            window.SetPostProcessingEffect(1, new WobbleEffect(5));

            Tilemap tileMap = new Tilemap("Assets/map001.csv", "Assets/tiles_spritesheet.png");

            while (window.opened)
            {
                if (window.GetKey(KeyCode.Right))
                {
                    tileMap.position += new Vector2(1, 0) * window.deltaTime * 300;
                }
                if (window.GetKey(KeyCode.Left))
                {
                    tileMap.position += new Vector2(-1, 0) * window.deltaTime * 300;
                }
                if (window.GetKey(KeyCode.Up))
                {
                    tileMap.position += new Vector2(0, -1) * window.deltaTime * 300;
                }
                if (window.GetKey(KeyCode.Down))
                {
                    tileMap.position += new Vector2(0, 1) * window.deltaTime * 300;
                }

                tileMap.position += window.JoystickAxisRight(0) * window.deltaTime * 300;

                tileMap.Draw();

                for (int i = 0; i < tiles2.Instances; i++)
                {
                    tiles2.SetPosition(i, new Vector2(20 * i, 20 * i), true);
                    if (i % 2 == 0)
                    {
                        tiles2.SetAdditiveColor(i, new Vector4(1, -1, -1, 1), true);
                    }
                }
                tiles2.UpdatePositions();
                tiles2.UpdateAdditiveColors();

                ship.position.Y = 10;
                ship.position += new Vector2(5f, 0) * window.deltaTime;

                ship.scale = new Vector2(1f, 1f);

                t += window.deltaTime;
                if (t > 1f / 24f)
                {
                    index++;
                    if (index >= 51)
                        index = 0;
                    t = 0;
                }
                int x = (index % 10) * (alien.Width / 10);
                int y = (index / 10) * height;

                ship.DrawTexture(alien, x, y, alien.Width / 10, height);

                square.DrawSolidColor(1f, 0, 0, 0.5f);

                window.SetClearColor(255, 0, 0);
                window.RenderTo(screen);

                logo.position.Y = 100;
                logo.position += new Vector2(50f, 0) * window.deltaTime;
                logo.scale = new Vector2(1f, 1f);
                logo.DrawTexture(logoAiv);

                if (window.GetKey(KeyCode.Esc))
                    break;

                if (window.GetKey(KeyCode.F))
                {
                    window.SetFullScreen(true);
                    window.SetResolution(1920, 1080);
                }

                if (window.GetKey(KeyCode.T))
                {
                    window.Title = string.Format("Counter = {0}", counter++);
                }

                if (window.GetKey(KeyCode.R))
                {
                    ship.SetAdditiveTint(1f, -1f, -1f, 0);
                    //ship.SetMultiplyTint(2f, 0, 0, 1);
                }

                if (window.GetKey(KeyCode.N))
                {
                    ship.SetAdditiveTint(0, 0, 0, 0);
                    //ship.SetMultiplyTint(2f, 0, 0, 1);
                }

                window.SetClearColor(100, 100, 100);
                window.RenderTo(null);

                monitor.DrawTexture(screen);

                Vector2 newPosition = tiles.GetPosition(2) - Vector2.One * 20f * window.deltaTime;
                tiles.SetPosition(2, newPosition);

                tiles.DrawSolidColor(0, 1, 1, 1);

                tiles2.position.X += 30 * window.deltaTime;
                tiles2.DrawSolidColor(1, 1, 0, 1);

                particleSystem.Update(window);

                //rope.SetDestination(window.mousePosition);
                rope.UpdatePhysics(window);
                rope.DrawSolidColor(1f, 0f, 1f, 1f);

                ship2.position = rope.position + rope.Point2;
                ship2.SetAdditiveTint(-1f, 1f, -1f, 0);
                ship2.DrawTexture(alien, x, y, alien.Width / 10, height);

                particleSystem2.position = ship2.position;
                particleSystem2.Update(window);

                farTriangles.DrawColor(0f, 0f, 1f, 1f);

                triangle.v[4] = window.mouseX;
                triangle.v[5] = window.mouseY;
                triangle.UpdateVertex();

                if (window.HasFocus)
                {
                    triangle.DrawTexture(alien);
                }
                else
                {
                    window.SetScissorTest(window.Width / 2 - 200, window.Height / 2 - 200, 400, 400);
                    triangle.DrawColor(1f, 0f, 1f, 1f);
                    window.SetScissorTest(false);
                }

                window.SetClearColor(0f, 0f, 0f, 0f);
                window.RenderTo(maskedAlien);

                maskedBackground.DrawTexture(alien2);
                window.SetMaskedBlending();
                spriteMask.scale = Vector2.One;
                spriteMask.position = new Vector2(150, 100);
                spriteMask.DrawTexture(circleMask);

                spriteMask.scale = new Vector2(2f, 2.7f);
                spriteMask.position = new Vector2(180, 280);
                spriteMask.DrawTexture(circleMask2);

                window.SetAlphaBlending();
                window.SetClearColor(0.5f, 0.5f, 0.5f);
                window.RenderTo(null);

                maskedObject.DrawTexture(maskedAlien);

                if (window.GetKey(KeyCode.Space))
                {
                    mainEffect.enabled = true;
                }

                if (window.GetKey(KeyCode.Return))
                {
                    mainEffect.enabled = false;
                }

                if (window.GetKey(KeyCode.Num1))
                {
                    window.SetDefaultOrthographicSize(window.CurrentOrthoGraphicSize + window.deltaTime * 100);
                }

                colouredTriangle.position = window.mousePosition;
                colouredTriangle.pivot = new Vector2(500, 250);
                float triggerRight = window.JoystickTriggerRight(0);
                float triggerLeft = window.JoystickTriggerLeft(0);
                colouredTriangle.scale = new Vector2(1 + triggerLeft, 1 + triggerRight);
                colouredTriangle.Draw();

                window.Update();
            }
        }
Example #14
0
 public virtual void Draw()
 {
     sprite.DrawSolidColor(0f, 0f, 1f);
 }
Example #15
0
        static void Main(string[] args)
        {
            Window windowFake = new Window(800, 600, "Fake");
            windowFake.SetDefaultOrthographicSize(7);
            windowFake.SetClearColor(1f, 0, 0);
            Mesh triangleFake = new Mesh();
            triangleFake.v = new float[]
            {
                2, 0,
                1, 2,
                3, 2
            };
            triangleFake.UpdateVertex();

            Mesh wireframeTriangle = new Mesh();

            wireframeTriangle.v = new float[]
            {
                4, 0,
                3, 1,
                5, 1
            };
            wireframeTriangle.UpdateVertex();

            Window window = new Window(1024, 576, "Units based example");
            window.SetClearColor(0f, 1f, 0f);
            window.SetDefaultOrthographicSize(10);

            Mesh triangle = new Mesh();
            triangle.v = new float[]
            {
                2, 0,
                1, 1,
                3, 1
            };
            triangle.UpdateVertex();
            triangle.pivot = new Vector2(2, 0.5f);

            Camera camera1 = new Camera();
            Camera camera2 = new Camera();
            Camera camera3 = new Camera();
            Camera movingCamera = new Camera();

            Sprite pointer = new Sprite(1, 1);

            while (window.opened && windowFake.opened)
            {

                window.SetCurrent();

                window.SetViewport(0, 0, 1024/2, 576 / 2, 5);
                window.SetScissorTest(window.CurrentViewportPosition.X, window.CurrentViewportPosition.Y, window.CurrentViewportSize.X, window.CurrentViewportSize.Y);
                window.SetClearColor(0.5f, 0.5f, 0.5f);
                window.ClearColor();
                window.SetCamera(movingCamera);
                triangle.scale = new Vector2(1f, 1f);
                triangle.position = window.mousePosition;
                triangle.DrawColor(0f, 1f, 0f, 1f);

                triangle.position = new Vector2(2, 2);
                triangle.DrawColor(1f, 0f, 0f, 1f);

                window.SetViewport(0, 576/2, 1024/2, 576 / 2, 5);
                window.SetScissorTest(window.CurrentViewportPosition.X, window.CurrentViewportPosition.Y, window.CurrentViewportSize.X, window.CurrentViewportSize.Y);
                window.SetClearColor(0.5f, 0.5f, 1f);
                window.ClearColor();
                window.SetCamera(camera1);
                triangle.scale = new Vector2(1f, 1f);
                triangle.position = window.mousePosition;
                triangle.DrawColor(1f, 1f, 0f, 1f);

                window.SetViewport(1024/2, 0, 1024 / 2, 576 / 2, 5);
                window.SetScissorTest(window.CurrentViewportPosition.X, window.CurrentViewportPosition.Y, window.CurrentViewportSize.X, window.CurrentViewportSize.Y);
                window.SetClearColor(0.5f, 1f, 0.5f);
                window.ClearColor();
                window.SetCamera(camera3);
                triangle.scale = new Vector2(1f, 1f);
                triangle.position = window.mousePosition;
                triangle.DrawColor(1f, 0f, 0f, 1f);

                triangle.position = new Vector2(2, 2);
                triangle.DrawColor(1f, 1f, 0f, 1f);

                window.SetViewport(1024/2, 576 / 2, 1024 / 2, 576 / 2, 5);
                window.SetScissorTest(window.CurrentViewportPosition.X, window.CurrentViewportPosition.Y, window.CurrentViewportSize.X, window.CurrentViewportSize.Y);
                window.SetClearColor(1f, 0.5f, 0.5f);
                window.ClearColor();
                window.SetCamera(camera2);
                triangle.scale = new Vector2(1f, 1f);
                triangle.position = window.mousePosition;
                triangle.DrawColor(1f, 0f, 1f, 1f);

                if (window.GetKey(KeyCode.Esc))
                    break;

                if (window.GetKey(KeyCode.Right))
                    movingCamera.position.X += window.deltaTime;

                if (window.GetKey(KeyCode.Left))
                    movingCamera.position.X -= window.deltaTime;

                pointer.position = window.mousePosition;
                pointer.DrawSolidColor(1f, 0, 0, 1f);

                window.Update();

                windowFake.SetCurrent();

                triangleFake.position = windowFake.mousePosition;
                triangleFake.DrawColor(1f, 0f, 1f, 1f);

                wireframeTriangle.DrawWireframe(0f, 1f, 0f);

                windowFake.Update();
            }
        }