・準備
ラズパイとWindowsのPCのセットアップの仕方は忘れました。ラズパイではデフォルトのもの、ノートパソコンではPyCharmを使っています。
・プログラム
import sys, pygameこのようなプログラムを書きました。
pygame.mixer.pre_init(44100, -16, 1, 512)
pygame.init()
window_size = (320, 240)
clock = pygame.time.Clock()
screen = pygame.display.set_mode(window_size)
#img_char1 = pygame.image.load('reimu2.png')
img_char2 = pygame.image.load('reimu3.png')
before = 3
after = 3
# SEの読み込み
se = pygame.mixer.Sound('se.wav')
"""
# BGMを読み込んで再生
pygame.mixer.music.load('bgm1.wav')
pygame.mixer.music.set_volume(0.5)
pygame.mixer.music.play(-1)
"""
x = 75 # 表示位置X
# キー入力
class KeyState:
def __init__(self):
self.key_new = pygame.key.get_pressed()
self.key_old = self.key_new
def update(self):
self.key_old = self.key_new
self.key_new = pygame.key.get_pressed()
def get_key(self, name):
return self.key_new[name]
ks = KeyState()
end_game = False
while not end_game:
for event in pygame.event.get():
if event.type == pygame.QUIT:
end_game = True
ks.update()
r, g, b = 255, 255, 255
if ks.get_key(pygame.K_w):
loop_anim_index = int(20) % 4
after = 0
elif ks.get_key(pygame.K_a):
loop_anim_index = int(21) % 4
after = 1
elif ks.get_key(pygame.K_d):
loop_anim_index = int(22) % 4
after = 2
elif ks.get_key(pygame.K_s):
loop_anim_index = int(23) % 4
after = 3
else:
loop_anim_index = int(23) % 4
after = 3
if before != after:
se.play() # SEの再生
before = after
screen.fill((r,g,b))
#screen.blit(img_char1, (x, 50), (27 * loop_anim_index, 0, 27, 16))
screen.blit(img_char2, (x, 150), (163 * loop_anim_index, 0, 163, 96))
pygame.display.flip()
clock.tick(60)
sys.exit(0)
いろいろなプログラムを参考にして適当に描いたので、ぐちゃぐちゃですが許してください。
コメントアウトしている文では、小さいほうのアニメーションを動かせます。
・素材


今回はサイズ違いの二つのものを作りました。画力がないので微妙ですが。
博麗霊夢が旗をパタパタしてるように見えたらいいです。
・動作
映像のようにWを押すと両手をA,Dを押すとそれぞれ右手と左手を挙げてくれます。ちさと@chisao_62
博麗霊夢が旗を揚げてくれる何かを作った https://t.co/GinWoEw36X
2018/10/17 12:51:56
今回は製作実験のためにPygameを使いました。ソフトの素材はほとんどできていると思うので、ハードの制作とソフトの合成?を進めていきたいです。
それではまた今度。