下面的代码是我在pygame中制作的游戏中的npc类的绘制函数(来源:https://github.com/hailfire006/games/blob/master/strategy%20gamev2),除了这一行之外它都很有效
urlCh
应该将npc旋转到它移动到的点。无论出于何种原因,它只是不旋转。我认为这可能与我不将此函数的结果存储到变量中这一事实有关,但我不确定。
功能的其余部分:
pygame.transform.rotate(self.sprite.image,angle)
答案 0 :(得分:1)
您需要self._base_sprite
和self._active_sprite
将您的init
代码设置为初始化_base_sprite
,然后从以下位置更改您的行:
pygame.transform.rotate(self.sprite.image,angle)
为:
self._active_sprite = pygame.transform.rotate(self._base_sprite.image,angle)
然后blit你的活动精灵
原因是:
此外,您的.rect调整代码应该只在您的init
函数中完成。你想尝试调整精灵的中心,我想?
编辑:注意,this question here高度相关(并在侧边栏中)。