微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Mac上使用Pygame进行的吃豆子游戏

如何解决在Mac上使用Pygame进行的吃豆子游戏

我在MacBook上使用pygame构建一个吃豆人游戏,我已经在Visual Studio代码中编写了代码,并在终端中使用了pip install pygame,但是,当我为自己的游戏运行python脚本时,出现了错误

我所有的文件都放在一个名为PacMan的文件夹中

我到目前为止拥有的文件(总共3个)

main.py:

from app_class import *

if __name__ == '__main__':
    app = App()
    app.run()

app_class.py:

    import pygame
    import sys
    from settings import *


    pygame.init()
    vec = pygame.math.Vector2


    class App:
        def __init__(self):
            self.screen = pygame.display.set_mode((WIDTH,HEIGHT))
            self.clock = pygame.time.Clock()
            self.running = True
            self.state = 'start'
        def run(self):
            while self.running:
                if self.state == 'start':
                    self.start_events()
                    self.start_update()
                    self.start_draw()
                self.clock.tick(FPS)
            pygame.quit()
            sys.exit()

    ############################################################### Helper Functions ############################
        def draw_text(self,words,screen,pos,size,colour,font_name,centered=False):
            font = pygame.font.SysFont(font_name,size)
            text = font.render(words,False,colour)
            text_size = text.get_size()
            if centered:
                pos[0] = pos[0]-text_size[0]//2
                pos[1] = pos[1]-text_size[1]//2
            screen.blit(text,pos)


    ############################################################### INTRO Functions ############################
        
        def start_events(self):
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    self.running = False
                if event.type == pygame.KEYDOWN and event.key == pygame.K_Space:
                    self.state = 'playing'

        
        def start_update(self):
            pass

        def start_draw(self):
            self.screen.fill(BLACK)
            self.draw_text('PUSH SPACE BAR',self.screen,(WIDTH//2,HIEGHT//2),START_TEXT_SIZE,(170,132,58),START_FONT)
            pygame.display.update()

settings.py:

    #screen settings

WIDTH,HEIGHT = 448,596
FPS = 60
#colour settings
BlACK = (0,0)

#font settings 
START_TEXT_SIZE = 16
START_FONT = 'arial black'
#player settings
#mob settings 

但是当我从python运行main.py时,我仍然收到此错误

Traceback (most recent call last):
  File "/Users/therealfawcett/Documents/University/Third-Year/ICP - 3025 - Apps Artificial Intelligence/Assignments /PacMan/main.py",line 1,in <module>
    from app_class import *
  File "/Users/therealfawcett/Documents/University/Third-Year/ICP - 3025 - Apps Artificial Intelligence/Assignments /PacMan/app_class.py",in <module>
    import pygame
ModuleNotFoundError: No module named 'pygame'

有人知道为什么吗?

解决方法

使用Python3时,您需要使用pip3导入。

pip3 install pygame
,

几天前,我遇到了同样的问题。我的解决方案是使用虚拟环境。为此,请在您的文件夹中打开一个终端,然后使用以下命令:

pip install pipenv
pipenv shell
pipenv install pygame

此后,您需要选择正确的python解释器。在VS Code中,按 ctrl + shift + p 然后单击正确的解释器(应具有文件夹的名称)。 然后尝试运行该文件。如果这不起作用,请尝试在终端中运行此命令: pipenv运行{python文件的名称,例如:app.py}

希望对您有用

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。