2016-09-18 6 views
0

誰かがpyganimを使用してスプライトシートのアニメーションを表示していて、なぜ私のコードがアニメーションを表示していないのかを教えてくれる場合は、読み込んでいただきましてありがとうございます。座標を移動して塗りつぶし色を変更しようとしました。何も動作していないと私はエラーが発生していないので、私は問題が何であるか分からない。pyganimを使ったスプライトシートのアニメーション、なぜ私のスプライトは表示されませんか?

import pygame 
    from pygame.locals import * 
    import time 
    import random 
    import pyganim 
    import sys 
    import os 


    rects = [(0, 154, 94, 77), 
      (94, 154, 94, 77), 
      (188, 154, 94, 77), 
      (282, 154, 94, 77), 
      (376, 154, 94, 77), 
      (470, 154, 94, 77), 
      (564, 154, 94, 77), 
      (658, 154, 94, 77),] 
    file_name = ('explosion1.png') 
    images = pyganim.getImagesFromSpriteSheet(file_name, rects = rects) 
    frames = list (zip(images, [100] * len(images))) 
    animObj = pyganim.PygAnimation(frames) 
    animObj.play() 
    white = (255, 255, 255) 
    black = (0, 0, 0) 
    pygame.init() 
    display_width = 800 
    display_height = 600 
    gameDisplay = pygame.display.set_mode((display_width, display_height)) 
    pygame.display.set_caption('sprite animations') 
    clock = pygame.time.Clock() 
    def game_loop(): 
     gameDisplay.fill(black) 
     gameExit = False 
     while not gameExit: 
      for event in pygame.event.get(): 
       if event.type == pygame.QUIT: 
        gameExit = True 
      animObj.blit(gameDisplay,(100, 50)) 

      pygame.display.update() 
      clock.tick(15) 

    game_loop() 
    pygame.quit() 
    quit() 
+0

pygame.display.flip()を呼び出しましたか? –

+0

私はスプライトシートを変更しましたが、その幅と高さなどは2枚のシートの間で同じではないのでまだまだ混乱していますが、今は最初のものが動作していないか、です。 – Feline

+0

pygame.display.update()は、私が間違っている場合に私を修正します、同じことです。 – Feline

答えて

1

スプライトは、悪かったシートを変更しなければならなかった、と私gameDisplay.fill(..)は、whileループの外にいました!

関連する問題