使用SetValue设置参数给我的错误,而直接成员引用工作

时间:2012-03-07 22:45:05

标签: c# graphics parameters xna effects

在XNA 4.0中,使用stand VS 2010 IDE ...

以下行给出了错误。

    public EffectManager(ContentManager myContManager, GraphicsDevice myGFX)
    {
        defaultEffect = new BasicEffect(myGFX);
        //defaultEffect.Parameters["TextureEnabled"].SetValue(true);
        myContent = myContManager;
    }

但是,如果我将其更改为:

    public EffectManager(ContentManager myContManager, GraphicsDevice myGFX)
    {
        defaultEffect = new BasicEffect(myGFX);
        defaultEffect.TextureEnabled = true;
        myContent = myContManager;
    }

有效!为什么我不能使用SetValue设置它?

1 个答案:

答案 0 :(得分:2)

这些陈述完全不相同,使用第二种陈述。

Effect的Parameters成员提供自定义效果的着色器参数列表。我不确定你是否应该在BasicEffect上使用参数,错误可能是因为BasicEffect不提供任何参数。

另外,如果第二个代码块有效,那么问题是什么?