CocosSharp 加速度计轴

CocosSharp Accelerometer Axes

好的,所以我必须为比赛创建一个游戏,但我遇到了以下问题:我必须获得 Acceleromter 的 x、y、z 轴。我使用 xamarin 并创建了一个CocosSharp 游戏。我设法将它们放入 MainActivity,但我必须将它们放入 GameLayer.Cs。在这里我必须使用 CCEventAccelerationCCAccelerometer 但它似乎 work.Until 现在我试图以这种方式获取它们

CCEventAccelerate Acl;
CCLabel label;
label = new CCLabel("Score: 0", "Arial", 20, CCLabelFormat.SystemFont);
label.PositionX = 50;
label.PositionY = 880;
label.AnchorPoint = CCPoint.AnchorUpperLeft;
AddChild(label);

然后我试了

try
   {
      label.text = Acl.Acceleration.X.ToString();
   }
catch(Exception ex)
{
label.text = ex.ToString();
}

您需要激活加速度计,并注册一个事件监听器,请参见下面的示例。查看 CocosSharp 测试项目以获取更多详细信息: https://github.com/mono/CocosSharp/blob/master/tests/tests/classes/tests/AccelerometerTest/AccelerometerTest.cs

GameView.Accelerometer.Enabled = true;
var accelListener = new CCEventListenerAccelerometer();
accelListener.OnAccelerate = DidAccelerate;
AddEventListener(accelListener); 

public void DidAccelerate(CCEventAccelerate accelEvent)
{
   label.text = accelEvent.Acceleration.X.ToString();
}