一幅图胜过千言万语,因此,我的问题是“我该如何实现这一点?”:
直觉告诉我,可以在
因此,我起草了以下测试代码,但我没有看到任何旋转效果。 我做错了什么?
直觉告诉我,可以在
pygame.display.set_mode
定义的主显示对象中定义一个表面,在表面上绘制(或拼贴)所需内容,然后使用pygame.transform.rotate
对其进行旋转。 我认为,静态点可以直接绘制到下面代码中由pygame.display.set_mode
函数返回的screen
对象中。因此,我起草了以下测试代码,但我没有看到任何旋转效果。 我做错了什么?
#!/usr/bin/env python
import pygame as pg
from pygame.locals import *
SIZE = (800, 600)
BGCOL = (128, 128, 128)
STIMCOL = (80, 255, 80)
screen = pg.display.set_mode((SIZE), HWSURFACE | DOUBLEBUF)
screen.fill(BGCOL)
surf = pg.Surface((200, 200), flags=HWSURFACE)
surf.fill(BGCOL)
pg.draw.rect(surf, STIMCOL, (10, 20, 40, 50))
pg.draw.rect(surf, STIMCOL, (60, 70, 80, 90))
screen.blit(surf, (100, 100))
pg.display.flip()
running = True
while running:
pg.transform.rotate(surf, -1)
pg.display.flip()
当然,如果有更好的方法来做到这一点,我非常乐意聆听。也许“sprite groups”是一个不错的选择?(尽管我以前从未使用过...=/)
谢谢!