2016-03-25 8 views
0

Хорошо, поэтому мне нужно создать игру для соревнований, но я столкнулся со следующей проблемой: мне нужно получить оси x, y, z Axeleromter. Я использую xamarin, и я создаю игру CocosSharp .i удается получить их в MainActivity, но я должен получить их в GameLayer.Cs. Здесь я должен использовать CCEventAcceleration и CCAccelerometer, но это не кажется, work.Until теперь я судимый, чтобы получить их таким образомТочки акселерометра CocosSharp

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

определить «не работает». Вы получаете ошибку компиляции? Крушение? Исключение во время выполнения? – Jason

+0

он просто сказал, что значение null –

ответ

0

Вам нужно активировать акселерометр и зарегистрировать eventlistener, см. пример ниже. Извлекает тест 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(); 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^