Libgdx 之图片的翻转与旋转方式

本文介绍了在Libgdx中如何对图片进行翻转和旋转处理,包括两种翻转方法:使用`region.flip()`和通过设置UV坐标。同时强调了避免直接翻转region以防止内存管理问题。对于图片旋转,文章展示了使用batch进行绘制并调整旋转角度的方法。
摘要由CSDN通过智能技术生成

在Libdgx 中经常会对图片进行翻转,旋转处理,很对时候是对资源的复用,一下是本文对图片进行处理的效果:



 region = Assets.testAtlas.findRegion("world1");

  TextureRegion region1 = new TextureRegion(region);

   TextureRegion region2 = new TextureRegion(region);

TextureRegion region3 = new TextureRegion(region);



翻转方法一:

使用 region3.flip(boolean, boolean) 进行上下左右翻转如image3

翻转方法二:

通过设置UV

  region2.setV(region.getV2());

        region2.setV2(region.getV());

      region1.setU(region.getU2());
        region1.setU2(region.getU());

这两种方法实质是一样的,都是通过setU setV setU2 setV2 实现翻转

值得注意的是,尽量避免直接对region进行翻转,Gdx底层通过Assets.testAtlas.findRegion("world1");方式,即使用AssetsManager 管理的纹理

都是定义成final类型,在别处使用的都是同一份内存。


图片旋转

如Imgae 4

使用batch 直接绘制资源,当然,可以翻转之后再进行绘制,绘制方法

batch.draw(region, x, y, originX, originY, width, height, scaleX, scaleY, rotation)

本文实现为

      batch.draw(region, getX(), getY(), getOriginX(), getOriginY(), getWidth(), getHeight(), getScaleX(), getScal

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值