Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python TypeError:无效的rect赋值,什么';怎么了?_Python_Pygame - Fatal编程技术网

Python TypeError:无效的rect赋值,什么';怎么了?

Python TypeError:无效的rect赋值,什么';怎么了?,python,pygame,Python,Pygame,我试图用宇宙飞船的精灵制作一个游戏,但是当我运行代码时,我得到了一个错误-TypeError:invalid rect assignment。我不明白我做错了什么。请帮帮我 import pygame pygame.init() size = (600, 600) Spaceship_position = [260, 510] screen = pygame.display.set_mode(size) pygame.display.set_caption("Spaceships&

我试图用宇宙飞船的精灵制作一个游戏,但是当我运行代码时,我得到了一个错误-
TypeError:invalid rect assignment
。我不明白我做错了什么。请帮帮我

import pygame

pygame.init()
size = (600, 600)
Spaceship_position = [260, 510]

screen = pygame.display.set_mode(size)
pygame.display.set_caption("Spaceships")
icon = pygame.image.load("D:\\Yahav\\Cyber\\Cyber_Images\\icon.png")
pygame.display.set_icon(icon)
screen.fill((0, 0, 0))
pygame.display.flip()


class Spaceship(pygame.sprite.Sprite):

    def __init__(self):
        pygame.sprite.Sprite.__init__(self)
        self.image = pygame.image.load("D:\\Yahav\\Cyber\\Cyber_Images\\spaceship.png")
        self.rect = self.image.get_rect()
        self.rect.bottom = (100, 100)


all_sprites = pygame.sprite.Group()
spaceship = Spaceship()
all_sprites.add(spaceship)


def main():
    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                exit()
        all_sprites.update()
        all_sprites.draw(screen)


main()

我需要做什么?

问题是由线路引起的

self.rect.bottom=(100100)
rect.bottom
是矩形的底部。因此,您必须为虚拟属性
rect.bottom
指定一个值:

self.rect.bottom=100
如果要设置左下角,则必须指定一个元组:

self.rect.bottomleft=(100100)
见:

Rect对象具有多个虚拟属性,可用于移动和对齐Rect:

x,y
上、左、下、右
左上,左下,右上,右下
中上、中左、中下、中右
中心,中心,中心
大小、宽度、高度
w、 h
所有这些属性都可以指定给:

rect1.right=10
rect2.center=(20,30)

问题是由线路故障引起的

self.rect.bottom=(100100)
rect.bottom
是矩形的底部。因此,您必须为虚拟属性
rect.bottom
指定一个值:

self.rect.bottom=100
如果要设置左下角,则必须指定一个元组:

self.rect.bottomleft=(100100)
见:

Rect对象具有多个虚拟属性,可用于移动和对齐Rect:

x,y
上、左、下、右
左上,左下,右上,右下
中上、中左、中下、中右
中心,中心,中心
大小、宽度、高度
w、 h
所有这些属性都可以指定给:

rect1.right=10
rect2.center=(20,30)