teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

画像を追加

2020/09/06 02:49

投稿

Daregada
Daregada

スコア11990

answer CHANGED
@@ -15,4 +15,6 @@
15
15
  一番の問題は、`pygame.display.rectangle(rectangle_list)`では「指定した四角形の内部だけを更新する」こと。つまり、前回の描画で四角形(のひとつ)が今回の四角形よりも長かった場合、はみ出る部分の描画が更新されません。これが、「伸びる部分だけが更新されている」ように見える原因。
16
16
  対策として、今回は`pygame.display.flip()`で画面全体を更新しています。
17
17
 
18
- ささいな問題は、lineのX座標が始点と終点で1ずれているので、微妙に斜めになっていることと、lineの引数は整数だけしか受け付けなくなる予定なので(毎回その警告がコンソールに出る)、いまのうちに整数化しておくこと。
18
+ ささいな問題は、lineのX座標が始点と終点で1ずれているので、微妙に斜めになっていることと、lineの引数は整数だけしか受け付けなくなる予定なので(毎回その警告がコンソールに出る)、いまのうちに整数化しておくこと。
19
+
20
+ ![修正後](101e8b9060526a776acef1a866684ec5.png)

1

補足を追加

2020/09/06 02:49

投稿

Daregada
Daregada

スコア11990

answer CHANGED
@@ -10,4 +10,9 @@
10
10
  rectangle_list.append(pygame.draw.line(screen, (102, 205, 170), (1+i * 10, 350 + amplitudeSpectrum[i].astype(int) * 10),
11
11
  (1+i * 10, 350 - amplitudeSpectrum[i].astype(int) * 10), 4))
12
12
  pygame.display.flip()
13
- ```
13
+ ```
14
+
15
+ 一番の問題は、`pygame.display.rectangle(rectangle_list)`では「指定した四角形の内部だけを更新する」こと。つまり、前回の描画で四角形(のひとつ)が今回の四角形よりも長かった場合、はみ出る部分の描画が更新されません。これが、「伸びる部分だけが更新されている」ように見える原因。
16
+ 対策として、今回は`pygame.display.flip()`で画面全体を更新しています。
17
+
18
+ ささいな問題は、lineのX座標が始点と終点で1ずれているので、微妙に斜めになっていることと、lineの引数は整数だけしか受け付けなくなる予定なので(毎回その警告がコンソールに出る)、いまのうちに整数化しておくこと。