我的主循環:按引用傳遞一個TouchCollection
...
// Variables declaration
TouchCollection touch_;
...
private void InitializeAll()
{
...
player = new Player(touch_);
...
}
protected override void Update(GameTime gametime)
{
touch_ = TouchPanel.GetState();
player_.Update(gametime);
...
}
我想打電話給TouchPanel.GetState();
只是一個時間每次更新,所以我沒有把它也在玩家的更新循環,並在所有其他對象的更新需要了解觸摸狀態的循環。所以我將touch_
傳入玩家的構造函數,但我不工作:玩家沒有看到touch_
變量的任何更新。
據我所知,這是一個與每次分配touch_
的事實有關的問題。
我該如何解決這個問題?
「touch_」的數據類型是什麼?如果它是一個結構體,我可以理解它爲什麼不起作用。 (是的,它[是一個結構](http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.input.touch.touchcollection.aspx)) – gunr2171
@ gunr2171那麼我該如何解決問題? –
先生Skeet發佈了一個很好的答案[通過c#結構參考?](http://stackoverflow.com/a/16614732/2596334),你可能會發現有幫助。 –