我正在阅读关于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");
}
}
}
我已经成功添加了引用(或者至少我认为我有)。任何想法为什么会发生这种情况?谢谢!
答案 0 :(得分:7)
Content
是一个属性,通常引用ContentManager
类中的Game
类型的实例。由于您的SoundTouchTest
课程不是Game
,因此没有该属性。
您应将ContentManager
实例作为参数传递到loadContent()
方法:
void loadContent(ContentManager content)
{
SoundEffect e = content.Load<SoundEffect>("example");
}
Game
班级内的某个地方:
SoundTouchTest soundTouchTest = new SoundTouchTest();
soundTouchTest.loadContent(this.Content);
答案 1 :(得分:2)
你可以通过loadContent将ContentManager
作为参数传递,然后在game1中找到的load方法中调用loadContent,或者你可以创建一个新的实例(我不建议,你不想要每当你需要在为你创建对象时加载某些东西时创建一个新对象。
答案 2 :(得分:0)
而不是Content.Load,它应该是ContentManager.Load
http://msdn.microsoft.com/en-us/library/bb197848.aspx
您可能需要创建一个Content Manager实例才能使用它