Pantalla de selección de nivel como Farm Tower, Angry Birds, cortar la cuerda, etc?

Quiero hacer una pantalla de nivel para mi juego similar a los de Angry Birds, Farm Tower y Cut the Rope (la parte donde seleccionas mundos, o la parte similar al widget de la galería). Quería saber cuál es la forma más fácil de atacar esto.

¿Cómo modificaría la vista Gallery para trabajar para esto?

Las vistas forman una jerarquía . Haga una Gallery de GridView .

Si desea adaptar el código del tutorial Galería, cambie el ImageView a LevelSetView y cree un LevelSetAdapter que extienda BaseAdapter y getView su método getView . Aquí hay un comienzo.

 public class HelloLevelsGalleryActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Gallery g = (Gallery) findViewById(R.id.gallery); g.setAdapter(new LevelSetAdapter(this)); } 

Para entender mejor los adaptadores: referencia o este video a los 2 minutos.

También, la pregunta fue hecha aquí .

He aquí una idea para hacer un selector de nivel usando la vista Gallery .

Vamos a seguir este ejemplo sólo para que tenga una base de código: http://developer.android.com/resources/tutorials/views/hello-gallery.html

Así que en la parte superior tendrás tus pantallas de nivel. Cuando un usuario hace clic en él, este método se dispara (tomado directamente del ejemplo).

 gallery.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView parent, View v, int position, long id) { startLevel(position); } }); 

Tal vez su startLevel se verá algo como esto:

 public void startLevel(int position){ Resources res = getResources(); String[] levels = res.getStringArray(R.array.level_classes); try{ Intent i = new Intent(this, Class.forName(levels[position])); startActivity(i); } catch (ClassNotFoundException e) { e.printStackTrace(); } } 

Una vez más, un ejemplo muy básico, ya que no tengo idea de cómo se almacenan los niveles, si se está utilizando una base de datos o no, etc Además, las clases de cada nivel probablemente residen en diferentes paquetes, (por ejemplo, com.game. Levelone, com.game.leveltwo) y tendrás que importar los paquetes de clase para no obtener un ClassNotFoundException Pero esto debería empezar en la dirección correcta.

  • ¿Cómo implementar SD Card Gallery sin personalización en android?
  • Obtener la lista de galerías de fotos en Android
  • Selecciona varias imágenes de la Galería fotográfica en Android con Intents
  • Imágenes de Android desde una carpeta específica en la vista de galería
  • ¿Reutilizando la galería de imágenes predeterminada de Android?
  • Android - combinar deslizar y pellizcar a zoom
  • ¿Cómo migrar de Galería a HorizontalScrollView & ViewPager?
  • ¿Cómo agregar una imagen a la galería del emulador en el estudio android?
  • Recuperar la ruta absoluta cuando seleccione la imagen de la galería kitkat android
  • La clase Imageloader crea la carpeta lazylist en la galería. Cómo evitarlo
  • Android: deshabilita el efecto "rebote" en la Galería personalizada
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.