簡略化されたロケットである長方形を描きたいのですが、pycharm
は画像のようにargument 1 must be pygame.Surface, not pygame.Rect
です。 "rect"クラスはメソッド "screen.blit()"のパラメータではありません
次は私のコードです:
screen = pygame.display.set_mode([400, 600])
screen.fill([0, 0, 0])
ship = pygame.draw.rect(screen, [255, 22, 150], [200, 400, 50, 100], 0)
moon = pygame.draw.rect(screen, [79, 200, 145], [0, 550, 400, 50], 0)
screen.blit(moon, [0, 500, 400, 100])
それから私はこれに私のコードを変更:
screen = pygame.display.set_mode([400, 600])
screen.fill([0, 0, 0])
ship_mode = pygame.draw.rect(screen, [255, 22, 150], [200, 400, 50, 100], 0)
ship = ship_mode.convert()
moon_mode = pygame.draw.rect(screen, [79, 200, 145], [0, 550, 400, 50], 0)
moon = moon_mode.convert()
screen.blit(moon, [0, 500, 400, 100])
今回、それは私が期待してい何を終えることができましたどのようにTraceback (most recent call last): File "E:/untitled/launching rocket.py", line 11, in <module> ship = ship_mode.convert() AttributeError: 'pygame.Rect' object has no attribute 'convert'
を示していますか?
それから私は、この 'ship.rect.top = y_pos'のような私の船の位置を変更したいです、しかしそれはうまくいかなかった。しかし、私の船は 'ship = pygame.draw.rect(screen、[255、22、150]、[200,400,50,100]、0)'を描いているので、私のインタプリタはどうすれば 'AttributeError: 'pygameと言うことができますか? Rect 'オブジェクトに' rect 'という属性はありませんか? –
チュートリアルをご覧ください。私は単純なゲーム[ここ](http://stackoverflow.com/documentation/pygame/3959/introduction-to-pygame/14697/a-simple-game#t=201609031439464337092)について簡単な説明をしましたあなたの質問に答えるには:描画されたものは画面上に移動することはできません。 [この回答](http://stackoverflow.com/questions/38904986/pygame-how-to-replace-an-image-with-an-other-one/38907531#38907531)をご覧ください。あなたの他の質問に答えるには、 'ship'はRectオブジェクトであり、Rectオブジェクトは' rect'という属性を持っていません。私は私の答えに短い例を加えました。 –