好的所以我必须为竞争对手创建一个游戏,但我遇到了以下问题:我必须得到一个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();
}
答案 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();
}