XNA4.0学习笔记1:XNA解析及精灵动画

 

                                                         XNA框架及精灵动画

         XNA是微软开发的一款用于window,xbox,windows phone等设备上的游戏开发框架,他的特点是方便快捷的开发游戏,提供给我们很多的游戏开发套件,摒弃了传统的游戏引擎多文件多目录的繁琐,使我们用起来容易上手,在wp8 SDK发布之后,目前微软已经表示wp8不再支持用XNA开发游戏,但是会完全兼容XNA游戏,所以XNA游戏还是可以在这些平台上运行(这点感觉微软有点坑爹)!

 

         学习要求:XNA游戏开发主要是采用C#语言,但是要求不是很高,只需要我们掌握基础的语法 加上一定的利用API开发的经验就可以开始学习了!本博文系列的教材是《XNA4.0入门指南》,算是总结性质的吧,结合教材看效果更佳!

 

        我的系统环境是windows 8,开发IDE用的是windows phone7.1 SDK,该开发包里面已经集成了XNA4.0的开发套件,也集成了简易的开发环境VS2010 express for windows phone!所以没有必要再VS2010的基础上安装7.1SDK,对于开发环境的搭建网上已有很多教程,在这里我就不累述了.这里附上windows phone 7.1SDK的官方下载地址   windows phone 7.1 SDK   接下来开始我们的XNA游戏开发之旅:

 

  1:第一个XNA程序

 工程创建:新建项目—XNA game studio 4.0—windows游戏 完成之后工作区如图所示

在这几个目录中,我们暂时只需要关注两个目录,一个是Programs.cs和Game1.cs,前面一个是主函数文件,他是游戏程序的入口点,说实话我们暂时不需要用他,后者才说我们的重点,点开目录,看到的代码如下:

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 WindowsGame5
{
    /// <summary>
    /// 这是游戏的主类型
    /// </summary>
    public class Game1 : Microsoft.Xna.Framework.Game
    {
        GraphicsDeviceManager graphics;
        SpriteBatch spriteBatch;

        public Game1()
        {
            graphics = new GraphicsDeviceManager(this);
            Content.RootDirectory = "Content";
        }

        /// <summary>
        /// 允许游戏在开始运行之前执行其所需的任何初始化。
        /// 游戏能够在此时查询任何所需服务并加载任何非图形
        /// 相关的内容。调用 base.Initialize 将枚举所有组件
        /// 并对其进行初始化。 
        /// </summary>
        protected override void Initialize()
        {
            // TODO: 在此处添加初始化逻辑

            base.Initialize();
        }

        /// <summary>
        /// 对于每个游戏会调用一次 LoadContent,
        /// 用于加载所有内容。
        /// </summary>
        protected override void LoadContent()
        {
            // 创建新的 SpriteBatch,可将其用于绘制纹理。
            spriteBatch = new SpriteBatch(GraphicsDevice);

            // TODO: 在此处使用 this.Content 加载游戏内容
        }

        /// <summary>
        /// 对于每个游戏会调用一次 UnloadContent,
        /// 用于取消加载所有内容。
        /// </summary>
        protected override void UnloadContent()
        {
            // TODO: 在此处取消加载任何非 ContentManager 内容
        }

        /// <summary>
        /// 允许游戏运行逻辑,例如更新全部内容、
        /// 检查冲突、收集输入信息以及播放音频。
        /// </summary>
        /// <param name="gameTime">提供计时值的快照。</param>
        protected override void Update(GameTime gameTime)
        {
            // 允许游戏退出
            if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
                this.Exit();          
            // TODO: 在此处添加更新逻辑

            base.Update(gameTime);
        }

        /// &
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值