OUYA Android Para Consolas Jesús Luis Muros Cobos Manuel José Baena Toquero Indice

OUYA Android Para Consolas Jesús Luis Muros Cobos Manuel José Baena Toquero Indice

OUYA Android para consolas Jesús Luis Muros Cobos Manuel José Baena Toquero Indice ° Videojuegos y Android ° OUYA ° Comenzando el desarrollo ° Ejemplos con ECLIPSE ° Motores para el desarrollo con OUYA ° Ejemplos con Unity Página ° 2 Videojuegos y Android Página ° 3 Videojuegos y Android Página ° 4 Videojuegos y Android Página ° 5 Videojuegos y Android Nvidia Shield Project MOJO Archos Gamepad 2 ZTE FUN BOX Game Stick eSfere Página ° 6 OUYA Página ° 7 OUYA System on a Chip Nvidia Tegra 3 T33-P-A3 Quad-core 1.7 GHz ARM Cortex-A9 MPCore (arquitectura ARMv7-A)con CPU extensiones NEON Advanced SIMD y unidad de punto flotante VFPv3 Nvidia GeForce ULP @ 520 MHz (12.48 GFLOPS)1080p por GPU Hardware MPEG-4 AVC/h.264 40 Mbit/s High-Profile, VC1-AP, y decodificación de video DivX 5/6 Memoria RAM 1 GiB DDR3-1600 SDRAM (compartidos para CPU y GPU) Entrada USB 1 USB 2.0, 1 microUSB HDMI 1.4; óresolucin de 1080p o 720p. soporte para Stereoscopic Salida de Video: 3D. Salidas de Audio: HDMI (ARC), 5.1 or 2.0 canals Almacenamiento: Memoria flash de 8 GB eMMC Conectividad: 10/100 Ethernet (8P8C),WiFi 802.11 b/g/n, Bluetooth LE 4.0 Consumo de energía: 4.5 watt, 1 watt (standby) Alimentación 12 volt DC via conector coaxial (OD 5.50 mm, ID 2.50 mm, center eléctrica: positive) Tamaño: 75× 75× 82 mm (×2.95 2.95×3.23 i n) Peso: 300 g (10,582383858337 oz) Sistema Operativo: Android 4.1 (Jellybean) con un launcher personalizado de Ouya. Página ° 8 OUYA 788 Juegos y contando… Página ° 9 Comenzando el desarrollo °¿Qué necesitamos? ADT + NDK ODK Página ° 10 Configurar ADT Página ° 11 ODK °Ouya Developer Kit puede descargarse de: https://gamers.ouya.tv/developers/odk °Requiere registro gratuito. Página ° 12 Página ° 13 Configurar nuestra OUYA Página ° 14 Configurar nuestra OUYA (II) • Tras esto conectamos usando adb Página ° 15 ¡No tengo una OUYA! °Usa un emulador – Resolución: 1920x1080 – Botones hardware (Back y Home) – Soporte para D-PAD – Nivel de API 16 – Dispositivo a emular: Intel Atom x86 – RAM: 1GB Página ° 16 Vamos a programar Página ° 17 Usando la biblioteca de OUYA °Para trabajar con las funciones de OUYA es necesario incluir el jar que se encuentra en el ODK. Página ° 18 Primer ejemplo @Override 1 public boolean onKeyDown(final int keyCode, KeyEvent event){ 2 // Nos indica el número de jugador que pulsó el botón 3 int player = OuyaController.getPlayerNumByDeviceId(event.getDeviceId()); 4 // Booleano para controlar la pulsación de los botones 5 boolean handled = false; 6 7 // Manejamos la entrada dependiendo del código del botón con el que se realizó la 8 pulsación 9 switch(keyCode){ 10 // Comprobamos si se trata del botón O 11 case OuyaController.BUTTON_O: 12 // Aquí gestionaremos la pulsación del botón O 13 handled = true; 14 break; 15 case OuyaController.BUTTON_DPAD_LEFT: 16 // Aquí gestionaremos la pulsación del botón izquierda de la cruceta 17 handled = true; 18 break; 19 } 20 return handled || super.onKeyDown(keyCode, event); 21 } Página ° 19 Ejemplos con Eclipse 1 @Override 2 public boolean onGenericMotionEvent(final MotionEvent event) { 3 //Obtiene el número de jugador 4 int player = OuyaController.getPlayerNumByDeviceId(event.getDeviceId()); 5 6 //Tomamos los valores del joystick izquierdo 7 // Valor en el eje X del joystick 8 float LS_X = event.getAxisValue(OuyaController.AXIS_LS_X); 9 // Valor en el eje Y del joystick 10 float LS_Y = event.getAxisValue(OuyaController.AXIS_LS_Y); 11 12 // Ajustamos la salida para los valores X e Y del joystick izquierdo 13 tv_joyLeft.setText("X: " + LS_X + " Y: " + LS_Y); 14 15 // Tomamos los valores del joystick derecho 16 // Valor en el eje X 17 float RS_X = event.getAxisValue(OuyaController.AXIS_RS_X); 18 // Valor en el eje Y 19 float RS_Y = event.getAxisValue(OuyaController.AXIS_RS_Y); 20 // Ajustamos la salida para los valores X e Y del joystick derecho 21 tv_joyRight.setText("X: " + RS_X + " Y: " + RS_Y); 22 23 return true; 24 } Página ° 20 Mis juegos están Google Play https://play.google.com/store/apps/details?id=com.mu rosapps.damas Página ° 21 Y en OUYA también Página ° 22 1 Adaptación 2 switch (move) { 3 case OuyaController.BUTTON_DPAD_DOWN: 4 if(posSelected.first+1<Tablero.rowPositions) 5 posSelected=new Pair<Integer,Integer> (posSelected.first+1, posSelected.second); 6 handled= true; 7 break; 8 case OuyaController.BUTTON_DPAD_UP: 9 if(posSelected.first-1>=0) 10 posSelected=new Pair<Integer,Integer> (posSelected.first-1, posSelected.second); 11 handled = true; 12 break; 13 case OuyaController.BUTTON_DPAD_LEFT: 14 if(posSelected.second-1>=0) 15 posSelected =new Pair <Integer,Integer > ( posSelected.first , posSelected.second -1); 16 handled = true; 17 break; 18 case OuyaController.BUTTON_DPAD_RIGHT: 19 if(posSelected.second+1<Tablero.rowPositions) 20 posSelected=new Pair<Integer,Integer> (posSelected.first, posSelected.second+1); 21 handled = true; 22 break; 23 case OuyaController.BUTTON_O: 24 tryMove(posSelected); 25 handled = true; 26 break; 27 case OuyaController.BUTTON_Y: 28 surrender(); 29 handled = true; 30 break; 31 } Página ° 23 32 ¿Estoy ejecutando el código en una OUYA? 1 if (Build.MODEL.contains("OUYA")){ 2 b.setVisibility(View.GONE); 3 ((TextView)findViewById(R.id.TextSurrender)).setVisibility(View.VISIBLE); 4 } Página ° 24 ¿Puedo usar un motor gráfico? Los motores gráficos actuales nos pueden ayudar a desarrollar mejores juegos en menos tiempo. Página ° 25 Motores para el desarrollo con OUYA Página ° 26 Motores para el desarrollo con OUYA Página ° 27 Ejemplos con Unity Código para PC y OUYA disponible en core.ugr.es/beyondandroid Página ° 28 Gracias por su atención ¿Alguna pregunta? Página ° 29.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    29 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us