首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >更改libgdx中的纹理以创建动画

更改libgdx中的纹理以创建动画
EN

Stack Overflow用户
提问于 2014-08-20 20:40:29
回答 1查看 221关注 0票数 0

改变一个单位的纹理最好的方法是什么?

我有一个可以控制的鸟,当你按到它的左边时,我想改变纹理,这样鸟就会向左倾斜,同样的,当你按到右边的时候。总之,我想改变这只鸟的形象。

我已经让它发挥作用了,但忍不住认为有更好的方法可以做到,这就是我所拥有的:

代码语言:javascript
复制
Texture birdOriginal;
Texture birdLeft;
Texture batRight;

birdOriginal = new Texture(Gdx.files.internal("textures/birdNew.png"));
birdLeft = new Texture(Gdx.files.internal("textures/birdLeft.png"));
birdRight = new Texture(Gdx.files.internal("textures/birdRight.png"));

//psuedo code
if (birdPosition > touchPosition){
  birdImage = birdRight;
}
if (birdPosition < touchPosition){
  birdImage = birdRight;
}

if (!Gdx.input.isTouched()){
  birdImage = birdOriginal;
}

就像我说的那样,这是可行的,但我要求,因为我不想让翅膀上下每一次我按下屏幕,我不认为我可以在纹理之间交换,这样做。

谢谢你的倾听。

EN

Stack Overflow用户

回答已采纳

发布于 2014-08-21 01:30:52

这可以通过使用相同的纹理来完成,而不是使用多个纹理,将其声明为雪碧。有了精灵,你可以更容易地操纵图像,比如旋转和翻转。

您还可以继续使用纹理,并使用以下内容

绘制(纹理、浮点数x、浮点数y、浮点数originX、浮点数originY、浮动宽度、浮动高度、浮点数scaleX、浮点数scaleY、浮点数旋转、int srcX、int srcY、int srcWidth、int srcHeight、布尔flipX、布尔flipY)。

代码语言:javascript
复制
<code>
Sprite bird = new Sprite(birdTexture);
bird.setFlip(true, false);
bird.rotate(0.45);
</code>

http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/graphics/g2d/Sprite.html

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25414038

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档