使用pygame绘制旋转字体
在使用pygame绘制旋转文字时,最好的方法是什么呢?我可以先绘制字体,然后用rotozoom
来旋转它,但我觉得如果能直接绘制旋转后的字形,效果可能会更好,尤其是考虑到抗锯齿的效果。
2 个回答
0
你可以在pygame中使用pyOpenGL,这样可能会让事情变得简单一些。Pyglet也使用OpenGL。
(对于pygame的表面)你可以把渲染好的文字缓存起来,这样就可以用来旋转了。或者提前缓存好所有32个方向的图像。[参见其他回答]
0
Pygame没有你想要的功能。
你需要使用你提到的方法,也就是在已经渲染好的字体上使用rotozoom
。其实这个方法的效果还不错。而且从速度上来说,你也不希望一直在渲染字体。
如果你特别想要速度,而且文本不是动态变化的,你可以为每个想显示的文本制作一个缓存,比如说32个方向的版本。Pyglet可以让你“免费”旋转精灵,也就是利用硬件加速。
或者你可以去看看Pygame使用的原始SDL库,看看能不能找到直接绘制旋转字体的方法,然后修改Pygame来使用它。