C#XNA 4.0异常:"无法打开文件"

1 c# xna image

我在XNA 4.0 Game Studio(C#)中工作,我正在尝试使用LoadContent()方法加载图像.我已经在这个游戏中加载了大量的图像文件,它们都可以100%正常工作,但由于某种原因,XNA不会在我的一个loadContent方法中打开文件.这是方法:

    protected override void LoadContent()
    {
        //spriteBatch = new SpriteBatch(GraphicsDevice);
        //Sets up an array of textures to be used in the Icon class
        Texture2D[] icons = new Texture2D[24];

        #region Loading talent textures
        //These are all of the icons that need to be loaded for the talents
        //Paladin
        icons[0] = Content.Load<Texture2D>(@"C:\Users\Student\Desktop\Dropbox\Public\platformer\Platformer\Content\Talents\blade_of_light3.jpg");
        icons[1] = Content.Load<Texture2D>("Talents\\divine_grace");
        icons[2] = Content.Load<Texture2D>("Talents\\divine_storm");
        icons[3] = Content.Load<Texture2D>("Talents\\hammer_of_the_righteous");
        icons[4] = Content.Load<Texture2D>("Talents\\healing_hands");
        icons[5] = Content.Load<Texture2D>("Talents\\heavenly_fury");
        icons[6] = Content.Load<Texture2D>("Talents/momentum_of_light");
        icons[7] = Content.Load<Texture2D>("Talents/retribution");
        icons[8] = Content.Load<Texture2D>("Talents/righteous_fury");
        icons[9] = Content.Load<Texture2D>("Talents/sanctuary");
        icons[10] = Content.Load<Texture2D>("Talent/searing_light");
        icons[11] = Content.Load<Texture2D>("Talent/wrath_of_the_heavens");

        //Warrior
        icons[12] = Content.Load<Texture2D>(@"Talents\bloodstorm");
        icons[13] = Content.Load<Texture2D>(@"Talents\bloodthirst");
        icons[14] = Content.Load<Texture2D>(@"Talents\die_by_the_sword");
        icons[15] = Content.Load<Texture2D>(@"Talents\furious_blades");
        icons[16] = Content.Load<Texture2D>(@"Talents\unleash_rage");
        icons[17] = Content.Load<Texture2D>(@"Talents\lifeblood");
        icons[18] = Content.Load<Texture2D>(@"Talents\red_like_my_rage");
        icons[19] = Content.Load<Texture2D>(@"Talents\eternal_thirst");
        icons[20] = Content.Load<Texture2D>(@"Talents\bladesurge");
        icons[21] = Content.Load<Texture2D>(@"Talents\bathed_in_blood");
        icons[22] = Content.Load<Texture2D>(@"Talents\bladerunner");
        icons[23] = Content.Load<Texture2D>(@"Talents\bloodfury");
        icons[24] = Content.Load<Texture2D>(@"Talents\grapple_chain");
        #endregion
Run Code Online (Sandbox Code Playgroud)

如您所见,我尝试使用ENTIRE文件位置.它找到该文件,但在调用LoadContent()方法时抛出异常,并显示"无法打开文件blade_of_light3".

我没有得到关于转义路径或类似的任何错误,我已经使用这种文件路径的其他图像,他们工作正常.在这个类中,在这个loadContent方法中,它们将无法正常工作.

dow*_*for 5

Content.Load方法不加载文件,它加载专门的内容或资产.看看这个.您无法直接加载文件,只能加载资源.这些资产是通过内容管道生成的.这主要是为内容提供一个抽象层.因为XNA是独立于平台的,并且在一台机器上您可能使用更大的图像或不同的图像,所以您只需要更改管道中的资产并重用代码即可.