2016-08-27 12 views
-1

私はこれらの行に何が間違っているか完全にはわかりませんが、なぜ問題があるのか​​分かりません。複数の予期しないエラー

ファイル「C:¥Users¥Harry¥Desktop¥CS Project¥game test」32行目のdrawArenaファイル pygame.draw.line(問題が発生した行は***でハイライト表示されます) (DISPLAYSURF、WHITE、((WINDOWWIDTH/2)、0)、((WINDOWWIDTH/2)、WINDOWHEIGHT)、(LINETHICKNESS/4)) はTypeError:\ユーザー:整数引数が期待さ、

ファイル」Cをフロートましたメイン (で\ Users \ユーザーハリー\デスクトップ\ CSプロジェクト\ゲームテスト "行178、:C「メイン drawArena()

ファイルでは、ライン144、" \ハリー\デスクトップ\ CSプロジェクト\ゲームテスト)

def drawArena(): 
    DISPLAYSURF.fill((0,0,0)) 
    #Draw outline of arena 
    pygame.draw.rect(DISPLAYSURF, WHITE, ((0,0),(WINDOWWIDTH,WINDOWHEIGHT)), LINETHICKNESS*2) 
    #Draw centre line 
    ***pygame.draw.line(DISPLAYSURF, WHITE, ((WINDOWWIDTH/2),0),((WINDOWWIDTH/2),WINDOWHEIGHT), (LINETHICKNESS/4))*** 

***drawArena()*** 
drawPaddle(paddle1) 
drawPaddle(paddle2) 
drawBall(ball) 

if __name__ == '__main__': 
    ***main()*** 
+3

エラーが示すように、あなたの関数は整数を期待し、あなたはそれが浮かぶ渡している - 私は 'int型(VARNAME/2のようなものを'/2 'の呼び出しをラップで見てね) ' – derelict

答えて

1

エラーが表示されます。メソッドpygame.draw.line()を使用する場合は、行の次元に整数引数を指定する必要があります。あなたが問題にラインを見れば:これらの除算演算の商の

pygame.draw.line(DISPLAYSURF, WHITE, ((WINDOWWIDTH/2),0),((WINDOWWIDTH/2),WINDOWHEIGHT), (LINETHICKNESS/4))

つまたは複数のフロート(10進数)数が得られています。あなたが使用することもでき

pygame.draw.line(int((WINDOWWIDTH/2)),0),(int((WINDOWWIDTH/2)),WINDOWHEIGHT), int((LINETHICKNESS/4)))

intは、何らかの理由で適切でない場合、この問題を解決する一つの簡単な方法ので、同じように、整数にあなたの小数点以下のいずれかを丸めるためにPythonのint()機能を使用することですPythonのround()機能:

pygame.draw.line(round((WINDOWWIDTH/2)),0),(round((WINDOWWIDTH/2)),WINDOWHEIGHT), round((LINETHICKNESS/4)))

+0

新しいエラーがあります:int()引数は文字列または数字でなければならず、 'タプル'ではない –

+0

@HarryEastell私の悪い。私は間違った構文を与えた。私はそれを修正します。 –

+0

@ハリー・イーゼルいいえ、私はそれを修正しました。 –

関連する問題