CocosSharp 加速度计轴
CocosSharp Accelerometer Axes
好的,所以我必须为比赛创建一个游戏,但我遇到了以下问题:我必须获得 Acceleromter 的 x、y、z 轴。我使用 xamarin 并创建了一个CocosSharp 游戏。我设法将它们放入 MainActivity,但我必须将它们放入 GameLayer.Cs。在这里我必须使用 CCEventAcceleration 和 CCAccelerometer 但它似乎 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();
}
好的,所以我必须为比赛创建一个游戏,但我遇到了以下问题:我必须获得 Acceleromter 的 x、y、z 轴。我使用 xamarin 并创建了一个CocosSharp 游戏。我设法将它们放入 MainActivity,但我必须将它们放入 GameLayer.Cs。在这里我必须使用 CCEventAcceleration 和 CCAccelerometer 但它似乎 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();
}