界面跳转弹出动画
2016-07-27 17:51
357 查看
两个Activity
MainActivity.java
public class MainActivity extends
BaseGameActivity {
private static final int CAMERA_WIDTH =
800;
private static final int CAMERA_HEIGHT =
480;
private Camera mCamera;
private BitmapTextureAtlas
fonttexture,buttontexture,bgt;
private TextureRegion buttonbg,bg;
private Scene menuscene;
private Font font;
private Scene scene;
Text text1,text2,text3;
ButtonSprite buttonsprite;
boolean menukey;
Handler mHandler;
@Override
public EngineOptions onCreateEngineOptions()
{
// TODO 自动生成的方法存根
mHandler =new Handler();
mCamera=new Camera(0, 0,
CAMERA_WIDTH, CAMERA_HEIGHT);
EngineOptions
mEngineOptions=new EngineOptions(true,
ScreenOrientation.LANDSCAPE_FIXED,
new RatioResolutionPolicy(CAMERA_WIDTH,
CAMERA_HEIGHT), mCamera);
return mEngineOptions;
}
@Override
public void onResumeGame()
{
// TODO 自动生成的方法存根
super.onResumeGame();
scene.registerEntityModifier(new
ScaleAtModifier(1f, 0.0f, 1.0f, CAMERA_WIDTH,
CAMERA_HEIGHT));
menuscene.registerEntityModifier(new
ScaleAtModifier(1f, 0.0f, 1.0f, 0, 0));
}
@Override
public void
onCreateResources(OnCreateResourcesCallback arg0)
throws
Exception {
// TODO 自动生成的方法存根
fonttexture=new
BitmapTextureAtlas(getTextureManager(), 256, 256);
font=new Font(getFontManager(),
fonttexture,
Typeface.create(Typeface.DEFAULT,
Typeface.BOLD), 32, true, Color.RED);
fonttexture.load();
font.load();
buttontexture=new
BitmapTextureAtlas(getTextureManager(), 100, 66);
buttonbg=BitmapTextureAtlasTextureRegionFactory.createFromAsset(buttontexture,
getAssets(), "ass.jpg",
0,0);
buttontexture.load();
bgt=new
BitmapTextureAtlas(getTextureManager(), 1000, 666);
bg=BitmapTextureAtlasTextureRegionFactory.createFromAsset(bgt,
getAssets(), "miss.JPG", 0, 0);
bgt.load();
arg0.onCreateResourcesFinished();
}
@Override
public void onCreateScene(OnCreateSceneCallback
arg0) throws Exception {
// TODO
自动生成的方法存根
scene=new Scene();
float
centerX=(CAMERA_WIDTH-bg.getWidth())/2;
float
centerY=(CAMERA_HEIGHT-bg.getHeight())/2;
Sprite menuback=new
Sprite(centerX, centerY, bg, getVertexBufferObjectManager());
scene.attachChild(menuback);
buttonsprite=new ButtonSprite(0, 0, buttonbg,
getVertexBufferObjectManager());
buttonsprite.setOnClickListener(new
OnClickListener() {
@Override
public void
onClick(ButtonSprite arg0, float arg1, float arg2) {
//
TODO 自动生成的方法存根
Log.i("aa",
"aaa");
scene.detachChild(buttonsprite);
menukey=true;
scene.setChildScene(menuscene);
menuscene.registerEntityModifier(new
ScaleAtModifier(0.5f, 0, 1, 0, 0));
}
});
scene.attachChild(buttonsprite);
scene.registerTouchArea(buttonsprite);
createmenu();
arg0.onCreateSceneFinished(scene);
}
@Override
public void onPopulateScene(Scene arg0,
OnPopulateSceneCallback arg1)
throws
Exception {
// TODO 自动生成的方法存根
arg1.onPopulateSceneFinished();
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent
event) {
// TODO 自动生成的方法存根
if(keyCode==KeyEvent.KEYCODE_MENU&&event.getAction()==KeyEvent.ACTION_DOWN
){Log.i("key",
"key");
if(menukey){
scene.clearChildScene();
scene.attachChild(buttonsprite);
menukey=false;
}else
{
scene.detachChild(buttonsprite);
scene.setChildScene(menuscene);
menukey=true;
}
return
true;
}else{
return super.onKeyDown(keyCode,
event);
}
}
public void createmenu(){
menuscene=new Scene();
ButtonSprite button1=new ButtonSprite(100,
100, buttonbg, getVertexBufferObjectManager());
text1=new Text(0,0, font, "button1",
getVertexBufferObjectManager());
button1.attachChild(text1);
button1.setOnClickListener(new
button1click());
ButtonSprite button2=new ButtonSprite(100, 200,
buttonbg, getVertexBufferObjectManager());
text2=new Text(0,0, font, "button2",
getVertexBufferObjectManager());
button2.attachChild(text2);
button2.setOnClickListener(new OnClickListener()
{
@Override
public void
onClick(ButtonSprite arg0, float arg1, float arg2) {
// TODO
自动生成的方法存根
Log.i("2",
"button2");
}
});
ButtonSprite button3=new ButtonSprite(100, 300,
buttonbg, getVertexBufferObjectManager());
text3=new Text(0,0, font, "button3",
getVertexBufferObjectManager());
button3.attachChild(text3);
button3.setOnClickListener(new OnClickListener()
{
@Override
public void
onClick(ButtonSprite arg0, float arg1, float arg2) {
// TODO
自动生成的方法存根
scene.clearChildScene();
scene.attachChild(buttonsprite);
buttonsprite.registerEntityModifier(new
ScaleAtModifier(0.5f, 0, 1, 100, 200));
Log.i("3",
"button3");
menukey=false;
}
});
menuscene.attachChild(button1);menuscene.registerTouchArea(button1);
menuscene.attachChild(button2);menuscene.registerTouchArea(button2);
menuscene.attachChild(button3);menuscene.registerTouchArea(button3);
menuscene.setBackgroundEnabled(false);
}
public class button1click implements
OnClickListener{
@Override
public void onClick(ButtonSprite arg0, float
arg1, float arg2) {
// TODO 自动生成的方法存根
scene.registerEntityModifier(new
ScaleAtModifier(1, 1, 0, CAMERA_WIDTH, CAMERA_HEIGHT));
menuscene.registerEntityModifier(new
ScaleAtModifier(1, 1, 0, CAMERA_WIDTH, CAMERA_HEIGHT));
Runnable level1=new Runnable()
{
@Override
public void run() {
// TODO
自动生成的方法存根
Intent
intent=new Intent(MainActivity.this,Level1Game.class);
startActivity(intent);
}
};
mHandler.postDelayed(level1,1000);
Log.i("1", "button1");
}
}
}
Level1Game.java //可省略
public class Level1Game extends BaseGameActivity{
private static final int CAMERA_WIDTH =
800;
private static final int CAMERA_HEIGHT =
480;
private Camera mCamera;
Scene scene;
BitmapTextureAtlas p1,p2;
TextureRegion bgp1,bgp2;
@Override
public EngineOptions onCreateEngineOptions()
{
// TODO 自动生成的方法存根
mCamera =new Camera(0, 0,
CAMERA_WIDTH, CAMERA_HEIGHT);
EngineOptions mengine=new
EngineOptions(true, ScreenOrientation.LANDSCAPE_FIXED,
new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT),
this.mCamera);
return mengine;
}
@Override
public void
onCreateResources(OnCreateResourcesCallback arg0)
throws
Exception {
// TODO 自动生成的方法存根
p1=new
BitmapTextureAtlas(getTextureManager(), 240, 160);
bgp1=BitmapTextureAtlasTextureRegionFactory.createFromAsset(p1,
getAssets(), "p1.jpg", 0, 0);
p1.load();
p2=new
BitmapTextureAtlas(getTextureManager(), 1366, 768);
bgp2=BitmapTextureAtlasTextureRegionFactory.createFromAsset(p2,
getAssets(), "p2.jpg", 0, 0);
p2.load();
arg0.onCreateResourcesFinished();
}
@Override
public void onCreateScene(OnCreateSceneCallback
arg0) throws Exception {
// TODO 自动生成的方法存根
scene =new Scene();
float
centerX=(CAMERA_WIDTH-bgp2.getWidth())/2;
float
centerY=(CAMERA_HEIGHT-bgp2.getHeight())/2;
Sprite background=new
Sprite(centerX, centerY, bgp2,
getVertexBufferObjectManager());
background.registerEntityModifier(new ScaleAtModifier(1, 0, 1,
CAMERA_WIDTH, CAMERA_HEIGHT));
scene.attachChild(background);
Sprite pone=new Sprite(0, 0,
bgp1, getVertexBufferObjectManager());
pone.registerEntityModifier(new SequenceEntityModifier(new
ParallelEntityModifier(
new
MoveModifier(3, 0, 280, 0, 160),
new SequenceEntityModifier(
new ScaleAtModifier(1, 1, 1, centerX, centerY),
new ScaleAtModifier(2, 1, 0.5f, centerX, centerY))
),new
ParallelEntityModifier(new SequenceEntityModifier(
new
ScaleAtModifier(2, 0.5f, 1, centerX, centerY)))));
scene.attachChild(pone);
arg0.onCreateSceneFinished(scene);
}
//自定义缓动函数
public static class EaseWiggle implements
IEaseFunction{
private static EaseWiggle
INSTANCE;
private EaseWiggle() {
}
public static EaseWiggle getInstance()
{
if(INSTANCE == null) {
INSTANCE = new EaseWiggle();
}
return INSTANCE;
}
@Override
public float getPercentage(float
pSecondsElapsed, float pDuration) {
// TODO 自动生成的方法存根
float percentage = pSecondsElapsed /
pDuration;
if(percentage < 0.5f) {
return 0.5f-0.5f *
(FloatMath.cos(4*percentage * PI) - 1);
} else {
return 0.5f-0.5f *
(FloatMath.cos(4*(percentage-0.5f) * PI) - 1);
}
}
}
@Override
public void onPopulateScene(Scene arg0,
OnPopulateSceneCallback arg1)
throws
Exception {
// TODO 自动生成的方法存根
arg1.onPopulateSceneFinished();
}
}
代码:http://vdisk.weibo.com/s/uqaaHg5hC0Tbk
MainActivity.java
public class MainActivity extends
BaseGameActivity {
private static final int CAMERA_WIDTH =
800;
private static final int CAMERA_HEIGHT =
480;
private Camera mCamera;
private BitmapTextureAtlas
fonttexture,buttontexture,bgt;
private TextureRegion buttonbg,bg;
private Scene menuscene;
private Font font;
private Scene scene;
Text text1,text2,text3;
ButtonSprite buttonsprite;
boolean menukey;
Handler mHandler;
@Override
public EngineOptions onCreateEngineOptions()
{
// TODO 自动生成的方法存根
mHandler =new Handler();
mCamera=new Camera(0, 0,
CAMERA_WIDTH, CAMERA_HEIGHT);
EngineOptions
mEngineOptions=new EngineOptions(true,
ScreenOrientation.LANDSCAPE_FIXED,
new RatioResolutionPolicy(CAMERA_WIDTH,
CAMERA_HEIGHT), mCamera);
return mEngineOptions;
}
@Override
public void onResumeGame()
{
// TODO 自动生成的方法存根
super.onResumeGame();
scene.registerEntityModifier(new
ScaleAtModifier(1f, 0.0f, 1.0f, CAMERA_WIDTH,
CAMERA_HEIGHT));
menuscene.registerEntityModifier(new
ScaleAtModifier(1f, 0.0f, 1.0f, 0, 0));
}
@Override
public void
onCreateResources(OnCreateResourcesCallback arg0)
throws
Exception {
// TODO 自动生成的方法存根
fonttexture=new
BitmapTextureAtlas(getTextureManager(), 256, 256);
font=new Font(getFontManager(),
fonttexture,
Typeface.create(Typeface.DEFAULT,
Typeface.BOLD), 32, true, Color.RED);
fonttexture.load();
font.load();
buttontexture=new
BitmapTextureAtlas(getTextureManager(), 100, 66);
buttonbg=BitmapTextureAtlasTextureRegionFactory.createFromAsset(buttontexture,
getAssets(), "ass.jpg",
0,0);
buttontexture.load();
bgt=new
BitmapTextureAtlas(getTextureManager(), 1000, 666);
bg=BitmapTextureAtlasTextureRegionFactory.createFromAsset(bgt,
getAssets(), "miss.JPG", 0, 0);
bgt.load();
arg0.onCreateResourcesFinished();
}
@Override
public void onCreateScene(OnCreateSceneCallback
arg0) throws Exception {
// TODO
自动生成的方法存根
scene=new Scene();
float
centerX=(CAMERA_WIDTH-bg.getWidth())/2;
float
centerY=(CAMERA_HEIGHT-bg.getHeight())/2;
Sprite menuback=new
Sprite(centerX, centerY, bg, getVertexBufferObjectManager());
scene.attachChild(menuback);
buttonsprite=new ButtonSprite(0, 0, buttonbg,
getVertexBufferObjectManager());
buttonsprite.setOnClickListener(new
OnClickListener() {
@Override
public void
onClick(ButtonSprite arg0, float arg1, float arg2) {
//
TODO 自动生成的方法存根
Log.i("aa",
"aaa");
scene.detachChild(buttonsprite);
menukey=true;
scene.setChildScene(menuscene);
menuscene.registerEntityModifier(new
ScaleAtModifier(0.5f, 0, 1, 0, 0));
}
});
scene.attachChild(buttonsprite);
scene.registerTouchArea(buttonsprite);
createmenu();
arg0.onCreateSceneFinished(scene);
}
@Override
public void onPopulateScene(Scene arg0,
OnPopulateSceneCallback arg1)
throws
Exception {
// TODO 自动生成的方法存根
arg1.onPopulateSceneFinished();
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent
event) {
// TODO 自动生成的方法存根
if(keyCode==KeyEvent.KEYCODE_MENU&&event.getAction()==KeyEvent.ACTION_DOWN
){Log.i("key",
"key");
if(menukey){
scene.clearChildScene();
scene.attachChild(buttonsprite);
menukey=false;
}else
{
scene.detachChild(buttonsprite);
scene.setChildScene(menuscene);
menukey=true;
}
return
true;
}else{
return super.onKeyDown(keyCode,
event);
}
}
public void createmenu(){
menuscene=new Scene();
ButtonSprite button1=new ButtonSprite(100,
100, buttonbg, getVertexBufferObjectManager());
text1=new Text(0,0, font, "button1",
getVertexBufferObjectManager());
button1.attachChild(text1);
button1.setOnClickListener(new
button1click());
ButtonSprite button2=new ButtonSprite(100, 200,
buttonbg, getVertexBufferObjectManager());
text2=new Text(0,0, font, "button2",
getVertexBufferObjectManager());
button2.attachChild(text2);
button2.setOnClickListener(new OnClickListener()
{
@Override
public void
onClick(ButtonSprite arg0, float arg1, float arg2) {
// TODO
自动生成的方法存根
Log.i("2",
"button2");
}
});
ButtonSprite button3=new ButtonSprite(100, 300,
buttonbg, getVertexBufferObjectManager());
text3=new Text(0,0, font, "button3",
getVertexBufferObjectManager());
button3.attachChild(text3);
button3.setOnClickListener(new OnClickListener()
{
@Override
public void
onClick(ButtonSprite arg0, float arg1, float arg2) {
// TODO
自动生成的方法存根
scene.clearChildScene();
scene.attachChild(buttonsprite);
buttonsprite.registerEntityModifier(new
ScaleAtModifier(0.5f, 0, 1, 100, 200));
Log.i("3",
"button3");
menukey=false;
}
});
menuscene.attachChild(button1);menuscene.registerTouchArea(button1);
menuscene.attachChild(button2);menuscene.registerTouchArea(button2);
menuscene.attachChild(button3);menuscene.registerTouchArea(button3);
menuscene.setBackgroundEnabled(false);
}
public class button1click implements
OnClickListener{
@Override
public void onClick(ButtonSprite arg0, float
arg1, float arg2) {
// TODO 自动生成的方法存根
scene.registerEntityModifier(new
ScaleAtModifier(1, 1, 0, CAMERA_WIDTH, CAMERA_HEIGHT));
menuscene.registerEntityModifier(new
ScaleAtModifier(1, 1, 0, CAMERA_WIDTH, CAMERA_HEIGHT));
Runnable level1=new Runnable()
{
@Override
public void run() {
// TODO
自动生成的方法存根
Intent
intent=new Intent(MainActivity.this,Level1Game.class);
startActivity(intent);
}
};
mHandler.postDelayed(level1,1000);
Log.i("1", "button1");
}
}
}
Level1Game.java //可省略
public class Level1Game extends BaseGameActivity{
private static final int CAMERA_WIDTH =
800;
private static final int CAMERA_HEIGHT =
480;
private Camera mCamera;
Scene scene;
BitmapTextureAtlas p1,p2;
TextureRegion bgp1,bgp2;
@Override
public EngineOptions onCreateEngineOptions()
{
// TODO 自动生成的方法存根
mCamera =new Camera(0, 0,
CAMERA_WIDTH, CAMERA_HEIGHT);
EngineOptions mengine=new
EngineOptions(true, ScreenOrientation.LANDSCAPE_FIXED,
new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT),
this.mCamera);
return mengine;
}
@Override
public void
onCreateResources(OnCreateResourcesCallback arg0)
throws
Exception {
// TODO 自动生成的方法存根
p1=new
BitmapTextureAtlas(getTextureManager(), 240, 160);
bgp1=BitmapTextureAtlasTextureRegionFactory.createFromAsset(p1,
getAssets(), "p1.jpg", 0, 0);
p1.load();
p2=new
BitmapTextureAtlas(getTextureManager(), 1366, 768);
bgp2=BitmapTextureAtlasTextureRegionFactory.createFromAsset(p2,
getAssets(), "p2.jpg", 0, 0);
p2.load();
arg0.onCreateResourcesFinished();
}
@Override
public void onCreateScene(OnCreateSceneCallback
arg0) throws Exception {
// TODO 自动生成的方法存根
scene =new Scene();
float
centerX=(CAMERA_WIDTH-bgp2.getWidth())/2;
float
centerY=(CAMERA_HEIGHT-bgp2.getHeight())/2;
Sprite background=new
Sprite(centerX, centerY, bgp2,
getVertexBufferObjectManager());
background.registerEntityModifier(new ScaleAtModifier(1, 0, 1,
CAMERA_WIDTH, CAMERA_HEIGHT));
scene.attachChild(background);
Sprite pone=new Sprite(0, 0,
bgp1, getVertexBufferObjectManager());
pone.registerEntityModifier(new SequenceEntityModifier(new
ParallelEntityModifier(
new
MoveModifier(3, 0, 280, 0, 160),
new SequenceEntityModifier(
new ScaleAtModifier(1, 1, 1, centerX, centerY),
new ScaleAtModifier(2, 1, 0.5f, centerX, centerY))
),new
ParallelEntityModifier(new SequenceEntityModifier(
new
ScaleAtModifier(2, 0.5f, 1, centerX, centerY)))));
scene.attachChild(pone);
arg0.onCreateSceneFinished(scene);
}
//自定义缓动函数
public static class EaseWiggle implements
IEaseFunction{
private static EaseWiggle
INSTANCE;
private EaseWiggle() {
}
public static EaseWiggle getInstance()
{
if(INSTANCE == null) {
INSTANCE = new EaseWiggle();
}
return INSTANCE;
}
@Override
public float getPercentage(float
pSecondsElapsed, float pDuration) {
// TODO 自动生成的方法存根
float percentage = pSecondsElapsed /
pDuration;
if(percentage < 0.5f) {
return 0.5f-0.5f *
(FloatMath.cos(4*percentage * PI) - 1);
} else {
return 0.5f-0.5f *
(FloatMath.cos(4*(percentage-0.5f) * PI) - 1);
}
}
}
@Override
public void onPopulateScene(Scene arg0,
OnPopulateSceneCallback arg1)
throws
Exception {
// TODO 自动生成的方法存根
arg1.onPopulateSceneFinished();
}
}
代码:http://vdisk.weibo.com/s/uqaaHg5hC0Tbk
相关文章推荐
- spring事务的传播特性(7种)
- 菜单的创建 并加入实体菜单键…
- 静态内部类和非静态内部类的区别
- 菜单的创建
- PhysicsWorld 物理规则
- 异步复位和同步复位
- 人物绕着屏幕走
- 飞机
- 监听屏幕点击次数并显示
- andengine背景设置另一种方法
- Struts2学习(四)OGNL标签介绍
- andengine背景
- Java跳出循环-break和continue语句
- Xcode中Build Configuration配置使用
- 深入理解RxJava的Side Effect Methods
- C++中输出指定位数的小数
- 架构图
- ios数据存储——数据库:SQlite3以及第三方库FMDB
- SqlServer与MySql的一些常用用法的差别
- android 命令隐藏导航栏以及显示电量