zedi 发表于 2020-5-22 20:01:09

求救c⌒っ゚Д゚)っ

本帖最后由 zedi 于 2020-5-22 20:06 编辑

import pygame
import random

class Game:
    def __init__(self):
      pygame.init()
      pygame.display.set_mode((800,600))
      self.screen = pygame.time.Clock()
    def run(self):
      while True:
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                  pygame.display.quit()
                elif event.type == pygame.KEYDOWN:
                  self.keys = pygame.key.get_pressed()
                elif event.type == pygame.KEYUP:
                  self.keys = pygame.key.get_pressed()
            self.screen.fill((random.randint(0,255),random.randint(0,255),random.randint(0,255)))
            pygame.display.update()
            self.Clock.tick(60)
报错内容H:\SuperMario>F:/python牌神/python.exe h:/SuperMario/main.py
pygame 1.9.6
Hello from the pygame community. https://www.pygame.org/contribute.html
Traceback (most recent call last):
File "h:/SuperMario/main.py", line 11, in <module>
    main()
File "h:/SuperMario/main.py", line 8, in main
    game.run()
File "h:\SuperMario\source\tools.py", line 20, in run
    self.screen.fill((random.randint(0,255),random.randint(0,255),random.randint(0,255)))
AttributeError: 'Clock' object has no attribute 'fill'
main的#游戏的主要入口
import pygame

from source import tools

def main():
    game = tools.Game()
    game.run()

if __name__ =='__main__':
    main()

zedi 发表于 2020-5-22 20:01:39

顶,不是水贴{:10_247:}

zedi 发表于 2020-5-22 20:04:17

{:9_220:}

_2_ 发表于 2020-5-22 20:04:18

这是 main.py 的内容吗?
我怎么没有找到 main()

zedi 发表于 2020-5-22 20:05:26

_2_ 发表于 2020-5-22 20:04
这是 main.py 的内容吗?
我怎么没有找到 main()

额,我忘记main的内容发出来了

_2_ 发表于 2020-5-22 20:06:57

zedi 发表于 2020-5-22 20:05
额,我忘记main的内容发出来了

根据你的报错信息,你应该混淆了方法名,
建议检查一下

_2_ 发表于 2020-5-22 20:07:34

zedi 发表于 2020-5-22 20:05
额,我忘记main的内容发出来了

亥,没代码我只能盲猜{:10_266:}

Twilight6 发表于 2020-5-22 20:10:28

'Clock' object has no attribute 'fill'
就是说 Clock 没有 fill 方法

_2_ 发表于 2020-5-22 20:10:39

我找到原因了:
self.screen = pygame.time.Clock() #Line 7
self.screen.fill((random.randint(0,255),random.randint(0,255),random.randint(0,255))) # Line 18
Clock 没有 fill 属性(方法)

zedi 发表于 2020-5-22 20:13:52

_2_ 发表于 2020-5-22 20:10
我找到原因了:

Clock 没有 fill 属性(方法)

咋改{:10_254:}

_2_ 发表于 2020-5-22 20:17:27

本帖最后由 _2_ 于 2020-5-22 20:41 编辑

给你改改:
import pygame
import random

class Game:
    def __init__(self):
      pygame.init()
      self.screen = pygame.display.set_mode((800,600))
      self.delay = 10
    def run(self):
      while True:
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                  pygame.display.quit()
                elif event.type == pygame.KEYDOWN:
                  self.keys = pygame.key.get_pressed()
                elif event.type == pygame.KEYUP:
                  self.keys = pygame.key.get_pressed()
            
            self.screen.fill((random.randint(0,255),random.randint(0,255),random.randint(0,255)))
            pygame.display.flip()
            pygame.time.delay(self.delay)

zedi 发表于 2020-5-22 20:20:00

_2_ 发表于 2020-5-22 20:17
给你改改:

谢谢{:10_278:}

_2_ 发表于 2020-5-22 20:20:38

zedi 发表于 2020-5-22 20:20
谢谢

我改了几次,你刷新一下{:10_254:}

zedi 发表于 2020-5-22 20:31:40

_2_ 发表于 2020-5-22 20:20
我改了几次,你刷新一下

疯狂报错{:10_297:}

zedi 发表于 2020-5-22 20:35:28

_2_ 发表于 2020-5-22 20:20
我改了几次,你刷新一下

看看吧

_2_ 发表于 2020-5-22 20:41:30

zedi 发表于 2020-5-22 20:35
看看吧

我傻了,已改{:10_266:}
pygame 的错不关我事{:10_269:}

焦健鬼 发表于 2020-5-22 20:42:00

zedi 发表于 2020-5-22 20:35
看看吧

不能用vs code,它经常抽风,建议你用pycharm

_2_ 发表于 2020-5-22 20:43:20

焦健鬼 发表于 2020-5-22 20:42
不能用vs code,它经常抽风,建议你用p'y

亥,不好用也得用{:10_266:}
别的估计只有这个还好有用一点了,PyC 我电脑跑不动{:10_266:}

焦健鬼 发表于 2020-5-22 20:44:39

zedi 发表于 2020-5-22 20:35
看看吧

石皮解版:
【Python神器】可替换Python的自带IDLE编译器神器!—&gt;Anaconda3+PyCharm安装教程
https://fishc.com.cn/thread-162968-1-1.html
(出处: 鱼C论坛)

焦健鬼 发表于 2020-5-22 20:45:42

_2_ 发表于 2020-5-22 20:43
亥,不好用也得用
别的估计只有这个还好有用一点了,PyC 我电脑跑不动

还有vs2019也不错
页: [1] 2
查看完整版本: 求救c⌒っ&#65439;Д&#65439;)っ