zoukankan      html  css  js  c++  java
  • 一起学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

  • 相关阅读:
    Taro文件上传:Blob Url下载Blob对象本身并通过接口上传到服务器
    Taro项目遇到的问题
    RPC是什么?
    句柄
    正向代理和反向代理
    Go Micro搭建简单微服务
    gRPC奇怪的编译命令protoc
    官网下载Git方法
    Go/golang:解决依赖包模块安装问题
    URL
  • 原文地址:https://www.cnblogs.com/randylee/p/1851021.html
Copyright © 2011-2022 走看看