Q&A
前提
現在、パックマンプログラムを作っているのですが、画像が動いているだけでパックマンがパクパクしてくれません。進む方向を変えても違和感なくパクパクさせるにはパラパラ漫画のようにgifアニメにすればよいのでしょうか。またはfor文で2枚の画像をループさせればいいのでしょうか。初心者なためわかりやすく教えていただけると幸いです。
実現したいこと
パックマンをパクパクさせたい
該当のソースコード
# pygameを読み込む import pygame # 画面のサイズ SCREEN_WIDTH = 800 SCREEN_HEIGHT = 576 # 色をRGBで定義。RGB: Red, Green, Blueの値を0~255の256段階で表す BLACK = (0,0,0) WHITE = (255,255,255) class Player(pygame.sprite.Sprite): """ プレイヤーを定義するクラス """ change_x = 0 change_y = 0 explosion = False game_over = False def __init__(self,x,y,filename): """ 初期化関数 """ pygame.sprite.Sprite.__init__(self) # 画像ファイルを読み込み self.image = pygame.image.load(filename).convert() # colorkeyに黒を設定 self.image.set_colorkey(BLACK) # 画像を囲む四角形を取得 self.rect = self.image.get_rect() # 画像の左上すみの座標を設定 self.rect.topleft = (x,y) img = pygame.image.load("player.png").convert() img = pygame.image.load("player2.png").convert() # 右移動のアニメーション self.move_right_animation = Animation(img,32,32) # 左移動のアニメーション。画像が水平反転する self.move_left_animation = Animation(pygame.transform.flip(img,True,False),32,32) # 上移動のアニメーション。90度回転 self.move_up_animation = Animation(pygame.transform.rotate(img,90),32,32) # 下移動のアニメーション。270度回転 self.move_down_animation = Animation(pygame.transform.rotate(img,270),32,32) # 敵と衝突したときの爆発アニメーション self.explosion_animation = Animation(img,30,30) # プレイヤーの画像を読み込む self.player_image = pygame.image.load(filename).convert() self.player_image.set_colorkey(BLACK)
試したこと
while文やfor文を試したのですが、おそらく書き方が間違っていたためうまく動作しなかったようです。
補足情報(FW/ツールのバージョンなど)
ベースとなっているコードは直也テックさんのこちらの動画になります
https://youtu.be/V2u1FRjIuD4
回答1件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。