我试图使用带有area参数的surface.blits来提高我的代码的性能.当我使用blits的area参数时,我遇到以下错误:
SystemError:'pygame.Surface'对象>的''方法'blits'返回带有错误集的结果.
如果我删除区域参数,blits就像我期望的那样工作.关于我可能做错的任何想法?下面是我的用例和错误的示例代码.
import sys
import random
import pygame
pygame.init()
tilemap = pygame.image.load('pattern.jpg')
tilesize = 64
size = 4
w, h = size*64, size*64
screen = pygame.display.set_mode((w, h))
while True:
screen.fill((0, 0, 0))
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
blit_list = []
for i in range(size):
for j in range(size):
xi, yi = random.randint(0, size), random.randint(0, size)
blit_args = (tilemap, (i*tilesize, j*tilesize),
(xi*tilesize, yi*tilesize, tilesize, tilesize))
# calling screen.blit here works correctly
screen.blit(*blit_args)
blit_list.append(blit_args)
# instead of …Run Code Online (Sandbox Code Playgroud) 我试图在两行中的任何一行中计算一个不同的值.例如,一个包含fruit0,fruit1列的表.我可以计算任一行的不同值,但我想要计算它们的数量(注意这是一个愚蠢的人为例子).
例:
id | fruit0 | fruit1
--------------------
0 | apple | banana
1 | apple | pear
2 | apple | apple
3 | pear | banana
Run Code Online (Sandbox Code Playgroud)
我想要的东西:
fruit | count
--------------
apple | 4
banana| 2
pear | 2
Run Code Online (Sandbox Code Playgroud)