声明:
本系列文章使用的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