我想跟踪在该范围外创建的类中的变量。在C++中,我只是传递一个像这样的指针。将成员变量设置为类之外的对象
class Camera
{
Player* player;
Position pos;
void setFollow(Player* pl) { pl = player; }
void update() { pos = pl->getPos(); }
}
int Main()
{
Camera* camera = new Camera();
Player* player = new Player();
camera->setFollow(player);
}
在C#中我试图通过引用传递,但它似乎并没有工作。
public class Game1 : Microsoft.Xna.Framework.Game
{
Camera cam = new Camera();
Player player = new Player();
cam.setFollow(ref player); // <-- by reference
}
这只是我的实际代码的缩写版本。
感谢您的任何帮助。
编辑:感谢所有的信息。
也许setFollow(播放器)? – Cynede 2012-04-23 12:16:01
只是通过价值不是吗?所以当玩家更新相机时不会更新。 – rocklobster 2012-04-23 12:19:05
阅读解释的答案有很多他们 – Cynede 2012-04-23 12:20:19