Использование контроллера с Ouya (Android)
Я пытаюсь заставить программу Android распознавать игровой контроллер для Ouya. Я могу заставить следующий код работать, когда он один, но я использую фреймворк, к которому я хотел бы подключить его. Я пробовал несколько разных вещей (создание экземпляра класса в другом и т. Д.), Но пока что то, что я пробовал, не сработало. Можете ли вы помочь мне узнать, что нужно сделать, чтобы превратить это в свой собственный класс и заставить его действовать когда кто-то использует контроллер? Спасибо!
Вот мой код:
import tv.ouya.console.api.OuyaController;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.MotionEvent;
public class SampleGame extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
OuyaController.init(this);
}
@Override
public boolean onKeyDown(final int keyCode, KeyEvent event){
//Get the player #
int player = OuyaController.getPlayerNumByDeviceId(event.getDeviceId());
boolean handled = false;
//Handle the input
switch(keyCode){
case OuyaController.BUTTON_O:
System.out.println("Button 'O' was pressed.");
//doSomethingWithKey();
handled = true;
break;
case OuyaController.BUTTON_U:
System.out.println("Button 'U' was pressed.");
//doSomethingWithKey();
handled = true;
break;
case OuyaController.BUTTON_Y:
System.out.println("Button 'Y' was pressed.");
//doSomethingWithKey();
handled = true;
break;
case OuyaController.BUTTON_A:
System.out.println("Button 'A' was pressed.");
//doSomethingWithKey();
handled = true;
break;
}
return handled || super.onKeyDown(keyCode, event);
}
}
1 ответ
Вам необходимо использовать метод onGenericMotionEvent(событие MotionEvent), который является частью Ouya SDK.
Это дает вам доступ как к аналоговым джойстикам, так и ко всем другим элементам управления.