オープニング

[記事全体の目次へ移動](https://qiita.com/hijpa/items/056acaa13e935590fdc2)


# GIF

<details><summary>ここをクリックしてください</summary>

![無題の動画 ‐ Clipchampで作成 (3).gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3874121/cefbf673-2549-5d41-789e-ca67947fad96.gif)

![無題の動画 ‐ Clipchampで作成 (4).gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3874121/1956fe93-f21b-1ad6-2ded-b1de84329c68.gif)


</details>



# 流れるメッセージ

<details><summary>ここをクリックしてください</summary>

```python:

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()
# メインループ
clock = pygame.time.Clock()
running = True
while running:
    clock.tick(60)
    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()


```
</details>

 
# 明滅するテキスト

<details><summary>ここをクリックしてください</summary>

```python:
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()
# メインループ
clock = pygame.time.Clock()
running = True
while running:
    clock.tick(60)
    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:
６より少なくすると、テキストが透明になりきらずに、そのあとの表示がおかしくなります。

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

</details>
 
#

<details><summary>ここをクリックしてください</summary>

```python:


```
</details>
 
#

<details><summary>ここをクリックしてください</summary>

```python:


```
</details>
 
#

<details><summary>ここをクリックしてください</summary>

```python:


```
</details>
 
#

<details><summary>ここをクリックしてください</summary>

```python:


```
</details>