Content.Load在当前上下文中不存在

m00*_*360 2 c# xna

我正在阅读关于SoundEffect的这个教程:http://msdn.microsoft.com/en-us/library/bb195053.aspx但是,我从编译器得到的错误是"内容"不存在于目前的背景.

这是代码:

using Microsoft.Xna.Framework.Audio; 
using Microsfot.Xna.Framework.Content;

namespace SoundTouchTest 
{
     class SoundTouchTest
     {
            public void loadContent()
            {
                  SoundEffect s; 
                  s = Content.Load<SoundEffect>("example"); 
            }
     }
}
Run Code Online (Sandbox Code Playgroud)

我已经成功添加了参考文献(或者至少我认为我有).任何想法为什么会这样?谢谢!

nee*_*eKo 7

Content 是一个通常引用类ContentManager内部类型实例的Game属性.由于您的SoundTouchTest班级不是Game,因此没有该属性.

您应该ContentManager实例作为参数传递给您的loadContent()方法:

void loadContent(ContentManager content)
{
    SoundEffect e = content.Load<SoundEffect>("example");
}
Run Code Online (Sandbox Code Playgroud)

在你Game班级的某个地方:

SoundTouchTest soundTouchTest = new SoundTouchTest();
soundTouchTest.loadContent(this.Content);
Run Code Online (Sandbox Code Playgroud)