【问题标题】:Pygame Invalid Syntax I just can't figure outPygame无效的语法我只是想不通
【发布时间】:2009-04-08 17:49:15
【问题描述】:

我一直在关注教程“McGugan - 使用 Python 和 Pygame 开始游戏开发(Apress,2007)”,并且在第五章左右涉及对象移动的代码中,我不断收到关于“-”被使用的无效语法警报编码。它不是最新的,但由于其简单性和必要性,我认为在任何更新中都不会更改减法。

这是我的代码:

background_image_filename = 'sushiplate.jpg'
sprite_image_filename = 'fugu.png'
import pygame
from pygame.locals import *
from sys import exit
from gameobjects.vector2 import Vector2
pygame.init()
screen = pygame.display.set_mode((640, 480), 0, 32)
background = pygame.image.load(background_image_filename).convert()
sprite = pygame.image.load(sprite_image_filename).convert_alpha()
clock = pygame.time.Clock()
position = Vector2(100.0, 100.0)
speed = 250.
heading = Vector2()
while True:
    for event in pygame.event.get():
        if event.type == QUIT:
            exit()
    if event.type == MOUSEBUTTONDOWN:
        destination = Vector2(*event.pos) – Vector2(*sprite.get_size())/2.
        heading = Vector2.from_points(position, destination)
        heading.normalize()
    screen.blit(background, (0,0))
    screen.blit(sprite, position)
    time_passed = clock.tick()
    time_passed_seconds = time_passed / 1000.0
    distance_moved = time_passed_seconds * speed
    position += heading * distance_moved
    pygame.display.update()

是我做错了什么还是只是过时了?

非常需要任何帮助。

【问题讨论】:

  • 你应该把最初的问题留给后代。
  • 您还应该将 nosklo 的答案标记为正确答案。

标签: python syntax pygame


【解决方案1】:

在这一行:

destination = Vector2(*event.pos) – Vector2(*sprite.get_size())/2.

您以某种方式输入了字符“”(EN DASH)而不是“-”(连字符-减号)。 请改用“-”(连字符减号),如下所示:

destination = Vector2(*event.pos) - Vector2(*sprite.get_size())/2.

【讨论】:

    【解决方案2】:

    如果没有堆栈跟踪,我无法确定,但我有一种预感,它是错误的 - 符号。你用的是什么编辑器?您的编辑器是否有可能采用 - 符号并将其变成更漂亮的破折号,例如 ndash 或 mdash?

    【讨论】:

      【解决方案3】:

      也许尝试将速度更改为“速度 = 250.0”。我不知道那个悬空的点会不会把蟒蛇甩掉。

      这里发生的情况,至少是您的错误消息,是 Python 解析器在您的“-”之前遇到了一些问题,这搞砸了它对“-”的解释。所以我建议在“-”之前查找拼写错误。

      此外,请确保在调试 Python 代码时打开编辑器中的可见空白。这可能是一个空白错误,我们在 Stack Overflow 上是看不到的。

      编辑:
      所以我完全错误地认为那个'-'错误是一个红鲱鱼。但是请记住解析器的行为/记住空格,将来可能会有所帮助。

      抱歉,如果这对您来说很明显,我不知道您对 Python 的了解程度。

      【讨论】:

      • 今天才开始 -_- 但它给我带来了问题 - 是一个不同的图标,它掩盖了我没有要导入的文件。所以在我以某种方式修复之后 - 我发现我错过了一大块东西。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-08
      • 2016-11-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多