基于XNA的游戏编程

2020-04-18 03:47

硕 士 研 究 生 读 书 报 告

题目基于XNA的游戏开发技术

作者姓名夏智超

作者学号 Z124325305 指导教师

学科专业移动互联网与游戏开发技术

所在学院软件学院 提交日期

XNA-Based Game Development Technology

A Dissertation Submitted to

ZhejiangUniversity

in partial fulfillment of the requirements for

the degree of Master of Engineering

Major Subject: Software Engineering

Advisor: ×××

By

XiaZhichao

Zhejiang University, P.R. China

2012

摘要

本文介绍了基于微软XNA技术的游戏开发基本技术和框架。XNA是微软提出的一项新的游戏开发框架,旨在为开发者提供一个统一的开发平台,并能将制作的游戏应用在3种平台上,即PC,Xbox360和Windows Phone,达到“3屏1云”的效果。文章的第一部分将介绍XNA与传统Managed DirectX的区别和XNA的新特性。文章的第二部分,将介绍使用XNA实现2D游戏开发的基本思想和实现过程。在文章的第三部分将介绍在XNA中开发3D游戏应掌握的基本3D图形学知识,以及用XNA开发3D游戏的基本过程和方法。

关键词:XNA,游戏开发,2D游戏开发,3D游戏开发

Abstract

This paper introduces the basic game development and architecture based on the XNA technology. XNA is Microsoft's new game development framework, aimed at providing a unified platform for developers, and makes a game application on 3

platforms, namely PC,Xbox360 and Windows phone, to achieve \The first part of the article describes the difference between traditional managed DirectX and XNA and also XNA's new features. The second part of the article, describes the basic idea of using XNA to develop 2D game and the implementation process. In the third part of the article describes development in the XNA 3D game should have a basic knowledge of 3D graphics by using XNA, as well as the basic process and method of using XNA to develop 3D games.

Key:XNA, game development, 2D game development, 3D game development

一 引言

XNA Game Studio Express(简称XNA)是微软于2006年8月发布的最新集成开发环境,仅支持C#语言开发。XNA中,X代表“跨平台”(Cross-Platform),即XNA可以为传统Windows平台,Xbox360和Windows Phone三种平台开发游戏,N代表“下一代”(Next-generation),A代表“架构”(Architecture)。

微软为游戏开发者提供XNA的第一目的就是使游戏编程更加简化容易,它将检查显卡、创建Device设备、消息事件处理、纹理导入等工作统统交由XNA完成,而程序员的工作就是编写游戏的逻辑代码。而XNA的第二目的就是实现跨平台开发游戏,即使用XNA编写的游戏代码可以同时在Windows系统和微软游戏机Xbox360上运行。

在介绍XNA与Managed DirectX的区别之前,首先需要介绍一下Managed DirectX。

DirectX是微软公司推出的运行于Windows操作系统的多媒体API,其中Direct3D支持2D、3D图形程序开发。以往开发DirectX程序主要使用C++语言,相较于VB语言,用C++开发DirectX应用程序难度较大。而DirectX概念众多,许多概念又不容易理解,所以用C++开发DirectX游戏难度较大。

而C#语言是一种现代的、面向对象的语言,它简化了C++语言在累、命名空间、方法重载和异常处理等方面的操作,它摒弃了C++的复杂性,更少出错。

2002年微软推出Managed DirectX,也称作DirectX的托管版本,用类重新封装了DirectX的函数库,支持用C#和VB.NET语言开发DirectX程序,极大地简化了DirectX的程序设计。

一般认为,和C++相比,C#语言程序运行速度要慢许多。但实际上经过测试,用C#语言写得3D程序的运行速度已接近于C++语言的3D程序运行速度,因此一些商业游戏已经使用C#进行创建。并且,大多数游戏可以使用C#或同时使用C#和C++进行创建。

使用C#语言编写3D游戏程序可以降低开发难度,提高开发效率,这也是Managed DirectX使用C#进行开发的关键所在。

而XNA是基于DirectX的游戏开发环境,是微软对于Managed DirectX的修正和扩充版本。XNA仍然以DirectX9.0 C为基础,和Managed DirectX有许多共同点,两者是相同的,有很好的相容性。但XNA和Managed DirectX不兼容,最主要的区别是不支持固定功能流水线,仅支持可编程流水线;不再采用左手系统,而采用右手坐标系系统;不包括Managed DirectX中的一些类。

目前最新的XNA版本是XNA 4.0,支持.NET Framework 4.0。在XNA 4.0中,仍然使用和XNA 3.x一样的代码从内容管道中获取内容,内容管道(Content Pipeline)是XNA中用于将游戏资源整合到统一格式下的工具,能够使开发工作更加简洁和高效。

在图形配置方面,XNA Framework支持在具有不同硬件能力的多样化设备上进行开发,包括支持DirectX 10和更高版本的图形卡、XBOX360和Windows Phone 7系列。在以前的XNA中,必须在运行时处理这些硬件上的差异,为了简化在不同设备上的开发,XNA 4.0引入“配置”(profile)的概念。这些配置允许开发人员支持一组特定的图形API,从而针对特定的硬件进行开发。

XNA 4.0有两种配置:Reach和HiDef。HiDef为高端硬件设计,Reach为支


基于XNA的游戏编程.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:关于对第十二、十三、十四期初中校长岗位

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: