pygame在表面上绘制与直接在显示上绘制

AV 198

哪种是在pygame中绘制对象的最佳方法?

1)在表面上绘制,然后将其翻转到显示器中。

class Player(pygame.sprite.Sprite):
    def __init__(self):
        super(Player, self).__init__()
        self.surf = pygame.Surface((75, 25))
        self.surf.fill((255, 255, 255))
        self.rect = self.surf.get_rect()
player = Player()
screen.blit(player.surf, player.rect)

2)直接画在显示器上。

pygame.draw.rect(screen, color, (x,y,width,height), thickness)

两种方法有什么区别,哪种是首选的,为什么?

还有哪一个更快?

拉比德76

如果要pygame.sprite.Group使用pygame.sprite.Sprite对象,则应优先使用对象,因为可以将对象添加到组中。
使用组时,可以使用.update()来更新组中的所有Sprite,并使用draw()方法绘制组中的所有Sprite。

但请注意,使用对象and属性draw()方法,因此您必须重命名例如:pygame.sprite.Group.rect.image.surf.image

class Player(pygame.sprite.Sprite):
    def __init__(self, x, y):
        super().__init__() 
        self.image = pygame.Surface((75, 25))
        self.image.fill((255, 255, 255))
        self.rect = self.image.get_rect(center = (x, y))

    def update(self):
        keys = pygame.key.get_pressed()
        if keys[pygame.K_d]
            self.rect.x += 1
        # [...]
screen = pygame.display.set_mode((width, height))

# [...]

my_group = pygame.sprite.Group()
my_group.add(Player(player_x, player_y))

while True:
    # [...]

    my_group.update()

    # [...]

    my_group.draw(screen)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在表面上绘制平滑运动

来自分类Dev

如何在表面上绘制平滑运动

来自分类Dev

如何使用Cairo-Sharp将Pixbuf绘制在表面上?

来自分类Dev

如何使用Cairo-Sharp将Pixbuf绘制在表面上?

来自分类Dev

在3d模型上设置透明层,然后在透明层上绘制一些东西并投影在表面上

来自分类Dev

在表面上循环纹理

来自分类Dev

svg 路径不为镀铬表面上的单点绘制

来自分类Dev

如何在表面上添加边框?

来自分类Dev

matplotlib-直接在画布上绘制

来自分类Dev

在gnuplot中的pm3d表面上绘制点

来自分类Dev

仅沿确定的轴在网格表面上绘制曲线

来自分类Dev

Python3 Memory游戏无法在表面上渲染图像

来自分类Dev

在Pygame显示器表面上缩放一切

来自分类Dev

使用具有特定功能的three.js在表面上旋转多维数据集

来自分类Dev

通过触摸按钮或图像而不是 A-D 键在表面上左右移动 3d 块

来自分类Dev

在OneNote中直接在图像上绘制或使用图像移动绘制的线条

来自分类Dev

Pygame:将文本表面连续传输到另一个表面上

来自分类Dev

Three.js:如何绘制一个表面上带有球形三角形的球体?

来自分类Dev

在pygame上绘制对象

来自分类Dev

Pygame:为什么我的圆圈没有画在精灵的表面上?

来自分类Dev

表面视图:文本绘制在不同的图层上

来自分类Dev

铯表面上方的折线弧

来自分类Dev

检测iPhone在平坦表面上的移动

来自分类Dev

球体表面上的最佳轨迹

来自分类Dev

检测气缸表面上的小针孔

来自分类Dev

平行表面上的漫射照明错误

来自分类Dev

在一个表面上一次显示前后摄像头

来自分类Dev

Codeigniter:尝试获取表面上正确的对象上非对象的属性

来自分类Dev

插值表面并找到表面上方的高度

Related 相关文章

热门标签

归档