在pygame中将矩形转换为曲面 [英] Convert rectangle to surface in pygame

查看:70
本文介绍了在pygame中将矩形转换为曲面的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的代码中,它不断给我错误:

In my code it keeps giving me the error:

pygame.surface.Surface.blit(a, (x1, y1))

TypeError: 描述符 'blit' 需要一个 'pygame.Surface' 对象,但收到了一个 'pygame.Rect'.

TypeError: descriptor 'blit' requires a 'pygame.Surface' object but received a 'pygame.Rect'.

帮助!

这是我的代码:

import pygame
import time

pygame.init()

screen = pygame.display.set_mode()

display_width = 1366
display_height = 768

white = (255,255,255)
red = (255,0,0)
green = (0,255,0)

gameDisplay = pygame.display.set_mode((display_width,display_height))
clock = pygame.time.Clock()

global x1
global y1
global x2
global y2

x1 = 683
y1 = 384
x2 = 0
y2 = 500


def game():
    y1 = 384
    gameDisplay.fill(white)
    a = pygame.draw.rect(gameDisplay, red, (x1,y1,250,250), 0)
    b = pygame.draw.rect(gameDisplay, green, (x2,y2,100,100), 0)
    pygame.display.update()
    gameStart = True
    while gameStart == True:
        while True:               
            for event in pygame.event.get():
                if event.type == pygame.KEYDOWN:
                    if event.key == pygame.K_w:
                        print('Forward')
                        y1 = y1 + 1
                        a = pygame.draw.rect(gameDisplay, red, (x1,y1,250,250), 0)
                        pygame.surface.Surface.blit(a, (x1, y1))
                        pygame.display.update()
                    elif event.key == pygame.K_s:
                        print('Backward')
                        y1 = y1 - 1
                        pygame.draw.rect(gameDisplay, red, (x1,y1,250,250), 0)
                        pygame.display.update()










game()

顺便说一句:如果按下 s 键的部分我保持不变,直到我让 if w 键按下部分工作.

BTW: the section for if the s key pressed I have left the same until I get the if w key pressed section working.

提前致谢.

推荐答案

使用创建一个具有矩形尺寸的新 pygame.Surface 对象

Use create a new pygame.Surface object with the rects dimensions

surf = pygame.Surface((a.w, a.h))
screen.blit(surf)

这篇关于在pygame中将矩形转换为曲面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆