0

わかりましたので、競技用のゲームを作成する必要がありますが、次の問題が発生しました: アクセロムターの x、y、z 軸を取得する必要があります。私は xamarin を使用し、CocosSharp ゲームを作成します。MainActivity でそれらを取得できますが、GameLayer.Cs で取得する必要があります。ここでは、CCEventAccelerationCCAccelerometerを使用する必要がありますが、機能していないようです。今まで、この方法で取得しようとしました

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

1 に答える 1

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();
}
于 2016-04-15T09:52:50.050 に答える