0

線の単純なシステムを描画しようとしていますが、ターミナル (OS X Lion を実行) または DrPython でコードを実行しようとすると、エラー (CGContextRestoreGState: 無効なコンテキスト 0x0) が表示されます。私はpython 2.7を実行しています。

import pygame as pg
pg.init()
screen = pg.display.set_mode((640,480))
l1 = 1.0 * L
l2 = 0.5377 * L
l3 = 0.2867 * L
hip = (100,100)
knee = (hip[0] + math.sqrt(2) * l1, hip[1] + math.sqrt(2) * l1)
ankle = (knee[0] + math.sqrt(2) * l2, knee[1] + math.sqrt(2) * l2)
toe = (ankle[0] + l3, ankle[1])
pg.draw.lines(screen, (0, 0, 0), False, [hip, knee, ankle, toe], 1)
while True:
for event in pg.event.get():
if event.type == pg.QUIT:
raise SystemExit
4

1 に答える 1

0

余分な問題の数:

  • 「エル」とは?あなたはおそらくそれを編集しました。
  • メインループ内で pygame.display.flip() を呼び出す必要があります。そうしないと、何も表示されません。
  • pygame.draw.lines に渡すタプルのリストは、 整数のタプルにすることをお勧めします。あなたのものには、フロートのタプルが含まれています。
  • インデント。元のソースでは正しいと思います。

あなたの主な問題は、作成されているコンテキストが無効であることです。これは pygame.display.set_mode の呼び出しで発生していると思います。Google で簡単に検索すると、エラーが発生した場合、CGContextRestoreGState がコンテキストを NULL に設定することがわかります。そこで見つけた答えは、問題を解決するのに役立ちます。

特に重要な質問は、どこ(どの行) でエラーが発生したかということです。PyGame サンプルは動作しますか?

于 2012-06-29T09:20:07.303 に答える