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

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

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

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Pygame

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

Python

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

Q&A

解決済

1回答

756閲覧

(pygame)0.1秒ごとのデータをファイルに出力したい

kappar

総合スコア12

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Pygame

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

Python

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

0グッド

0クリップ

投稿2020/05/27 14:50

編集2020/05/28 04:47

前提・実現したいこと

pygameを用いて、アクションゲーム(ドライブゲーム)のようなものを作りたいと思っています。
今は、ドライブゲームでいうところの参加者が動かせる車を赤いrectで書いています。

発生している問題・エラーメッセージ

赤いrect(車)のx座標を0.1秒ごとに取得したいのですが、最後のx座標のデータしか取得できません…。

該当のソースコード

python

1python 2import pygame 3from pygame.locals import * 4import sys 5 6BLACK = (0, 0, 0) 7RED = (255, 0, 0) 8WHITE = (255, 255, 255) 9 10pygame.init() #初期化 11screen = pygame.display.set_mode((640, 480)) #画面サイズ 12myclock = pygame.time.Clock() 13myclock.tick(60) 14pygame.display.flip() 15 16x = 320 17pos_2y=380 18pos_3y=480 19pos_4y=380 20pos_5y=480 21pos_6y=330 22pos_7y=380 23pos_8y=330 24pos_9y=380 25 26velocity_y=0.1 27 28while True: 29 with open('sample.txt', 'w') as f: 30 print(x, file=f) 31 pos_2y+=velocity_y 32 pos_3y+=velocity_y 33 pos_4y+=velocity_y 34 pos_5y+=velocity_y 35 pos_6y+=velocity_y 36 pos_7y+=velocity_y 37 pos_8y+=velocity_y 38 pos_9y+=velocity_y 39 screen.fill(BLACK) 40 st1=(330, pos_2y) 41 en1=(330, pos_3y) 42 pygame.draw.line (screen, WHITE, st1, en1) 43 st2=(320, pos_4y) 44 en2=(320, pos_5y) 45 pygame.draw.line (screen, WHITE, st2, en2) 46 st3=(280, pos_6y) 47 en3=(330, pos_7y) 48 pygame.draw.line (screen, WHITE, st3, en3) 49 st4=(270, pos_8y) 50 en4=(320, pos_9y) 51 pygame.draw.line (screen, WHITE, st4, en4) 52 rect1 = (x, 400, 10, 5) #動かすほう 53 pygame.draw.rect(screen, RED, rect1) 54 pygame.display.update() 55 for event in pygame.event.get(): 56 if event.type==pygame.QUIT: 57 pygame.quit() 58 sys.exit() 59 if event.type==KEYDOWN: 60 if event.key==K_ESCAPE: 61 pygame.quit() 62 sys.exit() 63 if event.key==K_LEFT: 64 x -= 5 65 if event.key==K_RIGHT: 66 x += 5 67 68 69 70

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

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

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

gottadiveintopy

2020/05/28 02:00

ファイル出力に問題があると思っているのならそれだけを行うcodeをpygameを使わずに書いてみると原因が特定しやすいですよ。
kappar

2020/05/28 04:43

テキストをファイルに出力してみたら,上の数行がいらないことがわかりました。ありがとうございます!
guest

回答1

0

自己解決

with open('sample.txt', 'a') as f:
と、追記にしたら出力できました。

投稿2020/05/28 05:30

kappar

総合スコア12

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問