CGContextRestoreGState:无效的上下文0x0

时间:2012-06-26 22:42:08

标签: python macos pygame

我正在尝试绘制一个简单的行系统,但是当我尝试在终端(运行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

1 个答案:

答案 0 :(得分:0)

额外问题的数量:

  • 什么是“L”?你可能已经把它编辑出来了。
  • 您需要在主循环中调用pygame.display.flip(),否则您将看不到任何内容。
  • 建议您传递给pygame.draw.lines的元组列表是整数的元组。你的包括花车元组。
  • 缩进。我认为你原来的来源是正确的。

您的主要问题是正在创建的上下文无效。我假设这是在调用pygame.display.set_mode时发生的。快速Google搜索显示,如果发生错误,CGContextRestoreGState会将上下文设置为NULL。您在那里找到的答案将帮助您解决问题。

特别是,关键问题是哪里(哪一行)会发生错误? PyGame样本有效吗?