简体   繁体   English

在类内部使用pygame.Surface.blit

[英]Using pygame.Surface.blit inside class

I can call my class only one time. 我只能给班上一次电话。 My code is: 我的代码是:

class fish:
    def __init__(self, x, y, image, speed):
        self.x = x
        self.y = y
        self.image = image
        self.speed = speed
    def be(self):
        screen.blit(self.image, (self.x, self.y))
        self.x -= self.speed
        if boot.x+36 > self.x and boot.x < self.x+5:
            if boot.y+34 > self.y and boot.y < self.y+5:
                boot.live -= 1
                boot.x = 100
                boot.y = 460
fishes = []
fishes.append(fish(900, 300, fish_1, 1))

And when I call 'fish' object inside or outside the game loop( fishes.append(fish(900, 300, fish_1, 1)) I got Error: 当我在游戏循环的内部或外部调用“ fish”对象时( fishes.append(fish(900, 300, fish_1, 1))我得到了错误:

TypeError: 'fish' object is not callable

My first guess is that you have a fish variable somewhere down in your code. 我的第一个猜测是您的代码中某处有一个fish变量。 Rename the class to Fish as well as the constructor call to Fish(900, 300, fish_1, 1) and it should be fine. 将类重命名为Fish并将构造函数调用重命名为Fish(900, 300, fish_1, 1) ,应该没问题。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM