一起学wp7 XNA游戏开发(二. XNA Game 开发架构)

对于新建一个XNA for WP7的工程,可以看到在它的工程文件中,有:Initialize(), LoadContent(), Update(),Draw()这几个主要的函数,由这些也就可以看得出XNA开发游戏的一个基本架构了:

  Loading:用来加载保证游戏可以正常运行的所有资源等,这个状态在整个系统中只在游戏开始前运行,也就是说整个游戏的生命周期中只运行一次。

  Update:这个状态是由所设置的时间间隔来驱动的,在每个时间间隔里重新计算游戏中各角色的状态,以及游戏分值和各种游戏逻辑。一般默认为每秒30次(帧),如果设置间隔过大,游戏可能无法启动。

  Draw:这个状态也是由所设置的时间间隔来驱动的,用来绘制各种变化到显示设置上。

  对于XNA资源,在创建新的工程时,就一起创建了一个Content工程,所有的资源(图片、声音、视频、字体、3D造形、纹理等)都要加载到这个工程中,并被这个工程编译为.xnb格式的XNA二进制文件,这样才可以加载到游戏中,并被调用。

  所支持的资源格式:

  ?       Autodesk FBX format (.fbx)

  ?       DirectX Effect file format (.fx)

  ?       Font description specified in a .spritefont file

  ?       Texture file. The following types are supported: .bmp, .dds, .dib, .hdr, .jpg, .pfm, .png, .ppm, and .tga

  ?       Game audio specified in the Microsoft Cross-Platform Audio Creation Tool (XACT) format (.xap)

  对于XNA游戏来说,还需要有输入来与游戏交互,如点击屏幕、各种传感器(如Accelerometer)等。相关的命名空间为:

  Microsoft.Xna.Framework.Input:用于键盘、按钮、鼠标等的输入。在WP7上只有按钮可以用(back、start)。

  Microsoft.Xna.Framework.Touch:用于触控的输入。其中又包括gesture和touch location。

  另外,还有一个是Content Pipeline,它是XNA中很重要的一块内容。素材管线用于输入、编译和加载游戏资源,例如纹理、3D模型和声音文件。它大大减轻了用户在游戏中自己获取图像、3D数据和着色器的代码量。其包括的dll:

  Microsoft.Xna.Framework.Content.Pipeline

  Microsoft.Xna.Framework.Content.Pipeline.Audio

  Microsoft.Xna.Framework.Content.Pipeline.Graphics

  Microsoft.Xna.Framework.Content.Pipeline.Processors

  Microsoft.Xna.Framework.Content.Pipeline.Serialization.Compiler

  Microsoft.Xna.Framework.Content.Pipeline.Serialization.Intermediate

  Microsoft.Xna.Framework.Content.Pipeline.Tasks

时间: 2024-08-04 04:33:50

一起学wp7 XNA游戏开发(二. XNA Game 开发架构)的相关文章

一起学WP7 XNA游戏开发(四. Input)

对于Windows Phone7来说与用户的交互方法主要有三种:手势.按键.触控和一些传感器的信号(如重力感应等,对于最后一种,在一起学Windows Phone7开发(十四. Device)中已经详细介绍过了)所以XNA游戏所能用到的交互方式也是一样的.但对于XNA来说与Windows phone7是有很大区别的.其主要的函数在Microsoft.Xna.Framework.Input和Microsoft.Xna.Framework.Input.TouchPanel. 一.按键:对于按键来说,

XNA游戏开发之字符篇

摘要: 游戏中开发不同于一般应用程序的开发,它更注重于界面美观,我们需要在游戏界面设计中花费大量的时间以便使它看起来更炫.更酷,当然这其中就少不了游戏中的字符文本,那么如何制作出漂亮的游戏文本呢?今天我们就一起来看一下. 内容: 在XNA中2D文本的绘制方式种类比较多,这有助于我们制作出更美观的文本效果,下面我就逐一来看一下. 一.SpriteFont 这种方式在XNA游戏开发中应该算是最基本的一种形式,使用方法就是在游戏对应的Content项目中添加SpriteFont文件(右键Add-New

XNA游戏开发之2D游戏

摘要:以XNA为基础的游戏可以利用3D模型为游戏加入动画效果,也可以利用简单的程序技巧将2维图片显示成动画.虽然2维动画相对3维动画来说简单一些,但是制作出来的游戏其趣味性和挑战性也绝不逊色.今天我们就一块学习一下在使用XNA Framework开发2D游戏时的一些基础知识和注意事项. 主要内容: 1.2D游戏动画的基本原理 2.动画素材的准备 3.一个简单的2D动画 一.2D游戏动画的基本原理 在XNA中制作2D动画的过程很像翻卡通小人书,首先绘制好各种角色造型,然后以固定的时间间隔来显示不同

【ANDROID游戏开发二十七】讲解游戏开发与项目下的HDPI 、MDPI与LDPI资源文件夹以及游戏高清版本的设置

本站文章均为 李华明Himi 原创,转载务必在明显处注明:  转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/android-game/389.html 今天一个开发者问到我为什么游戏开发要删除项目下的hdpi.mdpi和ldpi文件夹:下面详细给大家解答一下: 首先童鞋们如果看过我写的<[Android游戏开发二十一]Android os设备谎言分辨率的解决方案!>这一节的话都应该知道Android从1.6和更高,Google为了方便开发者对于各

XNA入门教程(二) 移动控制

上一章,我们主要介绍了何谓XNA 并且做了第一个XNA HelloWorld 本文,将紧接着上文. 继续我们的XNA之旅. 上篇的最后,我们通过 MouseState ms=Mouse.GetState();//获得鼠标相关信息 获得了鼠标的Point位置,让自己的图像显示在鼠标的位置,因此做到了自定义 光标的功能. 现在,我们对XNA的控制器作全面阐述 XNA的控制器 在XNA的控制器,主要定义在 Microsoft.Xna.Framework.Input下, 分为以下几种 Mouse 鼠标

【高德地图API】从零开始学高德JS API(二)地图控件与插件——测距、圆形编辑器、鼠标工具、地图类型切换、鹰眼鱼骨

原文:[高德地图API]从零开始学高德JS API(二)地图控件与插件--测距.圆形编辑器.鼠标工具.地图类型切换.鹰眼鱼骨 摘要:无论是控件还是插件,都是在一级API接口的基础上,进行二次开发,封装的一系列更加便于开发者使用,减少开发者工作量的二级API接口.除了官方通用的鱼骨.鹰眼控件,还有大量官方开发的地图插件,类似谷歌的lib.当然本文还会介绍自定义插件的使用.   -------------------------------------------------------------

宫崎骏画风游戏《二之国》将登陆PS3平台

多玩网讯(编译/自来也)从2008年至今,游戏开发公司Level-5就已与动画制作公司吉托力工作室签定了合作意向,率先在任天堂NDS掌机上推出了小品级角色扮演游戏<二之国>,时至今日,工作室又再次带给了我们一大惊喜,宣称该作的<二之国:白色圣灰之女王>将正式移植到PS3平台之上. Level-5公司是一间私营性质运作的日本电玩游戏开发与发行公司,公司总部设立于日本福冈,开发的游戏多以独特的卡通风格著称,最初是以<黑暗编年史>作为敲门砖打开了游戏市场的大门,后来又与史克威

目前国内较好c#二次快速开发平台有哪些?

问题描述 目前国内较好c#二次快速开发平台有哪些? 目前国内较好二次快速开发平台有哪些? 我们是小公司,以后做开发尽量不找程序员,尽量的用开发平台进行开发. 解决方案 web端的有asp.netasp.net mvc asp.net web api桌面客户端的就多了.可以上网少搜一下,好多的 解决方案二: 不找程序员的小公司还不如直接做软件代理商来得赚钱呢.""二次开发平台""这种半成品学习坡度也大,更找不到人.还得自己设计产品.管理需求.建立渠道,还有售后. 解决

Android平台下利用zxing实现二维码开发

现在走在大街小巷都能看到二维码,而且最近由于项目需要,所以研究了下二维码开发的东西,开源的二维码扫描库主要有zxing和zbar,zbar在iPos平台上应用比较成熟,而在Android平台上主流还是用zxing库,因此这里主要讲述如何利用zxing进行二维码开发. 1.如何将zxing的Android源码导入工程. 在导入zxing的android源码之前,先去官方下载zxing的源码:http://code.google.com/p/zxing/downloads/list. 我这里下载的是