gdx-metagunl分析--整体框架(com.dozingcatsoftware.bouncy)

[align=center][size=x-large][b]gdx-metagun分析--整体框架(com.dozingcatsoftware.bouncy)[/b][/size][/align]

一、Metagun.java

Metagun类是整个游戏的入口也是资源和UI创建的入口。


public class MetagunAndroid extends AndroidApplication {
/** Called when the activity is first created. */
@Override
public void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
initialize(new Metagun(), false);
}
}



见下面libdex游戏的生命周期图:
[img]http://dl2.iteye.com/upload/attachment/0089/3910/fbb17221-6706-31cb-a06d-a0b06a7295f2.png[/img]

1. create():
由于Bouncy继承了InputAdapter类和实现了ApplicationListener接口,所以当Application运行时会先调用create(),具体代码如下:
	
public void create () {
Art.load();
Sound.load();
Gdx.input.setInputProcessor(input);
running = true;
setScreen(new TitleScreen());
}


Art类封装装载了所有的资源,包括背景、舞台以及演员。
Sound实现了对声音的封装。
setScreen函数设置屏幕。
Gdx.input.setInputProcessor(input);
这句比较关键,设置的对输入的处理:Sets the InputProcessor that will receive all touch and key input events. It will be called before the ApplicationListener.render() method each frame.
在渲染前会对收到这些输入的事件。


2. render

public void render () {
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
accum += Gdx.graphics.getDeltaTime();
while (accum > 1.0f / 60.0f) {
screen.tick(input);
input.tick();
accum -= 1.0f / 60.0f;
}
screen.render();
}


render function:Called when the Application should render itself.
这里的screen为TitleScreen,即开始屏幕,这里的render主要检测用户是否点击开始
若超时,则进入setScreen(new ExpositionScreen());


整个Metagun比较简单,是整个游戏的入口。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值