游戏开发

时间:2014-12-27 10:35:05

标签: java android eclipse limit

您好我想用eclipse为Android开发一个约会模拟应用程序。

游戏由场景组成。 每个场景由一个背景图片(城市),一个Charakter图片和一个带有文本的气球图像(角色所说的文本)组成。 当我点击气球时,将出现下一个场景,语音文字将会改变,也许其中一个图片也会改变。

这是一个非常简单的游戏,它只包含.png图片和文字字符串。

这是我的问题: 我假设每个场景都必须是一个活动(我的每个场景都有自己的layout.xml) 所以我现在创建了200个布局,并且刚开始为每个活动执行java类(每个类都声明,当按下按钮时,请转到下一个布局文件。) 这一切都运作良好,直到活动25左右出现。当我点击它时,游戏崩溃了。 我尝试用“完成”修复它(请参阅下面的代码),但它没有帮助。也许我用错了方法?

我试图绕过崩溃的活动(从活动25切换到活动30而不是从25切换到26)但它也崩溃了。

问题1: 我是否需要加载许多Activites?我该如何解决?

如果可能的话,我真的想继续“每个场景是一个活动”,因为这是目前最简单的方法。

问题2: 专业程序员将如何做到这一点? 他会为此创建一个flash动画并将其作为一个视图插入一个活动吗? 或者只是简单的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 个答案:

答案 0 :(得分:0)

我建议如下:

  • 使用全屏ViewPager
  • 创建活动
  • 创建一个将成为“场景”的Fragment,但此片段可以加载任何布局。作为一个起点,只需将您的一个活动转换为片段,它就非常简单。

  • 创建FragmentStatePagerAdapter以在ViewPager

  • 中显示您的片段

这是一个非常紧凑的结构,它允许您在很少的努力下在场景之间定义非常酷的过渡(立方体/ 3d / f / /滚动...)(当您有一个工作原型时,请参阅PageTransformers

完成此操作后,要更改可以执行的场景:

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

一些文档:

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