0
どのように私はスプライトの配管にキーコマンドを追加しますか?以下はこれまでの私の試みですが、上のボタンを押すと結果が出ません。ボタンアップボタンが押されたとき、私はどのようにudを設定し、ldを10だけ変更するのですか?スプライトにキーコマンドを追加するにはどうすればよいですか?
pink = (255, 64, 64)
w = 640
h = 480
ld = 0
ud = 0
screen = pygame.display.set_mode((w, h))
running = 1
def key_event(self, event):
if event.key == pygame.K_UP:
ud - 10
ld + 10
def show_sprites():
screen.blit(plumbers,(50+ld ,100+ud))
def setup_background():
screen.fill((pink))
screen.blit(cloud_background,(0,0))
brick_width, brick_height = brick_tile.get_width(), brick_tile.get_height()
for x,y in itertools.product(range(0,640,brick_width),
range(390,480,brick_height)):
screen.blit(brick_tile, (x,y))
while running:
setup_background()
event = pygame.event.poll()
show_sprites()
pygame.display.flip()
if event.type == pygame.QUIT:
sys.exit()
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
elif event.type == pygame.KEYDOWN:
w.key_event(event)
を: 'はAttributeError:「int型のオブジェクトは、このkey_event''何の属性は」refrenceではありませんしました: 'w.key_event(event)'私は何をイベントに置き換えますか? – enrique2334
私はあなたのコードwが整数なので、あなたはメンバー関数としてkey_eventを持つオブジェクトとしてそれを使用しようとしているからだと思います。私は答えに使用したコードのバージョンを追加しました(これはkey_eventが呼び出される方法にいくつかの変更があります) –
これは私にこのエラーを与えます。 'TypeError:key_event()は2つの引数(1) 2番目の引数を追加する/ 2番目の引数は何をするか。 – enrique2334