Использование контроллера с 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.

Это дает вам доступ как к аналоговым джойстикам, так и ко всем другим элементам управления.

Другие вопросы по тегам