您好我想用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.
}
}
}
答案 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