Libgdx专题系列:对象篇 Animation动画

 

声明:

本系列文章使用的Libgdx版本均为0.99版本

Libgdx游戏开发交流群 323876830

 

是不是看着这个角色太单调了, 都不会动的,单单的一个图片,弄来弄去的, 好了, 这一部分呢, 我们将要添加动画效果, 让他动起来。代码如下:

 

public class Player extends Actor
{

    private Pixmap mPixmap;
    private Texture mTexture;
    private TextureRegion [] keyFrames;
    private Animation mAnimation;
    private float stateTime;

    public Player()
    {
        mPixmap = new Pixmap(Gdx.files.internal("gremlins.png"));
        mTexture = new Texture(mPixmap);
        keyFrames = new TextureRegion[3];
        keyFrames[0] = new TextureRegion(mTexture, 0, 0, 30, 30);
        keyFrames[1] = new TextureRegion(mTexture, 30, 0, 30, 30);
        keyFrames[2] = new TextureRegion(mTexture, 60, 0, 30, 30);
        mAnimation = new Animation((float) 0.2, keyFrames);
    }

    @Override
    public void draw(SpriteBatch batch, float parentAlpha)
    {
        stateTime += Gdx.graphics.getDeltaTime();
        
        TextureRegion textureRegion = mAnimation.getKeyFrame(stateTime,true);
        // 这里要注意,我们添加的action只是改变actor的属性值,绘制的时候并没有
        // 自动给我们处理这些逻辑, 我们要做的就是取得这些值,然后自己处理
        batch.draw(textureRegion, getX(), getY(),
                textureRegion.getRegionWidth() / 2,
                textureRegion.getRegionHeight() / 2,
                textureRegion.getRegionWidth(),
                textureRegion.getRegionHeight(), getScaleX(), getScaleY(),
                getRotation());

    }

    @Override
    public void clear()
    {
        super.clear();
        mPixmap.dispose();
        mTexture.dispose();
    }

}


 

工程下载

 

转载请链接原文地址 http://blog.csdn.net/wu928320442/article/details/16940761

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值