如题,举例说明。
Ready ready = new Ready(this);
ready.addAction(Actions.repeat(20, Actions.sequence(Actions.alpha(0.1f, 1.0f), Actions.alpha(1.0f, 1.0f))));
readyStage.addActor(ready);
Ready类是本地代码中的一个类,继承Actor演员类,实际是一个游戏里显示Ready的样式。
对他添加了action动作。由代码看出是一个循环的渐淡渐显效果。然后将这个actor添加进舞台。
libgdx大家知道,对于actor来说,它是没有绘制相关的代码的,需要我们重载draw方法进行操作,在相对麻烦的同时提供了更多的灵活性,
对actor添加的action只是操作actor的属性成员而已。
下面是Ready类里的draw方法里的部分代码
@Override
public void draw(SpriteBatch batch, float parentAlpha) {
// TODO Auto-generated method stub
super.draw(batch, parentAlpha);
Color color = batch.getColor();
batch.setColor(getColor());
batch.draw(ResourcesMgr.mReady, 10, 220, 640, 640);
batch.setColor(color);
}
对batch进行设置该演员对象的color对象,因为action动作操作了调用的actor的color对象,
设置进后,再去调用draw绘制相关资源。
保险作法还要将batch之前状态还原,即color对象重设回batch