python - 需要帮助使用 pygame 旋转矩形
问题描述
我的问题是相当基本的。我想做的是制作一把枪(基本上是一个矩形),枪的顶角以玩家的中心为中心。我还想说枪围绕该中心点旋转。我已经尝试了几件事,并且成功地生成了枪并使其跟随玩家。
我的问题在于旋转枪。如果我在原始图像上使用 pygame.transform.rotate,我的枪似乎会挤压,矩形似乎没有旋转,只是改变了大小。我已经知道如何计算角度,我当前的代码如下:
gun_rect.x=player_rect.x
gun_rect.y=player_rect.y
gun_rect.width=30
gun_rect.height=20
mouse_x, mouse_y = pygame.mouse.get_pos()
rel_x, rel_y=mouse_x-gun_rect.x,mouse_y-gun_rect.y
angle=(180/math.pi)*-math.atan2(rel_y,rel_x)
print(angle)
gun_surf1=pygame.transform.rotate(gun_surf,int(angle))
Gun rect 是一个矩形,gun surf 是我想要旋转的枪的图形。
非常感谢,我在下面提供了一些屏幕截图:
解决方案
推荐阅读
- git - 获取用于推送 git 提交的所有电子邮件的唯一列表的最快方法
- r - 寻找一个 dplyr 函数来有条件地应用过滤器
- openssl - 带有 OPENSSL 的 ECDSA
- google-api - 似乎无法通过 Gmail API 进行身份验证以读取 gmail
- ruby - 使用 rake 控制台时如何修复 ruby 中的错误未初始化常量错误?
- odoo - Odoo 13 TypeError:strptime() 参数 1 必须是 str,而不是 datetime.dateE
- javascript - 动态创建的表中的行单击事件返回未定义的错误?
- javascript - css禁用按钮在平板电脑中不起作用
- mysql - vb.net 索引所选单元格的行
- c# - 具有自有类型 SQL Server 的脚手架 dbcontext