TypeError: дескриптор «Приложение» для объектов «List» не применяется к объекту «тип» [закрыто]Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 TypeError: дескриптор «Приложение» для объектов «List» не применяется к объекту «тип» [закрыто]

Сообщение Anonymous »

Я кодирую игру Space Shooter с Pygame Python 3.9.13 (если это может помочь), и я не могу обойти ее, потому что мне нужен список с моим классом «Bulel», и я не могу найти решение, код: < /p>

Код: Выделить всё

from pygame import *
from shooter_game_more import*
init()
win = display.set_mode((700,500))
back = transform.scale(image.load('galaxy.jpg'),(700,500))

#Objects
rect=Rect(1000,1000,1,1)
player=Player(315,430,'rocket.png',70,70)#line 21
#list of future bullets
bullets=list
#list of enemys
enemys=[
Enemy(0,0,'ufo.png',70,70),#line 28 in shoter_game.py
Enemy(105,0,'ufo.png',70,70),
Enemy(210,0,'ufo.png',70,70),
Enemy(315,0,'ufo.png',70,70),
Enemy(420,0,'ufo.png',70,70),
Enemy(525,0,'ufo.png',70,70),
Enemy(630,0,'ufo.png',70,70),
]

#music
mixer.music.load('space.ogg')
mixer.music.play()

#game loop
game=True
while game:
for e in event.get():
if e.type==QUIT:
game=False
if key.get_pressed()[K_SPACE]:
bullets.append(Bulet(player.x-35,player.y-35,'bullet.png',7,35))
player.move(15)
#update the screen
display.update()
win.blit(back,(0,0))
for enemy in enemys:
enemy.move(4)
enemy.show(win)
enemy.get_kill((player.rect,rect))
player.show(win)
time.wait(25)
< /code>
и модуль 'shorter_game_more': < /p>
from pygame import*
from random import randint
class Objectt():
def __init__(self,x,y,imagee,width,height):
self.x=x
self.y=y
self.image=transform.scale(image.load(imagee),(width,height))
self.rect=self.image.get_rect()

def show(self,winn):
winn.blit(self.image,(self.x,self.y))
def rect_center(self):#center is rect on his coordiate
self.rect.x=self.x
self.rect.y=self.y

def collide(self,rects):#collide with a list of rects
collide=False
for i in rects:
if self.rect.colliderect(i)==True:
collide=True
return collide

class Player(Objectt):
def move(self,speed):
if key.get_pressed()[K_a]==True:
self.x-=speed
if key.get_pressed()[K_d]==True:
self.x+=speed
self.rect_center()
class Enemy(Objectt):
def __init__(self,x,y,imagee,width,height):
super().__init__(x,y,imagee,width,height)
self.y=-70
def restart(self):# respawn
self.x=randint(0,630)
self.y=-70
self.rect_center()
def move(self,speed):
if self.y500:
self.restart()
self.rect_center()
def get_kill(self,listrects):#respawn the enemy when touched
if self.collide(listrects)==True:
self.restart()
class Bulet(Objectt):
def move(self,speed):
self.y+=60
if self.y
Когда я его запускаю, он отправляет это сообщение:
TypeError: descriptor 'append' for 'list' objects doesn't apply to a 'type' object
.
Я хочу добавить класс «bule» в мои пули списка, но я принимаю способ обойти его, спасибо.

Подробнее здесь: https://stackoverflow.com/questions/796 ... -type-obje
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»