CocosSharp加速度计轴

时间:2016-03-25 21:35:48

标签: android xamarin accelerometer cocossharp

好的所以我必须为竞争对手创建一个游戏,但我遇到了以下问题:我必须得到一个Acceleromter的x,y,z轴。我使用xamarin并且我创建了一个CocosSharp游戏 .i设法让他们进入MainActivity,但我必须在GameLayer.Cs中获取它们。在这里,我必须使用 CCEventAcceleration CCAccelerometer ,但它似乎不起作用。直到现在我试图以这种方式获取它们

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();
}

1 个答案:

答案 0 :(得分:0)

您需要激活加速计,并注册事件监视器,请参阅下面的示例。查看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();
}