pygame图像连续旋转

我们通过搜索可以知道pygame中关于图像旋转的方法是pygame.transform.rotate(),但是在实际使用中,我们会发现如果我们要连续旋转一个物体,简单地使用这个方法会导致图像扭曲变形,最后完全丧失了本来的样子。

经过研究发现图像扭曲的原因就是每次使用上面方法旋转之后,图像的中心点会发生变化,所以我们的解决方案是在每次旋转的时候设置旋转中心不变。代码如下:

x = 0
y = 0

# 导入原始图像
image_raw = pygame.image.load("your image").convert_alpha()

# 设置旋转中心
core = (x,y)
# 设置角度(0~360)
angle = 60
# 旋转图像
image = pygame.transform.rotate(image_raw, angle)
# 绘制图像,并且设置中心位置,注意这里中心一定要是元组tuple
self.screen.blit(image, image.get_rect(center=tuple(core)))

如果我们需要连续旋转以及改变转转中心位置,调整core与angle的值即可。注意angle的范围用的是角度制(0~360)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值