using System;using System.Collections.Generic;using System.Linq;using Microsoft.Xna.Framework;using Microsoft.Xna.Framework.Audio;using Microsoft.Xna.Framework.Content;using Microsoft.Xna.Framework.GamerServices;using Microsoft.Xna.Framework.Graphics;using Microsoft.Xna.Framework.Input;using Microsoft.Xna.Framework.Media;namespace WindowsGame2{ /// <summary> /// This is the main type for your game /// </summary> public class Game1 : Microsoft.Xna.Framework.Game { GraphicsDeviceManager graphics; SpriteBatch spriteBatch; KeyboardState kb; VertexPositionColor[] vertices = new VertexPositionColor[4]; BasicEffect effect; public Game1() { graphics = new GraphicsDeviceManager(this); Content.RootDirectory = "Content"; } /// <summary> /// Allows the game to perform any initialization it needs to before starting to run. /// This is where it can query for any required services and load any non-graphic /// related content. Calling base.Initialize will enumerate through any components /// and initialize them as well. /// </summary> protected override void Initialize() { // TODO: Add your initialization logic here effect = new BasicEffect(graphics.GraphicsDevice); effect.VertexColorEnabled = true; effect.Projection = Matrix.CreateOrthographicOffCenter(0, graphics.GraphicsDevice.Viewport.Width, graphics.GraphicsDevice.Viewport.Height, 0, 1, 0); graphics.PreferredBackBufferWidth = 1024; graphics.PreferredBackBufferHeight = 768; Window.Title = "Matrix Math"; graphics.ApplyChanges(); vertices[0] = new VertexPositionColor(new Vector3(-2.0f, 2.0f, -1.5f), Color.CadetBlue); vertices[1] = new VertexPositionColor(new Vector3(2.0f, 2.0f, -1.5f), Color.Blue); vertices[2] = new VertexPositionColor(new Vector3(-2.0f, -2.0f, -1.5f), Color.Brown); vertices[3] = new VertexPositionColor(new Vector3(2.0f, -2.0f, -1.5f), Color.Crimson); kb = Keyboard.GetState(); base.Initialize(); } /// <summary> /// LoadContent will be called once per game and is the place to load /// all of your content. /// </summary> protected override void LoadContent() { // Create a new SpriteBatch, which can be used to draw textures. spriteBatch = new SpriteBatch(GraphicsDevice); // TODO: use this.Content to load your game content here } /// <summary> /// UnloadContent will be called once per game and is the place to unload /// all content. /// </summary> protected override void UnloadContent() { // TODO: Unload any non ContentManager content here } /// <summary> /// Allows the game to run logic such as updating the world, /// checking for collisions, gathering input, and playing audio. /// </summary> /// <param name="gameTime">Provides a snapshot of timing values.</param> protected override void Update(GameTime gameTime) { KeyboardState newstate = Keyboard.GetState(); if (newstate.IsKeyDown(Keys.Escape) && (graphics.IsFullScreen)) { if (!kb.IsKeyDown(Keys.Escape)) { graphics.IsFullScreen = false; graphics.ApplyChanges(); } } else if (newstate.IsKeyDown(Keys.Escape) && (!graphics.IsFullScreen)) { if (!kb.IsKeyDown(Keys.Escape)) { graphics.IsFullScreen = true; graphics.ApplyChanges(); } } kb = newstate; // TODO: Add your update logic here base.Update(gameTime); } /// <summary> /// This is called when the game should draw itself. /// </summary> /// <param name="gameTime">Provides a snapshot of timing values.</param> protected override void Draw(GameTime gameTime) { GraphicsDevice.Clear(Color.MediumAquamarine); effect.CurrentTechnique.Passes[0].Apply(); graphics.GraphicsDevice.DrawUserPrimitives<VertexPositionColor>(PrimitiveType.TriangleStrip, vertices, 0, 2); // TODO: Add your drawing code here base.Draw(gameTime); } }}
Trying to draw a square but it's not working.