0

私はpygameが初めてで、取り組んでいることに問題があります。

f=input('blahblablb')
if f =='badafd':
    x=input'ajdfkladjsl'
elif f ==...

だから私はこの入力と変数を持っていますが、後で変数を使用するとき

class A(pygame.sprite.Sprite):

私はクラスを作成し、その中に画像のコードを入れました。それはうまく見えました。グループにも入れましたが、後で追加しました

if f=='badafd':
    all_sprites_list.add[A]

しかし、f が badafd と等しくなくても画像が表示されます。問題を教えてください。問題の可能性があるため、メイン ループを含めます。

while True:
    all_sprites_list.update()
    all_sprites_list.draw(screen)
    pygame.display.update()
    for event in pygame.event.get():
        if event.type == QUIT:
             pygame.quit()
             sys.exit()

何か改善できることがあれば教えてください

4

1 に答える 1

1

本当に十分なコードはありませんが、いくつかのアイデアがあります (さらにコードが含まれている場合は、回答を更新できます)。入力された文字列を悪意属性として使用していると推測しています。この場合、入力を使用して初期化で変数を割り当てることができます。これをすべてに割り当てたい場合は、入力を取得してから、次のようにリストを反復処理します。

for sprite in <sprite_group>:
    sprite.<attribute> = <input>

もう 1 つの重要なことは、実際には raw_input を使用する必要があるということです。これはおそらくパフォーマンスには影響しませんが、実際には raw_input の方がはるかに優れています。入力文字列を取得するには、次のコードを使用します。

myvariable = raw_input("enter text input: ")

これにより、「テキスト入力を入力してください:」というプロンプトが表示され、入力されたテキストが返されます。

于 2013-11-25T03:16:18.597 に答える