鱼C论坛

 找回密码
 立即注册
查看: 218|回复: 6

求助

[复制链接]
发表于 2024-9-4 19:31:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
报错情况﹕
Traceback (most recent call last):
  File "F:/我的世界13.py", line 11, in <module>
    zhujue_old = pygame.image.load("imges/zhujue.png")
FileNotFoundError: No file 'imges/zhujue.png' found in working directory 'F:\'.b

代码﹕
import pygame, sys

pygame.init()

width, height = 800, 600
window = pygame.display.set_mode((width, height))
windowrect = pygame.Rect(0, 0, width, height)
pygame.display.set_caption("跑酷")
shibai = 0
guan = 1
zhujue_old = pygame.image.load("imges/zhujue.png")
zhujue1 = pygame.transform.rotozoom(zhujue_old, 0, 0.6)
zhujue2 = pygame.transform.flip(zhujue1, True, False)
zhujue = zhujue1
zhujuew, zhujueh = zhujue.get_size()
x, y = 10, 470
xsu, ysu = 0, 0
boolwalk = False
walk = None
up = False
peng = False
zuidaguan = 10
yanjiang = [
    [],
    [[0, height - 300, width, 40]],
    [[200, height - 51, 100, 41], [450, height - 51, 100, 41]],
    [],
    [],
    [],
    [[0, 0, width, 40], [350, height - 50, 300, 40]],
    [],
    [[470, height - 50, 330, 40]],
    []
]
zhangai = [
    [[0, height - 50, 100, 40], [0, 270, width, 40]],
    [[0, height - 50, width, 40]],
    [[0, height - 50, width, 40]],
    [[0, height - 50, width, 40], [300, height - 450, 50, 400], [350, height - 450, 200, 50], [350, height - 300, 200, 50]],
    [[0, height - 50, width, 40], [500, height - 450, 50, 400], [300, height - 450, 200, 50], [300, height - 300, 200, 50]],
    [[0, height - 50, 100, 40], [150, height - 200, 100, 40], [300, height - 350, 100, 40], [450, height - 500, 100, 40]],
    [[0, height - 50, 100, 40], [100, 200, 40, 390], [250, 40, 40, 410], [250, height - 50, 100, 40], [550, height - 100, 100, 40]],
    [[0, height - 50, 100, 40], [0, 300, 300, 40], [300, 40, 500, 40]],
    [[0, height - 50, 470, 40]],
    [[0, height - 50, width, 40]]
]
zilist = [
    "欢迎来到我的跑酷游戏~试试按住上键吧~", "小心岩浆哦~", "难度+1", "经典正F", "经典反F", "天梯~", "小心哦~", "难度很高~", "信仰之跃! 加油! ", "恭喜你, 成功通关~"
]
font = pygame.font.Font("font/1.ttf", 30)

def ifin(x, y, w, h, mx, my):
    if x <= mx <= x + w and y <= my <= y + h:
        return True
    return False

while True:
    pygame.time.Clock().tick(60)

    text = font.render("失败次数: " + str(shibai), True, (0, 0, 0))
    text2 = font.render("第 {} 关".format(guan), True, (0, 0, 0))
    text3 = font.render(zilist[guan - 1], True, (0, 0, 0))
    textrect = text3.get_rect()
    textrect.centerx = windowrect.centerx
    if guan == 8:
        textrect.y = 100
    else:
        textrect.y = 70
    window.fill((255, 255, 255))
    if y > height:
        shibai += 1
        x, y = 10, 470
        ysu = 0
        xsu = 0

    if boolwalk:
        if walk == pygame.K_d or walk == pygame.K_RIGHT:
            if xsu <= 8:
                xsu += 2
            zhujue = zhujue1
        if walk == pygame.K_a or walk == pygame.K_LEFT:
            if xsu >= -8:
                xsu -= 2
            zhujue = zhujue2
    xsu *= 0.9
    x += xsu
    ysu -= 1
    y -= ysu
    peng = False
    for i in zhangai[guan - 1]:
        if i:
            wx, wy, ww, wh = i
            if ifin(wx, wy, ww, wh, x + 1, y + zhujueh) or ifin(wx, wy, ww, wh, x + zhujuew - 1, y + zhujueh) or ifin(wx, wy, ww, wh, x + int(zhujuew / 2), y + zhujueh) or \
               ifin(wx, wy, ww, wh, x + 1, y) or ifin(wx, wy, ww, wh, x + zhujuew - 1, y) or ifin(wx, wy, ww, wh, x + int(zhujuew / 2), y):
                peng = True
    if peng:
        y += ysu
        ysu = 0
        if up:
            ysu = 20

    for i in zhangai[guan - 1]:
        if i:
            mx, my, mw, mh = i
            pygame.draw.rect(window, (0, 0, 0), (mx, my, mw, mh))
            if ifin(mx, my, mw, mh, x + zhujuew, y) or \
               ifin(mx, my, mw, mh, x, y) or \
               ifin(mx, my, mw, mh, x, y + zhujueh) or \
               ifin(mx, my, mw, mh, x + zhujuew, y + zhujueh) or \
               ifin(mx, my, mw, mh, x, y + int(zhujueh / 2)) or \
               ifin(mx, my, mw, mh, x + zhujuew, y + int(zhujueh / 2)):
                x -= xsu
                if up:
                    if xsu > 0:
                        xsu = -10
                    else:
                        xsu = 10
                    ysu = 15
                else:
                    ysu = 0

    for i in yanjiang[guan - 1]:
        if i:
            mx, my, mw, mh = i
            pygame.draw.rect(window, (255, 0, 0), (mx, my, mw, mh))
            if ifin(mx, my, mw, mh, x + zhujuew, y) or ifin(mx, my, mw, mh, x, y) or ifin(mx, my, mw, mh, x, y + zhujueh) or ifin(mx, my, mw, mh, x + zhujuew, y + zhujueh):
                shibai += 1
                x, y = 10, 470
                ysu = 0
                xsu = 0

    if ifin(width - 5, 0, 50, height, x + zhujuew, y) and guan < zuidaguan:
        x, y = 10, 470
        guan += 1

    window.blit(zhujue, (x, y))
    window.blit(text, (10, 10))
    window.blit(text2, (10, 50))
    window.blit(text3, textrect)

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_ESCAPE:
                pygame.quit()
                sys.exit()

            if event.key in [pygame.K_a, pygame.K_d, pygame.K_RIGHT, pygame.K_LEFT]:
                walk = event.key
                boolwalk = True

            if event.key == pygame.K_w or event.key == pygame.K_UP:
                up = True

        if event.type == pygame.KEYUP:
            if event.key in [pygame.K_a, pygame.K_d, pygame.K_RIGHT, pygame.K_LEFT]:
                boolwalk = False

            if event.key == pygame.K_w or event.key == pygame.K_UP:
                up = False

    pygame.display.update()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-9-4 19:45:38 | 显示全部楼层
根据你的报错信息和代码,`FileNotFoundError` 是因为程序找不到路径 `imges/zhujue.png` 中的文件。以下是一些排查和解决问题的方法:

1. **检查文件路径**:
   - 确保文件 `zhujue.png` 确实存在于代码中指定的目录 `imges` 中。
   - 确认 `imges` 文件夹存在并拼写正确。注意是 `imges` 而不是 `images`。

2. **确认工作目录**:
   - 确保程序运行时的工作目录是包含 `imges` 文件夹的目录。你可以在脚本中打印 `os.getcwd()` 检查当前工作目录。

3. **路径使用建议**:
   - 使用相对路径或者确保绝对路径是正确的。
   - 如果同级目录存在,可以直接使用相对路径 `./imges/zhujue.png`。

4. **IDE设置**:
   - 如果使用某些 IDE(如 PyCharm),确保配置的工作目录正确。

5. **文件路径错误信息修正**:
   - 将 `imges/zhujue.png` 改为实际路径,如果目录名拼写错误(如少了一个字母),请更正。

通过这些步骤,你应该能够解决 `FileNotFoundError` 问题。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-9-4 19:47:11 | 显示全部楼层
        这个文件不存在
"imges/zhujue.png"
         会不会是
"images/zhujue.png"
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2024-9-21 19:58:39 | 显示全部楼层
jackz007 发表于 2024-9-4 19:47
这个文件不存在

         会不会是

同意jackz007的观点
@小甲鱼303
方便的话去看看这个网址:
https://fishc.com.cn/forum.phpmod=viewthread&tid=230459&highlight=%C5%DC%BF%E1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-9-24 14:38:36 | 显示全部楼层
找不到这个图片,可用现有的别的图片代替,放在工作目录下,如:zhujue_old = pygame.image.load("ball.png")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-9-24 15:38:41 | 显示全部楼层
建议你使用代码,获取到改文件的绝对路径,不要用相对路径
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 昨天 20:35 | 显示全部楼层
jackz007 发表于 2024-9-4 19:47
这个文件不存在

         会不会是

IU
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-4 17:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表