0

私はチュートリアル「McGugan - Python と Pygame を使用したゲーム開発の開始 (Apress、2007 年)」に従っていますが、オブジェクトの移動を含む第 5 章付近のコードで、コードで使用されている「-」に関する無効な構文アラートを取得し続けています。最新ではありませんが、その単純さと必要性から、どの更新でも減算は変更されないと思いました。

これは私が持っているコードです:

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()

私は何か間違ったことをしていますか、それとも単に時代遅れですか?

どんな助けも大いに必要です。

4

3 に答える 3

0

速度を「速度 = 250.0」に変更してみてください。そのぶら下がっているドットがpythonをオフにするかどうかはわかりません。

ここで起こっていることは、少なくともエラー メッセージで、Python パーサーが「-」の前にある何かにつまずき、「-」の解釈を台無しにしていることです。そのため、タイプミスがないか「-」の前を確認することをお勧めします。

また、Python コードをデバッグするときは、エディターで可視空白を有効にしてください。これは空白のエラーである可能性がありますが、Stack Overflow では認識できません。

編集:
だから私はその「-」エラーがニシンであることについて完全に間違っていました。ただし、パーサーの動作を心に留めておいてください/空白のことを心に留めておいてください。将来的に役立つ可能性があります。

これが明らかな場合は申し訳ありませんが、あなたが Python でどのレベルにいるのかわかりません。

于 2009-04-08T17:55:13.040 に答える