改变一个单位的纹理最好的方法是什么?
我有一个可以控制的鸟,当你按到它的左边时,我想改变纹理,这样鸟就会向左倾斜,同样的,当你按到右边的时候。总之,我想改变这只鸟的形象。
我已经让它发挥作用了,但忍不住认为有更好的方法可以做到,这就是我所拥有的:
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;
}就像我说的那样,这是可行的,但我要求,因为我不想让翅膀上下每一次我按下屏幕,我不认为我可以在纹理之间交换,这样做。
谢谢你的倾听。
发布于 2014-08-21 01:30:52
这可以通过使用相同的纹理来完成,而不是使用多个纹理,将其声明为雪碧。有了精灵,你可以更容易地操纵图像,比如旋转和翻转。
您还可以继续使用纹理,并使用以下内容
绘制(纹理、浮点数x、浮点数y、浮点数originX、浮点数originY、浮动宽度、浮动高度、浮点数scaleX、浮点数scaleY、浮点数旋转、int srcX、int srcY、int srcWidth、int srcHeight、布尔flipX、布尔flipY)。
<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
https://stackoverflow.com/questions/25414038
复制相似问题