0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

オープニング

Last updated at Posted at 2024-10-18

GIF

ここをクリックしてください

無題の動画 ‐ Clipchampで作成 (3).gif

無題の動画 ‐ Clipchampで作成 (4).gif

記事全体の目次へ移動

流れるメッセージ

ここをクリックしてください

import pygame
import sys
import time
# Pygameを初期化
pygame.init()
width, height = 100, 70
screen = pygame.display.set_mode((width, height))
pygame.display.set_caption("flow_text")
#ここにフォントのパスを貼り付ける
font = pygame.font.Font(パス,20)
text = font.render("おはよう",True, (255,255,255))
pos = 70
time_start = time.time()
# メインループ
running = True
while running:
    screen.fill((0,0,0))
    time_end = time.time()
    if time_end - time_start > 0.05 and pos >= -20:
        pos -= 1
        time_start = time.time()
    screen.blit(text,(10, pos))
    pygame.display.update()  # 画面を更新
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

# Pygameを終了
pygame.quit()
sys.exit()


明滅するテキスト

ここをクリックしてください
import pygame
import sys
import time

# Pygame初期化
pygame.init()

# 画面設定
width, height = 640, 480
screen = pygame.display.set_mode((width, height))
pygame.display.set_caption("Centered Text Drawing")

#ここにフォントのパスを貼り付けるパス
font = pygame.font.Font(パス, 35)
#ここに背景のパスを貼り付けるパス
surface = pygame.image.load(パス)

texts = ["かつて王国は豊かだった", "秘宝の力があったからだ", "豊かさはいつまでも続くと思われた", "しかし、"]
current_text_index = 0

# 色を定義
black = (0, 0, 0)
alpha = 0
transparent = (0, 0, 0, alpha)

cmd = 0
k = 0
text = True

time_start = time.time()
# メインループ
running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
    if text:
        time_end = time.time()
        if time_end - time_start > 3 and cmd == 0:
            # テキストを切り替える
            current_text_index = (current_text_index) % len(texts)
            k = (k + 1) % len(texts)
            time_start = time.time()
            cmd = 1
        if time_end - time_start > 6 and cmd == 1:
            # テキストを切り替える
            current_text_index = (current_text_index + 1) % len(texts)
            k = (k + 1) % len(texts)
            time_start = time.time()
        if alpha < 255 and cmd == 1: 
            alpha += 1
            time.sleep(0.01)
            if alpha == 254:
                cmd = 2
        if alpha > 0 and cmd == 2:
            alpha -= 1
            time.sleep(0.01)
            if alpha == 0:
                time.sleep(2)
                cmd = 1
                if current_text_index == 3:
                    text = False
        screen.blit(surface,(0,0))
        # 中央にテキストを描画
        text_surface = font.render(texts[current_text_index], True, black)
        text_surface.set_alpha(alpha)
        # 中央にテキストを描画
        text_rect = text_surface.get_rect(center=(width // 2, height // 2))
        screen.blit(text_surface, text_rect.topleft)

    pygame.display.flip()

pygame.quit()
sys.exit()


if time_end - time_start > 3 and cmd == 0:
最初の表示を早くするためです。

if time_end - time_start > 6 and cmd == 1:
6より少なくすると、テキストが透明になりきらずに、そのあとの表示がおかしくなります。

text_rect = text_surface.get_rect(center=(width // 2, height // 2))
height // 2のところを4にすると、テキストが上の方に表示されます。
細かく指定する場合は、0.1 ~ 0.9 をかけた方がよさそうですね。ex) height * 0.5

ここをクリックしてください


ここをクリックしてください


ここをクリックしてください


ここをクリックしてください


0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?