2013-05-31 33 views
1

好吧,所以我一直在爲Windows Phone 7.1的項目工作,我碰到了一個奇怪的問題。XNA手勢在類

當我嘗試用手勢,我不能成立TouchPad.EnabledGestures任何地方,但在Game1.cs

我:

public class InputController : Controller 
{ 
    public InputController() 
    { 

    } 

    public override void Initialize() 
    { 
     TouchPanel.EnabledGestures = GestureType.Hold | GestureType.Tap | GestureType.FreeDrag; 
     base.Initialize(); 
    } 

    public override void Update() 
    { 

     while (TouchPanel.IsGestureAvailable) 
     { 
      GestureSample gs = TouchPanel.ReadGesture(); 

      if (gs.GestureType == GestureType.FreeDrag) 
       _Acceleration += 1; 
     } 
    } 
} 

這是行不通的。 如果我刪除「TouchPanel.EnabledGestures = GestureType.Hold | GestureType.Tap | GestureType.FreeDrag;」 並把它放在Game1.LoadContent(),而不是它的工作原理...

有沒有辦法讓它在課堂上工作?

只是爲了確認該行是否被調用,並且EnabledGestures確實出現在觸摸板數據中。

回答

0

已解決:

事實證明這是一個初始化問題。

基本上,數據是從未初始化的觸摸板實例加載的,則觸摸板被初始化。這導致了一些公平的錯誤

如果其他人有這個問題,請確保您得到正確的訂單。 使用初始化函數而不是在聲明成員變量時進行初始化:)