一起学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


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3