テキストを一度に1文字ずつレンダリングする関数の途中でPygame画面がフリーズする

user4594444

私はStackOverflowと、一般的にpygameとpythonの両方に慣れていないので、非常に単純な間違いをした場合はご容赦ください。pygame画面に一度に1文字ずつテキストを表示しようとしています。私の関数は正常に動作し、ランダムにフリーズし、キャプション領域に「応答なし」と一貫性のない時間に表示されることを除いて、希望どおりにレンダリングします(たとえば、10文字のレンダリング後にフリーズする場合や、28文字後にフリーズする場合など)。これは、コンピューターを再起動した後でも発生します。私の質問は:これは私に起こっているだけなのか、それとも私のコードに何か問題があるのか​​、そしてそれが私のコードに問題がある場合は、私がそれを修正するのを手伝ってください。これが私のコードです。よろしくお願いします。

import pygame, time
from pygame.locals import *
width = 800
height = 800

pygame.init()
scrn = pygame.display.set_mode((width, height)) 

font = pygame.font.SysFont(None, 22) 

def render_text(string, bg = None, text_color = (0, 0, 0), surf = scrn, width = width, height = height):
    text = '' 
    for i in range(len(string)): 
        if bg == None:
            surf.fill((255, 255, 255))
        else:
            surf.blit(bg, (0, 0))
        text += string[i] 
        text_surface = font.render(text, True, text_color) 
        text_rect = text_surface.get_rect() 
        text_rect.center = (width/2, height/2)
        surf.blit(text_surface, text_rect) 
        pygame.display.update() 
        time.sleep(0.05) 

def intro():

    while True: #just used as an example, it will freeze up usually sometime during the first or second iteration
        render_text("It was a dark and stormy night.")
        time.sleep(2)

intro()
Eggxactly

イベントキューを使用しないPygameプログラムは、代わりに反復ごとにpygame.event.pumpを呼び出す必要がありますこれにより、凍結が発生しなくなります。intro関数を次のように変更すると、機能するはずです。

def intro():
    while True:
        pygame.event.pump()
        render_text("It was a dark and stormy night.")
        time.sleep(2)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

一度に1文字ずつテキストを表示するjquery関数

分類Dev

一度に3文字ずつテキストをループする

分類Dev

JavascriptでforEach()を使用して、一度に1文字ずつ連続してタグにまたがるテキストを追加する方法

分類Dev

1つのステートメントで一度に複数のエントリをHashMapに追加する

分類Dev

リストから文字列を取り出して、一度に1文字ずつ比較する方法

分類Dev

次の強調表示されたテキストを印刷します。一度に1文字ずつ、表示される各文字の間に10ミリ秒の遅延があります。

分類Dev

InternetExplorerで一度に1文字ずつテキストを強調表示します

分類Dev

メソッドは、一度に1つずつトリガーされると正しくレンダリングされますが、React-Reduxコンテナーで_.mapを使用しません

分類Dev

一度に1文字ずつフェードイン/表示する方法は?

分類Dev

文字列の最初の2文字を一度にスキャンする

分類Dev

シェルは一度に1文字ずつ(スクリプトを)読み取る必要がありますか?

分類Dev

一度に100k以上のリストをレンダリングする必要がありますReact

分類Dev

pygameで複数行のテキストをレンダリングする

分類Dev

入力文字列( "eeeeexxxxx"など)をスキャンし、一度に1文字ずつスキップして処理する

分類Dev

pygameでテキストを1文字ずつブリットするにはどうすればよいですか?(それらのレトロなRPGゲームのように)

分類Dev

Spring Integrationでダウンストリームフローが完了した後、一度に1つのメッセージからキューからポーリングする方法

分類Dev

入力を出力に一度に1文字ずつコピーするプログラム

分類Dev

一度に1つずつステップスルーするのではなく、アレイのすべてのコンテンツを表示するPowershell

分類Dev

複数の部分ビューでレンダリングされた複数の依存エンティティを一度に作成する-EntityFramework

分類Dev

リーフレットaddGeoJSON()関数を使用して複数のポリゴンを一度に表示するにはどうすればよいですか?

分類Dev

リストに一度に1つのアイテムを表示するフラッターで表示

分類Dev

画面を中心にテキストファイルの行を一度に1つずつ表示する方法を探しています

分類Dev

一度にいくつかのアイテムをレンダリングするReactNative FlatList

分類Dev

スプリングブートで異なるファイル名を持つ複数のwebmethod URLを一度に呼び出す方法

分類Dev

プロローグでリストの要素を一度に 3 つずつ比較する方法

分類Dev

配列内のアイテムを返すときに、一度に1つずつレンダリングするにはどうすればよいですか?

分類Dev

ファイルからランダムな行を印刷しようとしていますが、一度に1文字ずつ印刷されます

分類Dev

一度に1文字ずつ文字列に一致するように正規表現パターンを変更します

分類Dev

関数型プログラミングの場合、単一のイテレータから一度に複数のリストを効率的に作成するにはどうすればよいですか?

Related 関連記事

  1. 1

    一度に1文字ずつテキストを表示するjquery関数

  2. 2

    一度に3文字ずつテキストをループする

  3. 3

    JavascriptでforEach()を使用して、一度に1文字ずつ連続してタグにまたがるテキストを追加する方法

  4. 4

    1つのステートメントで一度に複数のエントリをHashMapに追加する

  5. 5

    リストから文字列を取り出して、一度に1文字ずつ比較する方法

  6. 6

    次の強調表示されたテキストを印刷します。一度に1文字ずつ、表示される各文字の間に10ミリ秒の遅延があります。

  7. 7

    InternetExplorerで一度に1文字ずつテキストを強調表示します

  8. 8

    メソッドは、一度に1つずつトリガーされると正しくレンダリングされますが、React-Reduxコンテナーで_.mapを使用しません

  9. 9

    一度に1文字ずつフェードイン/表示する方法は?

  10. 10

    文字列の最初の2文字を一度にスキャンする

  11. 11

    シェルは一度に1文字ずつ(スクリプトを)読み取る必要がありますか?

  12. 12

    一度に100k以上のリストをレンダリングする必要がありますReact

  13. 13

    pygameで複数行のテキストをレンダリングする

  14. 14

    入力文字列( "eeeeexxxxx"など)をスキャンし、一度に1文字ずつスキップして処理する

  15. 15

    pygameでテキストを1文字ずつブリットするにはどうすればよいですか?(それらのレトロなRPGゲームのように)

  16. 16

    Spring Integrationでダウンストリームフローが完了した後、一度に1つのメッセージからキューからポーリングする方法

  17. 17

    入力を出力に一度に1文字ずつコピーするプログラム

  18. 18

    一度に1つずつステップスルーするのではなく、アレイのすべてのコンテンツを表示するPowershell

  19. 19

    複数の部分ビューでレンダリングされた複数の依存エンティティを一度に作成する-EntityFramework

  20. 20

    リーフレットaddGeoJSON()関数を使用して複数のポリゴンを一度に表示するにはどうすればよいですか?

  21. 21

    リストに一度に1つのアイテムを表示するフラッターで表示

  22. 22

    画面を中心にテキストファイルの行を一度に1つずつ表示する方法を探しています

  23. 23

    一度にいくつかのアイテムをレンダリングするReactNative FlatList

  24. 24

    スプリングブートで異なるファイル名を持つ複数のwebmethod URLを一度に呼び出す方法

  25. 25

    プロローグでリストの要素を一度に 3 つずつ比較する方法

  26. 26

    配列内のアイテムを返すときに、一度に1つずつレンダリングするにはどうすればよいですか?

  27. 27

    ファイルからランダムな行を印刷しようとしていますが、一度に1文字ずつ印刷されます

  28. 28

    一度に1文字ずつ文字列に一致するように正規表現パターンを変更します

  29. 29

    関数型プログラミングの場合、単一のイテレータから一度に複数のリストを効率的に作成するにはどうすればよいですか?

ホットタグ

アーカイブ