动态改变Texture2D

时间:2013-01-26 02:59:11

标签: c# textures

private void occupiedcheck(Vector2 positionv, Texture2D positiont)
   {
       int xpos=(((int)positionv.X+100)/150);
       int ypos=(((int)positionv.Y+110)/150);
       for (int j = 0; j < 4; j++)
       {
           if (piecexarray[j] == xpos && pieceyarray[j] == ypos)
           {

           }
           else
           {
               positiont = Content.Load<Texture2D>("Graphics/Highlighter");
               break;
           }
       }
   }

上面你可以看到我为C#游戏编写的一个函数,我希望它能够将传递给它的纹理(Texture2D positiont)更改为“Graphics / Highlighter”,当函数的'else'部分时被激活了。目前它不起作用,我怎样才能得到它,以便我可以将现有的Texture2D传递给函数并通过函数中的'Content.Load'方法动态地更改它。

1 个答案:

答案 0 :(得分:0)

您可以在方法中使用ref方法参数关键字,以便“[a]ny changes made to the parameter in the method will be reflected in that variable when control passes back to the calling method”:

private void occupiedcheck(Vector2 positionv, ref Texture2D positiont)
{
    // ...
}