进度条在游戏中是经常用到的组件之一,Libgdx对进度条的实现很简单。
效果图:
源码:
ProgressActor.java
package com.whs.demo.ui;
import com.badlogic.gdx.graphics.g2d.Batch;
import com.badlogic.gdx.graphics.g2d.NinePatch;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.badlogic.gdx.scenes.scene2d.Actor;
import com.badlogic.gdx.scenes.scene2d.utils.Align;
import com.whs.demo.assets.Assets;
/**
* 黄色进度条公共接口
*
* @author whs
* @date 2015-8-28 下午3:22:55
* @version V1.0
* @Description:
*/
public class ProgressActor
extends Actor {
// 相对于背景的x轴偏移
private static final float PROGRESS_XOFFSET = 7.0F;
// 控制进度条渐变
public Slider slider;
// 绿色进度条
private NinePatch progress;
private TextureRegion bgRegion;
// 飞镖形状的那头,与背景分开,方便覆盖进度尽头
private TextureRegion topRegion;
// 变化块
private TextureRegion progressRegion;
// 指定进度条高度(指的是变化的那块,非背景高度)
private float progressHeigth = 20F;
// 长度极限值
private float maxProgressWidth;
private float x;
private float y;
// 整体不进行缩放
private float scaleX = 1F;
private float scaleY