0

我尝试了本教程,但收到多条错误消息。

http://what-when-how.com/xna-game-studio-4-0-programmingdeveloping-for-windows-phone-7-and-xbox-360/2d-avatars-using-render-targets-xna-游戏工作室 4-0 编程/

我只想画一个 2D 头像。

当前上下文中不存在名称“world” 当前上下文中不存在
名称“view” 当前上下文中不存在
名称“projection” 当前上下文中不存在名称“avatarRenderer” 该名称当前上下文中不存在“avatarAnimation”
如何修复错误?

public class Game1 : Microsoft.Xna.Framework.Game
{
    GraphicsDeviceManager graphics;
    SpriteBatch spriteBatch;
    RenderTarget2D renderTarget;

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

    protected override void Initialize()
    {
        base.Initialize();
    }

    protected override void LoadContent()
    {  
        spriteBatch = new SpriteBatch(GraphicsDevice);
        renderTarget = new RenderTarget2D(GraphicsDevice, 512, 512, false, SurfaceFormat.Color, DepthFormat.Depth16);
        projection = Matrix.CreatePerspectiveFieldOfView(MathHelper.PiOver4, 1, 0.01f, 200.0f);

    }

    protected override void Update(GameTime gameTime)
    {

        base.Update(gameTime);
    }

    protected override void Draw(GameTime gameTime)
    {
        GraphicsDevice.SetRenderTarget(renderTarget);
        GraphicsDevice.Clear(Color.Transparent);
        avatarRenderer.World = world;
        avatarRenderer.View = view;
        avatarRenderer.Projection = projection;
        avatarRenderer.Draw(avatarAnimation);
        GraphicsDevice.SetRenderTarget(null);
        GraphicsDevice.Clear(Color.CornflowerBlue);

        spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.NonPremultiplied);
        spriteBatch.Draw(renderTarget, Vector2.Zero, Color.White);
        spriteBatch.End();

        base.Draw(gameTime);
    }
}
4

1 回答 1

3

本教程应该添加到已经绘制 Avatar 的基础教程中。例如这个

world,viewprojection是要使用的变换矩阵。是avatarRenderer您可以从AvatarDescription.

于 2012-12-18T14:26:27.060 回答