• XNA项目基础


    XNA项目基础

    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 WindowsGame1

    {

        public class Game1 : Microsoft.Xna.Framework.Game

        {

            GraphicsDeviceManager graphics;

            SpriteBatch spriteBatch;

            SpriteFont FontofTimesNewRoman;

            Model model;

            Texture2D  texture;

            public Game1()

            {

                graphics = new GraphicsDeviceManager(this);

                //屏幕控制

                this.graphics.PreferredBackBufferWidth = 1024;

                this.graphics.PreferredBackBufferHeight = 768;

                this.graphics.IsFullScreen = true;

                Content.RootDirectory = "Content";

            }

            protected override void Initialize()

            {

                this.IsMouseVisible = true;//鼠标显示

                this.Window.AllowUserResizing = true;//允许窗口最大化

                base.Initialize();

            }

            protected override void LoadContent()

            {

                spriteBatch = new SpriteBatch(GraphicsDevice);

                //加载content中的资源

                model = Content.Load<Model>("model");

                FontofTimesNewRoman = Content.Load<SpriteFont>("FontofTimesNewRoman");

                texture = Content.Load<Texture2D>("texture");

            }

            protected override void UnloadContent()

            {

            }

            protected override void Update(GameTime gameTime)

            {

                if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)

                    this.Exit();

                //ESC退出

                if (Keyboard.GetState().IsKeyDown(Keys.Escape))

                    this.Exit();

                 //键盘控制 退出全屏

                KeyboardState keyb = Keyboard.GetState();

                if (keyb.IsKeyDown(Keys.A))

                {

                    this.graphics.ToggleFullScreen();

                }

                //鼠标控制 退出全屏

                //Mouse.GetState().LeftButton==ButtonState.Pressed

                MouseState mouse = Mouse.GetState();

                if (mouse.LeftButton == ButtonState.Pressed)

                {

                    this.graphics.ToggleFullScreen();

                }

                base.Update(gameTime);

            }

            protected override void Draw(GameTime gameTime)

            {

                GraphicsDevice.Clear(Color.CornflowerBlue);

               

                spriteBatch.Begin();

                //图片显示

                spriteBatch.Draw(texture, new Vector2(0, 0), Color.White);

                //字体显示

                string str = "times:" + gameTime.TotalGameTime.Seconds.ToString();

                Vector2 ms = FontofTimesNewRoman.MeasureString(str);

                Vector2 position;

                position.X = (this.Window.ClientBounds.Width - ms.X) / 2.0f;

                position.Y = (this.Window.ClientBounds.Height - ms.Y) / 2.0f;

                spriteBatch.DrawString(FontofTimesNewRoman, str, position, Color.BlueViolet);

                spriteBatch.End();

                //model显示

                Matrix world = Matrix.Identity;

                Matrix view = Matrix.CreateLookAt(new Vector3(500, 0, 500), Vector3.One, Vector3.Up);

                Matrix projection = Matrix.CreatePerspectiveFieldOfView(MathHelper.PiOver4, GraphicsDevice.Viewport.AspectRatio, 0.1f, 500f);

                model.Draw(world, view, projection);

                base.Draw(gameTime);

            }

        }

    }

     注:字体,图片,模型需放到content目录下编译成xnb文件才能使用........

    支持个人观看使用,如商用或转载,请告知! -----萧朗(QQ:453929789 Email:xiaolang_xl@sina.com)
  • 相关阅读:
    做淘宝直通车怎么提高宝贝的点击率?
    如何更有效的优化直通车关键词?为什么要优化?
    淘宝直通车运营的6个技巧与逻辑
    淘宝直通车推广技巧,如何做好养词及关键词出价
    淘宝直通车技巧干货大全
    直通车 直接成交笔数,间接成交笔数
    直通车关键字竞争透视
    影响淘宝综合排名的因素有哪些?
    影响淘宝排名的因素有哪些
    面试-java反射
  • 原文地址:https://www.cnblogs.com/XiaoLang0/p/10154736.html
Copyright © 2020-2023  润新知