質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Pygame

Pygameは、ビデオゲームの製作用に設計されたクロスプラットフォームのPythonモジュールセットです。Pythonでコンピューターグラフィックスと音声を扱うためのライブラリが含まれています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

2回答

2169閲覧

一秒ごとに円を描きたい

cand

総合スコア65

Pygame

Pygameは、ビデオゲームの製作用に設計されたクロスプラットフォームのPythonモジュールセットです。Pythonでコンピューターグラフィックスと音声を扱うためのライブラリが含まれています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2019/08/31 23:59

編集2019/09/01 06:56

画面の左、真ん中、右という順番に緑、黄、赤の円を一秒おきに描きたいのですが、以下のコードではウィンドウが立ち上がったあと2秒ほど経ってからいっぺんに3つの円が表示されてしまいます。どうしたら直るでしょうか?
ご回答よろしくお願いします。

Python

1import sys 2import pygame 3from pygame.locals import * 4 5pygame.init() 6window = pygame.display.set_mode((600, 600)) 7 8while True: 9 for event in pygame.event.get(): 10 if event.type == QUIT: 11 pygame.quit() 12 sys.exit() 13 14 window.fill((255, 255, 255)) 15 16 # 丸を描く 17 pygame.draw.circle(window, (0, 255, 0), (100, 300), 45) 18 pygame.display.update() 19 pygame.time.wait(1000) 20 pygame.draw.circle(window, (0, 255, 255), (300, 300), 45) 21 pygame.display.update() 22 pygame.time.wait(1000) 23 pygame.draw.circle(window, (255, 0, 0), (500, 300), 45) 24 pygame.display.update() 25 pygame.time.wait(1000) 26

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

円を描いたら
画面更新、pygame.display.update()して、
1秒待つ

投稿2019/09/01 05:23

BoninSui

総合スコア6

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

cand

2019/09/01 07:00

大変申し訳ありませんが、コードが間違っておりました。
guest

0

pygame.display.update() で、画面が更新されます。ということは...

通常は、タイマーを仕込んで描画します。

追記
teratailとは

プログラミングに関して、わからないことがあれば是非teratailで質問してください。

プログラムとはなんでしょうか。遅くとも、小学校の時には聞いたことがあるはずです。運動会のプログラム、音楽会のプログラム、入学式の式次第。実行することを、実行する順番に並べたものがプログラムです。ですから、具体的なコードを示すのは、teratailの基準から外れます。

pygame.draw.circle(window, (0, 255, 0), (100, 300), 45)

この1行は、何を指示しているのでしょうか。

pygame.time.wait(1000)

この1行は、何を指示しているのでしょうか。

pygame.draw.circle(window, (0, 255, 255), (300, 300), 45) pygame.time.wait(1000) pygame.draw.circle(window, (255, 0, 0), (500, 300), 45) pygame.time.wait(1000)

そして、同じような指示が、あと2回続きます。

pygame.display.update()

この行は、「画面を更新しなさい」という意味です。このときに、これまでに画面に対して行った変更が、ユーザーの目に見えるようになります。

あなたがしたいことは、
0. 画面の左に緑の円を描く
0. 1秒待つ
0. 画面の中央に黄色の円を描く
0. 1秒待つ
0. 画面の右に赤の円を描く
0. 1秒待つ

です。これらのことをした後、「画面を更新する」を行っています。そうすると、目に見えるようになる、というのが現状です。では、あなたは、コンピュータに対して、どのような指示を、どのような順番で送ればいいのでしょう?

投稿2019/09/01 00:04

編集2019/09/01 00:35
Q71

総合スコア995

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

cand

2019/09/01 00:10

ご回答ありがとうございます。 申し訳ないのですが、ご回答の意味を理解することができませんでした。 お手数ですが具体的なコードを書いていただけますか?
cand

2019/09/01 07:05 編集

ご教授ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問