Libgd实现透明度动作,即实现Actions.alpha方式

1 篇文章 0 订阅
1 篇文章 0 订阅

如题,举例说明。

		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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值