2009-04-08 10 views
0

私はチュートリアル "McGugan - PythonとPygame(Apress、2007)で始まるゲーム開発"に従いました。オブジェクト移動に関する第5章のコードでは、コードで使用されている ' - 'の構文アラートが無効です。最新ではありませんが、シンプルさと必要性のために減算は変更されないと思いました。Pygame無効な構文私は分かりません

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

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

私が何か間違ったことをやっているか、それは単に古いですか?

助けが必要です。この行で

+0

トレースバックを追加してください。 –

+0

あなたは後世のために、最初の質問を残すべきです。 –

+0

また、noskloの答えを正解としてマークする必要があります。 –

答えて

5

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

あなたは何とか代わりに "-"(HYPHEN-MINUS)の文字 ""(ENのDASH)を入力しました。代わりに、このような 使用「-」(HYPHEN-MINUS)は:

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

ハッ、それは良い眼になるだろう。 –

0

私は、スタックトレースせずに確認することはできませんが、私はそれが間違っているという予感を持っている - シンボル。どのエディタを使用していますか?あなたのエディタが - 記号を取って、それをndashやmdashのような美しいダッシュに変えることは可能でしょうか?

0

速度を「speed = 250.0」に変更してみてください。そのぶら下がった点がPythonを投げ捨てるかどうかはわかりません。

ここでは、少なくともエラーメッセージが表示され、Pythonパーサーが ' - 'の前に何かを抱えていることがわかります。だから私は ' - 'の前に入力ミスをすることをお勧めします。

また、Pythonコードをデバッグするときは、エディタで目に見える空白をオンにしてください。これは、スタックオーバーフローで私たちには見えない空白のエラーである可能性があります。

EDIT:
だから私はそのことについて完全に間違っていた「 - 」エラーは赤ニシンいます。しかし、そのパーサーの振る舞いを覚えておくことは、将来的には役立つかもしれません。

謝罪これは明らかですが、私はあなたがPythonでどのレベルにいるのか分かりません。

+0

は今日から始まったばかりです。-_- しかし、それは私に問題を与えていました - マスキングしていた別のアイコンで、私はインポートするファイルがありませんでした。だから私は何とかして固定した後に - 私は材料の塊を逃していたことがわかった。 – RamonLion

関連する問題