2014-12-27 3 views
-1

Привет, я хотел бы разработать приложение для знакомств для Android с eclipse.Разработка игр

Игра состоит из Сцены. Каждая сцена состоит из одного фонового изображения (города), одного изображения Charakter и одного воздушного шара с текстом в нем (текст, который говорит персонаж). Когда я коснусь Воздушного шара, появится следующая Сцена, устный текст изменится, возможно, одна из картин тоже изменится.

Это очень простая игра, состоящая всего из .png Картинки и текстовые строки.

Это моя проблема: Я предположил, что каждая сцена должна быть деятельность (каждый из моих сцен имеет собственный layout.xml) Так что я создал в настоящее время, как 200 макетов, и только начала делать классы Java для каждое действие (каждый класс указывает, когда нажата кнопка, перейдите к следующему файлу макета.) Все работало очень хорошо, пока не появилось около 25 операций. Когда я нажимаю его, игра падает. Я попытался исправить это с помощью «finish» (см. Код ниже), но это не помогло. Может, я использовал это неправильно?

Я попытался обойти деятельность, которая срабатывает (переключается с Activity 25 на Activity 30 вместо 25-26), но также и сбой.

Вопросы 1: У меня есть много загруженных Активистов? Как я могу это исправить?

Я действительно хотел бы продолжить, если возможно, «Каждая сцена - это одно действие», потому что это самый простой способ сделать это пока.

Вопрос 2: Как профессиональный программист сделает это? Создал бы для этого анимацию вспышки и вставлял бы ее в виде ONE Activity? Или просто простой Java-код?

Большое спасибо.

package com.irbstudios.zargoslovestories; 

import android.app.Activity; 
import android.content.Intent; 
import android.graphics.Typeface; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.TextView; 

public class game_p1_prestory_00001 extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState);  
     setContentView(R.layout.game_p1_prestory_00001); 
     TextView tx = (TextView)findViewById(R.id.textView1); 
      Typeface custom_font = Typeface.createFromAsset(getAssets(), 
      "fonts/rosemary.ttf"); 
      tx.setTypeface(custom_font); 
      Intent svc=new Intent(this, BackgroundSoundService.class); 
      startService(svc); //OR stopService(svc); 

} 

    protected void onPause() { 
     super.onPause(); 
     overridePendingTransition(0, 0); 
    } 

    public void onButtonClick(View view) {           //Relevant Part for StackOverflow Question: 

     if(view.getId() == R.id.btn_prestory_00000) {        //when the balloon is touched 
      startActivity(new Intent(this, game_p1_prestory_00002.class));   //got to the next activity 
      finish();                //delete this activity out memory. 
      } 



     } 
} 
+1

Профессионал создавал бы одно действие и динамически загружал бы разный layout.xml с помощью 'setContentView()' – Simon

+0

Вы могли бы создавать фрагменты, которые загружают свои собственные компоновку и сохранить замену. – ChiefTwoPencils

+0

Flash не поддерживается в Android, так как он был снят с производства. В старых версиях браузера запаса есть устаревший плагинов, но вы не сможете вставлять флэш-анимацию в представление. Но у Android отличная инфраструктура для создания анимаций с аппаратным ускорением. См. ObjectAnimator, это довольно близко к Flash Tweens. – rupps

ответ

0

Я хотел бы предложить следующее:

  • Создание активности с полным экраном ViewPager
  • Создать Fragment, что будет «сцена», но этот фрагмент мог бы load любой из макетов. В качестве отправной точки просто преобразуйте одну из ваших действий в фрагмент, это довольно просто.

  • Создать FragmentStatePagerAdapter для отображения фрагментов внутри ViewPager

Это очень компактная структура, и это позволяет определить очень крутые переходы (куб/3D/замирания/свитки ...) Между сценами с очень небольшим усилием (см PageTransformers, когда у вас есть рабочий прототип)

После этого не будет сделано, чтобы изменить сцены, которые вы можете сделать:

mViewPager.setCurrentItem(1); // change to scene 1 

Некоторые Docs:

http://developer.android.com/reference/android/support/v4/app/FragmentStatePagerAdapter.html http://developer.android.com/training/animation/screen-slide.html

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