精灵没有属性图像



所以我用pygame设置了一个玩家类。每次我运行代码时,它都会给我一个";类型对象"playnode"没有属性"image";错误任何帮助都会很棒。

玩家等级:

import pygame,random
class playnode(pygame.sprite.Sprite):
def __init__(self, pos):
super().__init__()
self.image = pygame.image.load("amogus png.png")
self.image = pygame.transform.smoothscale(self.image, (15,15))
self.rect = self.image.get_rect()
self.rect.center = pos
self.speed = pygame.math.Vector2(0, 5)
self.speed.rotate_ip(random.randint(0, 360))

self.time = 0
def update(self,x_speed,y_speed):
self.rect.move_ip(x_speed, y_speed)

Main:

import pygame
from pygame.locals import *
pygame.init()
clock = pygame.time.Clock()
on = True
from Level import *
size = (width, height) = 850, 480
import Player
players = pygame.sprite.Group()
color = (54, 96, 230)
screen = pygame.display.set_mode(size, RESIZABLE)
p_v_x = 0
p_v_y = 0
posTuple = tuple((p_v_x, p_v_y))
enemyNum = 10

def innit():
players = pygame.sprite.Group
Enemies = pygame.sprite.Group
players.add(playnode)

def event_processor():
global on, success
for event in pygame.event.get():
if event.type == QUIT:
on = False

def main():
global on
innit()
while on == True:
clock.tick(60)
event_processor()
# screen.fill(color)
screen.blit(Player.playnode.image, Player.playnode.rect)
pygame.display.flip()

if __name__ == '__main__':
main()

随机垃圾,这样我就可以发布这个ajsodijaoikdjaoijdoisajoidjioajdoisajoidjaosijdiosjasidojoiasdiodjiodjiodjfoij;在

您引用的是播放器的类变量,而不是实例变量,因此在引用之前,您首先需要创建播放器的实例

示例:

player = Player(...)
...
screen.blit(player .playnode.image, player .playnode.rect)

最新更新